//+build !noasm !appengine
// AUTO-GENERATED BY C2GOASM -- DO NOT EDIT
DATA LCDATA1<>+0x000(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA1<>+0x008(SB)/8, $0x00ff00ff00ff00ff
GLOBL LCDATA1<>(SB), 8, $16
TEXT ยท_arithmetic_binary_sse4(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_367
LONG $0x02fe8040 // cmp sil, 2
JNE LBB0_1013
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB0_719
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB0_6
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB0_760
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_776
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_792
WORD $0xf631 // xor esi, esi
LBB0_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 LBB0_803
LBB0_802:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_802
LBB0_803:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_804:
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_804
JMP LBB0_1013
LBB0_11:
LONG $0x15fe8040 // cmp sil, 21
JE LBB0_194
LONG $0x16fe8040 // cmp sil, 22
JE LBB0_540
LONG $0x17fe8040 // cmp sil, 23
JNE LBB0_1013
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB0_869
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB0_16
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB0_910
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_926
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_942
WORD $0xf631 // xor esi, esi
LBB0_951:
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_953
LBB0_952:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_952
LBB0_953:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_954:
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_954
JMP LBB0_1013
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_75
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_91
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_107
WORD $0xf631 // xor esi, esi
LBB0_116:
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_118
LBB0_117:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_117
LBB0_118:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_119:
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_119
JMP LBB0_1013
LBB0_367:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB0_380
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB0_369
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB0_421
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_437
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_453
WORD $0xf631 // xor esi, esi
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:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_463
LBB0_464:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_465:
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_465
JMP LBB0_1013
LBB0_194:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB0_207
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB0_196
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB0_248
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_264
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_280
WORD $0xf631 // xor esi, esi
LBB0_289:
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_291
LBB0_290:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_290
LBB0_291:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_292:
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_292
JMP LBB0_1013
LBB0_540:
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JG LBB0_553
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JLE LBB0_542
WORD $0xff83; BYTE $0x04 // cmp edi, 4
JE LBB0_594
WORD $0xff83; BYTE $0x05 // cmp edi, 5
JE LBB0_610
WORD $0xff83; BYTE $0x06 // cmp edi, 6
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_626
WORD $0xf631 // xor esi, esi
LBB0_635:
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_637
LBB0_636:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_636
LBB0_637:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_638:
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_638
JMP LBB0_1013
LBB0_719:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_720
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_826
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_834
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_850
WORD $0xf631 // xor esi, esi
LBB0_859:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_861
LBB0_860:
LONG $0x04100ff2; BYTE $0xf1 // movsd xmm0, qword [rcx + 8*rsi]
LONG $0x04590ff2; BYTE $0xf2 // mulsd xmm0, qword [rdx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_860
LBB0_861:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_862:
LONG $0x04100ff2; BYTE $0xf1 // movsd xmm0, qword [rcx + 8*rsi]
LONG $0x04590ff2; BYTE $0xf2 // mulsd xmm0, qword [rdx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x44100ff2; WORD $0x08f1 // movsd xmm0, qword [rcx + 8*rsi + 8]
LONG $0x44590ff2; WORD $0x08f2 // mulsd xmm0, qword [rdx + 8*rsi + 8]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x44100ff2; WORD $0x10f1 // movsd xmm0, qword [rcx + 8*rsi + 16]
LONG $0x44590ff2; WORD $0x10f2 // mulsd xmm0, qword [rdx + 8*rsi + 16]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x44100ff2; WORD $0x18f1 // movsd xmm0, qword [rcx + 8*rsi + 24]
LONG $0x44590ff2; WORD $0x18f2 // mulsd xmm0, qword [rdx + 8*rsi + 24]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x18 // movsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_862
JMP LBB0_1013
LBB0_869:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_870
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_976
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_984
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_1000
WORD $0xf631 // xor esi, esi
LBB0_1009:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_1011
LBB0_1010:
LONG $0x04100ff2; BYTE $0xf1 // movsd xmm0, qword [rcx + 8*rsi]
LONG $0x04590ff2; BYTE $0xf2 // mulsd xmm0, qword [rdx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_1010
LBB0_1011:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_1012:
LONG $0x04100ff2; BYTE $0xf1 // movsd xmm0, qword [rcx + 8*rsi]
LONG $0x04590ff2; BYTE $0xf2 // mulsd xmm0, qword [rdx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x44100ff2; WORD $0x08f1 // movsd xmm0, qword [rcx + 8*rsi + 8]
LONG $0x44590ff2; WORD $0x08f2 // mulsd xmm0, qword [rdx + 8*rsi + 8]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x44100ff2; WORD $0x10f1 // movsd xmm0, qword [rcx + 8*rsi + 16]
LONG $0x44590ff2; WORD $0x10f2 // mulsd xmm0, qword [rdx + 8*rsi + 16]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x44100ff2; WORD $0x18f1 // movsd xmm0, qword [rcx + 8*rsi + 24]
LONG $0x44590ff2; WORD $0x18f2 // mulsd xmm0, qword [rdx + 8*rsi + 24]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x18 // movsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_1012
JMP LBB0_1013
LBB0_34:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_35
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_149
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_165
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_181
WORD $0xf631 // xor esi, esi
LBB0_190:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_192
LBB0_191:
LONG $0x04100ff2; BYTE $0xf1 // movsd xmm0, qword [rcx + 8*rsi]
LONG $0x04580ff2; BYTE $0xf2 // addsd xmm0, qword [rdx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_191
LBB0_192:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_193:
LONG $0x04100ff2; BYTE $0xf1 // movsd xmm0, qword [rcx + 8*rsi]
LONG $0x04580ff2; BYTE $0xf2 // addsd xmm0, qword [rdx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x44100ff2; WORD $0x08f1 // movsd xmm0, qword [rcx + 8*rsi + 8]
LONG $0x44580ff2; WORD $0x08f2 // addsd xmm0, qword [rdx + 8*rsi + 8]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x44100ff2; WORD $0x10f1 // movsd xmm0, qword [rcx + 8*rsi + 16]
LONG $0x44580ff2; WORD $0x10f2 // addsd xmm0, qword [rdx + 8*rsi + 16]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x44100ff2; WORD $0x18f1 // movsd xmm0, qword [rcx + 8*rsi + 24]
LONG $0x44580ff2; WORD $0x18f2 // addsd xmm0, qword [rdx + 8*rsi + 24]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x18 // movsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_193
JMP LBB0_1013
LBB0_380:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_381
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_495
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_511
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_527
WORD $0xf631 // xor esi, esi
LBB0_536:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_538
LBB0_537:
LONG $0x04100ff2; BYTE $0xf2 // movsd xmm0, qword [rdx + 8*rsi]
LONG $0x045c0ff2; BYTE $0xf1 // subsd xmm0, qword [rcx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_537
LBB0_538:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_539:
LONG $0x04100ff2; BYTE $0xf2 // movsd xmm0, qword [rdx + 8*rsi]
LONG $0x045c0ff2; BYTE $0xf1 // subsd xmm0, qword [rcx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x44100ff2; WORD $0x08f2 // movsd xmm0, qword [rdx + 8*rsi + 8]
LONG $0x445c0ff2; WORD $0x08f1 // subsd xmm0, qword [rcx + 8*rsi + 8]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x44100ff2; WORD $0x10f2 // movsd xmm0, qword [rdx + 8*rsi + 16]
LONG $0x445c0ff2; WORD $0x10f1 // subsd xmm0, qword [rcx + 8*rsi + 16]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x44100ff2; WORD $0x18f2 // movsd xmm0, qword [rdx + 8*rsi + 24]
LONG $0x445c0ff2; WORD $0x18f1 // subsd xmm0, qword [rcx + 8*rsi + 24]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x18 // movsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_539
JMP LBB0_1013
LBB0_207:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_208
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_322
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_338
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_354
WORD $0xf631 // xor esi, esi
LBB0_363:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_365
LBB0_364:
LONG $0x04100ff2; BYTE $0xf1 // movsd xmm0, qword [rcx + 8*rsi]
LONG $0x04580ff2; BYTE $0xf2 // addsd xmm0, qword [rdx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_364
LBB0_365:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_366:
LONG $0x04100ff2; BYTE $0xf1 // movsd xmm0, qword [rcx + 8*rsi]
LONG $0x04580ff2; BYTE $0xf2 // addsd xmm0, qword [rdx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x44100ff2; WORD $0x08f1 // movsd xmm0, qword [rcx + 8*rsi + 8]
LONG $0x44580ff2; WORD $0x08f2 // addsd xmm0, qword [rdx + 8*rsi + 8]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x44100ff2; WORD $0x10f1 // movsd xmm0, qword [rcx + 8*rsi + 16]
LONG $0x44580ff2; WORD $0x10f2 // addsd xmm0, qword [rdx + 8*rsi + 16]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x44100ff2; WORD $0x18f1 // movsd xmm0, qword [rcx + 8*rsi + 24]
LONG $0x44580ff2; WORD $0x18f2 // addsd xmm0, qword [rdx + 8*rsi + 24]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x18 // movsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_366
JMP LBB0_1013
LBB0_553:
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JLE LBB0_554
WORD $0xff83; BYTE $0x09 // cmp edi, 9
JE LBB0_668
WORD $0xff83; BYTE $0x0b // cmp edi, 11
JE LBB0_684
WORD $0xff83; BYTE $0x0c // cmp edi, 12
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_700
WORD $0xf631 // xor esi, esi
LBB0_709:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_711
LBB0_710:
LONG $0x04100ff2; BYTE $0xf2 // movsd xmm0, qword [rdx + 8*rsi]
LONG $0x045c0ff2; BYTE $0xf1 // subsd xmm0, qword [rcx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_710
LBB0_711:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_712:
LONG $0x04100ff2; BYTE $0xf2 // movsd xmm0, qword [rdx + 8*rsi]
LONG $0x045c0ff2; BYTE $0xf1 // subsd xmm0, qword [rcx + 8*rsi]
LONG $0x110f41f2; WORD $0xf004 // movsd qword [r8 + 8*rsi], xmm0
LONG $0x44100ff2; WORD $0x08f2 // movsd xmm0, qword [rdx + 8*rsi + 8]
LONG $0x445c0ff2; WORD $0x08f1 // subsd xmm0, qword [rcx + 8*rsi + 8]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm0
LONG $0x44100ff2; WORD $0x10f2 // movsd xmm0, qword [rdx + 8*rsi + 16]
LONG $0x445c0ff2; WORD $0x10f1 // subsd xmm0, qword [rcx + 8*rsi + 16]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm0
LONG $0x44100ff2; WORD $0x18f2 // movsd xmm0, qword [rdx + 8*rsi + 24]
LONG $0x445c0ff2; WORD $0x18f1 // subsd xmm0, qword [rcx + 8*rsi + 24]
LONG $0x110f41f2; WORD $0xf044; BYTE $0x18 // movsd qword [r8 + 8*rsi + 24], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_712
JMP LBB0_1013
LBB0_6:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_731
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_747
WORD $0xff31 // xor edi, edi
LBB0_756:
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_758
LBB0_757:
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_757
LBB0_758:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_759:
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_759
JMP LBB0_1013
LBB0_16:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_881
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_897
WORD $0xff31 // xor edi, edi
LBB0_906:
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_908
LBB0_907:
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_907
LBB0_908:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_909:
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_909
JMP LBB0_1013
LBB0_23:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_46
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_62
WORD $0xf631 // xor esi, esi
LBB0_71:
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_73
LBB0_72:
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_72
LBB0_73:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_74:
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_74
JMP LBB0_1013
LBB0_369:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_392
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_408
WORD $0xf631 // xor esi, esi
LBB0_417:
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_419
LBB0_418:
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_418
LBB0_419:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_420:
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_420
JMP LBB0_1013
LBB0_196:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_219
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_235
WORD $0xf631 // xor esi, esi
LBB0_244:
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_246
LBB0_245:
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_245
LBB0_246:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_247:
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_247
JMP LBB0_1013
LBB0_542:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB0_565
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_581
WORD $0xf631 // xor esi, esi
LBB0_590:
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_592
LBB0_591:
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_591
LBB0_592:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_593:
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_593
JMP LBB0_1013
LBB0_720:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_805
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB0_821
WORD $0xff31 // xor edi, edi
JMP LBB0_823
LBB0_870:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_955
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB0_971
WORD $0xff31 // xor edi, edi
JMP LBB0_973
LBB0_35:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_120
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_136
WORD $0xf631 // xor esi, esi
LBB0_145:
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_147
LBB0_146:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_146
LBB0_147:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_148:
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_148
JMP LBB0_1013
LBB0_381:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_466
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_482
WORD $0xf631 // xor esi, esi
LBB0_491:
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_493
LBB0_492:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_492
LBB0_493:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_494:
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_494
JMP LBB0_1013
LBB0_208:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_293
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_309
WORD $0xf631 // xor esi, esi
LBB0_318:
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_320
LBB0_319:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_319
LBB0_320:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_321:
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_321
JMP LBB0_1013
LBB0_554:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_639
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_1013
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_655
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_666
LBB0_665:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_665
LBB0_666:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_667:
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_667
JMP LBB0_1013
LBB0_760:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_763
WORD $0xf631 // xor esi, esi
LBB0_772:
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_774
LBB0_773:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_773
LBB0_774:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_775:
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_775
JMP LBB0_1013
LBB0_776:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_779
WORD $0xf631 // xor esi, esi
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_790
LBB0_789:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_789
LBB0_790:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_791:
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_791
JMP LBB0_1013
LBB0_910:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_913
WORD $0xf631 // xor esi, esi
LBB0_922:
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_924
LBB0_923:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_923
LBB0_924:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_925:
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_925
JMP LBB0_1013
LBB0_926:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_929
WORD $0xf631 // xor esi, esi
LBB0_938:
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_940
LBB0_939:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_939
LBB0_940:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_941:
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_941
JMP LBB0_1013
LBB0_75:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_78
WORD $0xf631 // xor esi, esi
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_89
LBB0_88:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_88
LBB0_89:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
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_1013
LBB0_91:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_94
WORD $0xf631 // xor esi, esi
LBB0_103:
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_105
LBB0_104:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_104
LBB0_105:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_106:
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_106
JMP LBB0_1013
LBB0_421:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_424
WORD $0xf631 // xor esi, esi
LBB0_433:
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_435
LBB0_434:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_434
LBB0_435:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_436:
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_436
JMP LBB0_1013
LBB0_437:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_440
WORD $0xf631 // xor esi, esi
LBB0_449:
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_451
LBB0_450:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_450
LBB0_451:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_452:
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_452
JMP LBB0_1013
LBB0_248:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_251
WORD $0xf631 // xor esi, esi
LBB0_260:
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_262
LBB0_261:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_261
LBB0_262:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_263:
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_263
JMP LBB0_1013
LBB0_264:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_267
WORD $0xf631 // xor esi, esi
LBB0_276:
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_278
LBB0_277:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_277
LBB0_278:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_279:
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_279
JMP LBB0_1013
LBB0_594:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_597
WORD $0xf631 // xor esi, esi
LBB0_606:
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_608
LBB0_607:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_607
LBB0_608:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_609:
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_609
JMP LBB0_1013
LBB0_610:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JAE LBB0_613
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_624
LBB0_623:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_623
LBB0_624:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_625:
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_625
JMP LBB0_1013
LBB0_826:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB0_829
WORD $0xff31 // xor edi, edi
JMP LBB0_831
LBB0_834:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_837
WORD $0xf631 // xor esi, esi
LBB0_846:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_848
LBB0_847:
LONG $0x04100ff3; BYTE $0xb1 // movss xmm0, dword [rcx + 4*rsi]
LONG $0x04590ff3; BYTE $0xb2 // mulss xmm0, dword [rdx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_847
LBB0_848:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_849:
LONG $0x04100ff3; BYTE $0xb1 // movss xmm0, dword [rcx + 4*rsi]
LONG $0x04590ff3; BYTE $0xb2 // mulss xmm0, dword [rdx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x44100ff3; WORD $0x04b1 // movss xmm0, dword [rcx + 4*rsi + 4]
LONG $0x44590ff3; WORD $0x04b2 // mulss xmm0, dword [rdx + 4*rsi + 4]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x04 // movss dword [r8 + 4*rsi + 4], xmm0
LONG $0x44100ff3; WORD $0x08b1 // movss xmm0, dword [rcx + 4*rsi + 8]
LONG $0x44590ff3; WORD $0x08b2 // mulss xmm0, dword [rdx + 4*rsi + 8]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x08 // movss dword [r8 + 4*rsi + 8], xmm0
LONG $0x44100ff3; WORD $0x0cb1 // movss xmm0, dword [rcx + 4*rsi + 12]
LONG $0x44590ff3; WORD $0x0cb2 // mulss xmm0, dword [rdx + 4*rsi + 12]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x0c // movss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_849
JMP LBB0_1013
LBB0_976:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB0_979
WORD $0xff31 // xor edi, edi
JMP LBB0_981
LBB0_984:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_987
WORD $0xf631 // xor esi, esi
LBB0_996:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_998
LBB0_997:
LONG $0x04100ff3; BYTE $0xb1 // movss xmm0, dword [rcx + 4*rsi]
LONG $0x04590ff3; BYTE $0xb2 // mulss xmm0, dword [rdx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_997
LBB0_998:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_999:
LONG $0x04100ff3; BYTE $0xb1 // movss xmm0, dword [rcx + 4*rsi]
LONG $0x04590ff3; BYTE $0xb2 // mulss xmm0, dword [rdx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x44100ff3; WORD $0x04b1 // movss xmm0, dword [rcx + 4*rsi + 4]
LONG $0x44590ff3; WORD $0x04b2 // mulss xmm0, dword [rdx + 4*rsi + 4]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x04 // movss dword [r8 + 4*rsi + 4], xmm0
LONG $0x44100ff3; WORD $0x08b1 // movss xmm0, dword [rcx + 4*rsi + 8]
LONG $0x44590ff3; WORD $0x08b2 // mulss xmm0, dword [rdx + 4*rsi + 8]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x08 // movss dword [r8 + 4*rsi + 8], xmm0
LONG $0x44100ff3; WORD $0x0cb1 // movss xmm0, dword [rcx + 4*rsi + 12]
LONG $0x44590ff3; WORD $0x0cb2 // mulss xmm0, dword [rdx + 4*rsi + 12]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x0c // movss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_999
JMP LBB0_1013
LBB0_149:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_152
WORD $0xf631 // xor esi, esi
LBB0_161:
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_163
LBB0_162:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_162
LBB0_163:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_164:
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_164
JMP LBB0_1013
LBB0_165:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_168
WORD $0xf631 // xor esi, esi
LBB0_177:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_179
LBB0_178:
LONG $0x04100ff3; BYTE $0xb1 // movss xmm0, dword [rcx + 4*rsi]
LONG $0x04580ff3; BYTE $0xb2 // addss xmm0, dword [rdx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_178
LBB0_179:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_180:
LONG $0x04100ff3; BYTE $0xb1 // movss xmm0, dword [rcx + 4*rsi]
LONG $0x04580ff3; BYTE $0xb2 // addss xmm0, dword [rdx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x44100ff3; WORD $0x04b1 // movss xmm0, dword [rcx + 4*rsi + 4]
LONG $0x44580ff3; WORD $0x04b2 // addss xmm0, dword [rdx + 4*rsi + 4]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x04 // movss dword [r8 + 4*rsi + 4], xmm0
LONG $0x44100ff3; WORD $0x08b1 // movss xmm0, dword [rcx + 4*rsi + 8]
LONG $0x44580ff3; WORD $0x08b2 // addss xmm0, dword [rdx + 4*rsi + 8]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x08 // movss dword [r8 + 4*rsi + 8], xmm0
LONG $0x44100ff3; WORD $0x0cb1 // movss xmm0, dword [rcx + 4*rsi + 12]
LONG $0x44580ff3; WORD $0x0cb2 // addss xmm0, dword [rdx + 4*rsi + 12]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x0c // movss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_180
JMP LBB0_1013
LBB0_495:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_498
WORD $0xf631 // xor esi, esi
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_509
LBB0_508:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_508
LBB0_509:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_510:
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_510
JMP LBB0_1013
LBB0_511:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_514
WORD $0xf631 // xor esi, esi
LBB0_523:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_525
LBB0_524:
LONG $0x04100ff3; BYTE $0xb2 // movss xmm0, dword [rdx + 4*rsi]
LONG $0x045c0ff3; BYTE $0xb1 // subss xmm0, dword [rcx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_524
LBB0_525:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_526:
LONG $0x04100ff3; BYTE $0xb2 // movss xmm0, dword [rdx + 4*rsi]
LONG $0x045c0ff3; BYTE $0xb1 // subss xmm0, dword [rcx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x44100ff3; WORD $0x04b2 // movss xmm0, dword [rdx + 4*rsi + 4]
LONG $0x445c0ff3; WORD $0x04b1 // subss xmm0, dword [rcx + 4*rsi + 4]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x04 // movss dword [r8 + 4*rsi + 4], xmm0
LONG $0x44100ff3; WORD $0x08b2 // movss xmm0, dword [rdx + 4*rsi + 8]
LONG $0x445c0ff3; WORD $0x08b1 // subss xmm0, dword [rcx + 4*rsi + 8]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x08 // movss dword [r8 + 4*rsi + 8], xmm0
LONG $0x44100ff3; WORD $0x0cb2 // movss xmm0, dword [rdx + 4*rsi + 12]
LONG $0x445c0ff3; WORD $0x0cb1 // subss xmm0, dword [rcx + 4*rsi + 12]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x0c // movss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_526
JMP LBB0_1013
LBB0_322:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_325
WORD $0xf631 // xor esi, esi
LBB0_334:
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_336
LBB0_335:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_335
LBB0_336:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_337:
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_337
JMP LBB0_1013
LBB0_338:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_341
WORD $0xf631 // xor esi, esi
LBB0_350:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_352
LBB0_351:
LONG $0x04100ff3; BYTE $0xb1 // movss xmm0, dword [rcx + 4*rsi]
LONG $0x04580ff3; BYTE $0xb2 // addss xmm0, dword [rdx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_351
LBB0_352:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_353:
LONG $0x04100ff3; BYTE $0xb1 // movss xmm0, dword [rcx + 4*rsi]
LONG $0x04580ff3; BYTE $0xb2 // addss xmm0, dword [rdx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x44100ff3; WORD $0x04b1 // movss xmm0, dword [rcx + 4*rsi + 4]
LONG $0x44580ff3; WORD $0x04b2 // addss xmm0, dword [rdx + 4*rsi + 4]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x04 // movss dword [r8 + 4*rsi + 4], xmm0
LONG $0x44100ff3; WORD $0x08b1 // movss xmm0, dword [rcx + 4*rsi + 8]
LONG $0x44580ff3; WORD $0x08b2 // addss xmm0, dword [rdx + 4*rsi + 8]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x08 // movss dword [r8 + 4*rsi + 8], xmm0
LONG $0x44100ff3; WORD $0x0cb1 // movss xmm0, dword [rcx + 4*rsi + 12]
LONG $0x44580ff3; WORD $0x0cb2 // addss xmm0, dword [rdx + 4*rsi + 12]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x0c // movss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_353
JMP LBB0_1013
LBB0_668:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB0_671
WORD $0xf631 // xor esi, esi
LBB0_680:
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_682
LBB0_681:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_681
LBB0_682:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_683:
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_683
JMP LBB0_1013
LBB0_684:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_687
WORD $0xf631 // xor esi, esi
LBB0_696:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
WORD $0x014c; BYTE $0xd0 // add rax, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB0_698
LBB0_697:
LONG $0x04100ff3; BYTE $0xb2 // movss xmm0, dword [rdx + 4*rsi]
LONG $0x045c0ff3; BYTE $0xb1 // subss xmm0, dword [rcx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_697
LBB0_698:
LONG $0x03f88348 // cmp rax, 3
JB LBB0_1013
LBB0_699:
LONG $0x04100ff3; BYTE $0xb2 // movss xmm0, dword [rdx + 4*rsi]
LONG $0x045c0ff3; BYTE $0xb1 // subss xmm0, dword [rcx + 4*rsi]
LONG $0x110f41f3; WORD $0xb004 // movss dword [r8 + 4*rsi], xmm0
LONG $0x44100ff3; WORD $0x04b2 // movss xmm0, dword [rdx + 4*rsi + 4]
LONG $0x445c0ff3; WORD $0x04b1 // subss xmm0, dword [rcx + 4*rsi + 4]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x04 // movss dword [r8 + 4*rsi + 4], xmm0
LONG $0x44100ff3; WORD $0x08b2 // movss xmm0, dword [rdx + 4*rsi + 8]
LONG $0x445c0ff3; WORD $0x08b1 // subss xmm0, dword [rcx + 4*rsi + 8]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x08 // movss dword [r8 + 4*rsi + 8], xmm0
LONG $0x44100ff3; WORD $0x0cb2 // movss xmm0, dword [rdx + 4*rsi + 12]
LONG $0x445c0ff3; WORD $0x0cb1 // subss xmm0, dword [rcx + 4*rsi + 12]
LONG $0x110f41f3; WORD $0xb044; BYTE $0x0c // movss dword [r8 + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB0_699
JMP LBB0_1013
LBB0_731:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_734
WORD $0xff31 // xor edi, edi
LBB0_743:
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_745
LBB0_744:
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_744
LBB0_745:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_746:
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_746
JMP LBB0_1013
LBB0_881:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_884
WORD $0xff31 // xor edi, edi
LBB0_893:
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_895
LBB0_894:
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_894
LBB0_895:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_896:
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_896
JMP LBB0_1013
LBB0_46:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_49
WORD $0xf631 // xor esi, esi
LBB0_58:
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_60
LBB0_59:
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_59
LBB0_60:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_61:
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_61
JMP LBB0_1013
LBB0_392:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_395
WORD $0xf631 // xor esi, esi
LBB0_404:
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_406
LBB0_405:
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_405
LBB0_406:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_407:
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_407
JMP LBB0_1013
LBB0_219:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_222
WORD $0xf631 // xor esi, esi
LBB0_231:
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_233
LBB0_232:
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_232
LBB0_233:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_234:
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_234
JMP LBB0_1013
LBB0_565:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JAE LBB0_568
WORD $0xf631 // xor esi, esi
LBB0_577:
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_579
LBB0_578:
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_578
LBB0_579:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_580:
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_580
JMP LBB0_1013
LBB0_805:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_808
WORD $0xf631 // xor esi, esi
LBB0_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 LBB0_819
LBB0_818:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_818
LBB0_819:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_820:
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_820
JMP LBB0_1013
LBB0_955:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_958
WORD $0xf631 // xor esi, esi
LBB0_967:
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_969
LBB0_968:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_968
LBB0_969:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_970:
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_970
JMP LBB0_1013
LBB0_120:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_123
WORD $0xf631 // xor esi, esi
LBB0_132:
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_134
LBB0_133:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_133
LBB0_134:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_135:
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_135
JMP LBB0_1013
LBB0_466:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_469
WORD $0xf631 // xor esi, esi
LBB0_478:
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_480
LBB0_479:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_479
LBB0_480:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_481:
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_481
JMP LBB0_1013
LBB0_293:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_296
WORD $0xf631 // xor esi, esi
LBB0_305:
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_307
LBB0_306:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_306
LBB0_307:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_308:
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_308
JMP LBB0_1013
LBB0_639:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB0_1013
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB0_642
WORD $0xf631 // xor esi, esi
LBB0_651:
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_653
LBB0_652:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_652
LBB0_653:
LONG $0x03f98349 // cmp r9, 3
JB LBB0_1013
LBB0_654:
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_654
JMP LBB0_1013
LBB0_792:
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_801
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_801
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_795
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_797:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30b9 // movdqu xmm0, oword [rcx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_797
JMP LBB0_798
LBB0_942:
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_951
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_951
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_945
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_947:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30b9 // movdqu xmm0, oword [rcx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_947
JMP LBB0_948
LBB0_107:
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_116
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_116
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_110
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_112:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30b9 // movdqu xmm0, oword [rcx + 4*rdi + 48]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_112
JMP LBB0_113
LBB0_453:
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_462
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_462
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_456
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_458:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb804 // movdqu oword [r8 + 4*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_458
JMP LBB0_459
LBB0_280:
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_289
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_289
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_283
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_285:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30b9 // movdqu xmm0, oword [rcx + 4*rdi + 48]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_285
JMP LBB0_286
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_635
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_635
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_629
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_631:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb804 // movdqu oword [r8 + 4*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_631
JMP LBB0_632
LBB0_850:
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_859
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_859
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 LBB0_853
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_855:
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xd0590f66 // mulpd xmm2, xmm0
LONG $0x44100f66; WORD $0x10f9 // movupd xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1590f66 // mulpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm0
LONG $0x44100f66; WORD $0x20fa // movupd xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c100f66; WORD $0x30fa // movupd xmm1, oword [rdx + 8*rdi + 48]
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0xd0590f66 // mulpd xmm2, xmm0
LONG $0x44100f66; WORD $0x30f9 // movupd xmm0, oword [rcx + 8*rdi + 48]
LONG $0xc1590f66 // mulpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_855
JMP LBB0_856
LBB0_1000:
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_1009
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_1009
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 LBB0_1003
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_1005:
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xd0590f66 // mulpd xmm2, xmm0
LONG $0x44100f66; WORD $0x10f9 // movupd xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1590f66 // mulpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm0
LONG $0x44100f66; WORD $0x20fa // movupd xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c100f66; WORD $0x30fa // movupd xmm1, oword [rdx + 8*rdi + 48]
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0xd0590f66 // mulpd xmm2, xmm0
LONG $0x44100f66; WORD $0x30f9 // movupd xmm0, oword [rcx + 8*rdi + 48]
LONG $0xc1590f66 // mulpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_1005
JMP LBB0_1006
LBB0_181:
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_190
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_190
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 LBB0_184
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_186:
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xd0580f66 // addpd xmm2, xmm0
LONG $0x44100f66; WORD $0x10f9 // movupd xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1580f66 // addpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm0
LONG $0x44100f66; WORD $0x20fa // movupd xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c100f66; WORD $0x30fa // movupd xmm1, oword [rdx + 8*rdi + 48]
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0xd0580f66 // addpd xmm2, xmm0
LONG $0x44100f66; WORD $0x30f9 // movupd xmm0, oword [rcx + 8*rdi + 48]
LONG $0xc1580f66 // addpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_186
JMP LBB0_187
LBB0_527:
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_536
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_536
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 LBB0_530
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_532:
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xc25c0f66 // subpd xmm0, xmm2
LONG $0x54100f66; WORD $0x10f9 // movupd xmm2, oword [rcx + 8*rdi + 16]
LONG $0xca5c0f66 // subpd xmm1, xmm2
LONG $0x110f4166; WORD $0xf804 // movupd oword [r8 + 8*rdi], xmm0
LONG $0x110f4166; WORD $0xf84c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm1
LONG $0x44100f66; WORD $0x20fa // movupd xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c100f66; WORD $0x30fa // movupd xmm1, oword [rdx + 8*rdi + 48]
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0xc25c0f66 // subpd xmm0, xmm2
LONG $0x54100f66; WORD $0x30f9 // movupd xmm2, oword [rcx + 8*rdi + 48]
LONG $0xca5c0f66 // subpd xmm1, xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm0
LONG $0x110f4166; WORD $0xf84c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_532
JMP LBB0_533
LBB0_354:
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_363
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_363
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 LBB0_357
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_359:
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xd0580f66 // addpd xmm2, xmm0
LONG $0x44100f66; WORD $0x10f9 // movupd xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1580f66 // addpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm0
LONG $0x44100f66; WORD $0x20fa // movupd xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c100f66; WORD $0x30fa // movupd xmm1, oword [rdx + 8*rdi + 48]
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0xd0580f66 // addpd xmm2, xmm0
LONG $0x44100f66; WORD $0x30f9 // movupd xmm0, oword [rcx + 8*rdi + 48]
LONG $0xc1580f66 // addpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_359
JMP LBB0_360
LBB0_700:
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_709
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_709
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 LBB0_703
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_705:
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xc25c0f66 // subpd xmm0, xmm2
LONG $0x54100f66; WORD $0x10f9 // movupd xmm2, oword [rcx + 8*rdi + 16]
LONG $0xca5c0f66 // subpd xmm1, xmm2
LONG $0x110f4166; WORD $0xf804 // movupd oword [r8 + 8*rdi], xmm0
LONG $0x110f4166; WORD $0xf84c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm1
LONG $0x44100f66; WORD $0x20fa // movupd xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c100f66; WORD $0x30fa // movupd xmm1, oword [rdx + 8*rdi + 48]
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0xc25c0f66 // subpd xmm0, xmm2
LONG $0x54100f66; WORD $0x30f9 // movupd xmm2, oword [rcx + 8*rdi + 48]
LONG $0xca5c0f66 // subpd xmm1, xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm0
LONG $0x110f4166; WORD $0xf84c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_705
JMP LBB0_706
LBB0_747:
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_756
WORD $0x2040; BYTE $0xf0 // and al, sil
JNE LBB0_756
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_750
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0x456f0f66; BYTE $0x00 // movdqa xmm0, oword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_752:
LONG $0x0c6f0ff3; BYTE $0x02 // movdqu xmm1, oword [rdx + rax]
LONG $0x546f0ff3; WORD $0x1002 // movdqu xmm2, oword [rdx + rax + 16]
LONG $0x1c6f0ff3; BYTE $0x01 // movdqu xmm3, oword [rcx + rax]
LONG $0x646f0ff3; WORD $0x1001 // movdqu xmm4, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xe9 // pmovzxbw xmm5, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xf3 // pmovzxbw xmm6, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xf5d50f66 // pmullw xmm6, xmm5
LONG $0xf0db0f66 // pand xmm6, xmm0
LONG $0xf3670f66 // packuswb xmm6, xmm3
LONG $0x30380f66; BYTE $0xca // pmovzxbw xmm1, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xdc // pmovzxbw xmm3, xmm4
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0xe2d50f66 // pmullw xmm4, xmm2
LONG $0xe0db0f66 // pand xmm4, xmm0
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xdc670f66 // packuswb xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x0034 // movdqu oword [r8 + rax], xmm6
LONG $0x7f0f41f3; WORD $0x005c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm3
LONG $0x4c6f0ff3; WORD $0x2002 // movdqu xmm1, oword [rdx + rax + 32]
LONG $0x546f0ff3; WORD $0x3002 // movdqu xmm2, oword [rdx + rax + 48]
LONG $0x5c6f0ff3; WORD $0x2001 // movdqu xmm3, oword [rcx + rax + 32]
LONG $0x646f0ff3; WORD $0x3001 // movdqu xmm4, oword [rcx + rax + 48]
LONG $0x30380f66; BYTE $0xe9 // pmovzxbw xmm5, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xf3 // pmovzxbw xmm6, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xf5d50f66 // pmullw xmm6, xmm5
LONG $0xf0db0f66 // pand xmm6, xmm0
LONG $0xf3670f66 // packuswb xmm6, xmm3
LONG $0x30380f66; BYTE $0xca // pmovzxbw xmm1, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xdc // pmovzxbw xmm3, xmm4
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0xe2d50f66 // pmullw xmm4, xmm2
LONG $0xe0db0f66 // pand xmm4, xmm0
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xdc670f66 // packuswb xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x0074; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm6
LONG $0x7f0f41f3; WORD $0x005c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm3
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB0_752
JMP LBB0_753
LBB0_897:
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_906
WORD $0x2040; BYTE $0xf0 // and al, sil
JNE LBB0_906
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_900
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0x456f0f66; BYTE $0x00 // movdqa xmm0, oword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_902:
LONG $0x0c6f0ff3; BYTE $0x02 // movdqu xmm1, oword [rdx + rax]
LONG $0x546f0ff3; WORD $0x1002 // movdqu xmm2, oword [rdx + rax + 16]
LONG $0x1c6f0ff3; BYTE $0x01 // movdqu xmm3, oword [rcx + rax]
LONG $0x646f0ff3; WORD $0x1001 // movdqu xmm4, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xe9 // pmovzxbw xmm5, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xf3 // pmovzxbw xmm6, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xf5d50f66 // pmullw xmm6, xmm5
LONG $0xf0db0f66 // pand xmm6, xmm0
LONG $0xf3670f66 // packuswb xmm6, xmm3
LONG $0x30380f66; BYTE $0xca // pmovzxbw xmm1, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xdc // pmovzxbw xmm3, xmm4
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0xe2d50f66 // pmullw xmm4, xmm2
LONG $0xe0db0f66 // pand xmm4, xmm0
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xdc670f66 // packuswb xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x0034 // movdqu oword [r8 + rax], xmm6
LONG $0x7f0f41f3; WORD $0x005c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm3
LONG $0x4c6f0ff3; WORD $0x2002 // movdqu xmm1, oword [rdx + rax + 32]
LONG $0x546f0ff3; WORD $0x3002 // movdqu xmm2, oword [rdx + rax + 48]
LONG $0x5c6f0ff3; WORD $0x2001 // movdqu xmm3, oword [rcx + rax + 32]
LONG $0x646f0ff3; WORD $0x3001 // movdqu xmm4, oword [rcx + rax + 48]
LONG $0x30380f66; BYTE $0xe9 // pmovzxbw xmm5, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xf3 // pmovzxbw xmm6, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xf5d50f66 // pmullw xmm6, xmm5
LONG $0xf0db0f66 // pand xmm6, xmm0
LONG $0xf3670f66 // packuswb xmm6, xmm3
LONG $0x30380f66; BYTE $0xca // pmovzxbw xmm1, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xdc // pmovzxbw xmm3, xmm4
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0xe2d50f66 // pmullw xmm4, xmm2
LONG $0xe0db0f66 // pand xmm4, xmm0
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xdc670f66 // packuswb xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x0074; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm6
LONG $0x7f0f41f3; WORD $0x005c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm3
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB0_902
JMP LBB0_903
LBB0_62:
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_71
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_71
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_65
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_67:
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1039 // movdqu xmm0, oword [rcx + rdi + 16]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3814 // movdqu oword [r8 + rdi], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x203a // movdqu xmm0, oword [rdx + rdi + 32]
LONG $0x4c6f0ff3; WORD $0x303a // movdqu xmm1, oword [rdx + rdi + 48]
LONG $0x546f0ff3; WORD $0x2039 // movdqu xmm2, oword [rcx + rdi + 32]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3039 // movdqu xmm0, oword [rcx + rdi + 48]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm0
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB0_67
JMP LBB0_68
LBB0_408:
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_417
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_417
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_411
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_413:
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3804 // movdqu oword [r8 + rdi], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x203a // movdqu xmm0, oword [rdx + rdi + 32]
LONG $0x4c6f0ff3; WORD $0x303a // movdqu xmm1, oword [rdx + rdi + 48]
LONG $0x546f0ff3; WORD $0x2039 // movdqu xmm2, oword [rcx + rdi + 32]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm1
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB0_413
JMP LBB0_414
LBB0_235:
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_244
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_244
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_238
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_240:
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1039 // movdqu xmm0, oword [rcx + rdi + 16]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3814 // movdqu oword [r8 + rdi], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x203a // movdqu xmm0, oword [rdx + rdi + 32]
LONG $0x4c6f0ff3; WORD $0x303a // movdqu xmm1, oword [rdx + rdi + 48]
LONG $0x546f0ff3; WORD $0x2039 // movdqu xmm2, oword [rcx + rdi + 32]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3039 // movdqu xmm0, oword [rcx + rdi + 48]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm0
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB0_240
JMP LBB0_241
LBB0_581:
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_590
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_590
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_584
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_586:
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3804 // movdqu oword [r8 + rdi], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x203a // movdqu xmm0, oword [rdx + rdi + 32]
LONG $0x4c6f0ff3; WORD $0x303a // movdqu xmm1, oword [rdx + rdi + 48]
LONG $0x546f0ff3; WORD $0x2039 // movdqu xmm2, oword [rcx + rdi + 32]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm1
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB0_586
JMP LBB0_587
LBB0_821:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_822:
LONG $0xf9048b48 // mov rax, qword [rcx + 8*rdi]
LONG $0x04af0f48; BYTE $0xfa // imul rax, qword [rdx + 8*rdi]
LONG $0xf8048949 // mov qword [r8 + 8*rdi], rax
LONG $0xf9448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rdi + 8]
LONG $0x44af0f48; WORD $0x08fa // imul rax, qword [rdx + 8*rdi + 8]
LONG $0xf8448949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rax
LONG $0xf9448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rdi + 16]
LONG $0x44af0f48; WORD $0x10fa // imul rax, qword [rdx + 8*rdi + 16]
LONG $0xf8448949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rax
LONG $0xf9448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rdi + 24]
LONG $0x44af0f48; WORD $0x18fa // imul rax, qword [rdx + 8*rdi + 24]
LONG $0xf8448949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rax
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_822
LBB0_823:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB0_1013
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB0_825:
LONG $0xf9048b48 // mov rax, qword [rcx + 8*rdi]
LONG $0x04af0f48; BYTE $0xfa // imul rax, qword [rdx + 8*rdi]
LONG $0xfe048948 // mov qword [rsi + 8*rdi], rax
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB0_825
JMP LBB0_1013
LBB0_971:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_972:
LONG $0xf9048b48 // mov rax, qword [rcx + 8*rdi]
LONG $0x04af0f48; BYTE $0xfa // imul rax, qword [rdx + 8*rdi]
LONG $0xf8048949 // mov qword [r8 + 8*rdi], rax
LONG $0xf9448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rdi + 8]
LONG $0x44af0f48; WORD $0x08fa // imul rax, qword [rdx + 8*rdi + 8]
LONG $0xf8448949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rax
LONG $0xf9448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rdi + 16]
LONG $0x44af0f48; WORD $0x10fa // imul rax, qword [rdx + 8*rdi + 16]
LONG $0xf8448949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rax
LONG $0xf9448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rdi + 24]
LONG $0x44af0f48; WORD $0x18fa // imul rax, qword [rdx + 8*rdi + 24]
LONG $0xf8448949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rax
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_972
LBB0_973:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB0_1013
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB0_975:
LONG $0xf9048b48 // mov rax, qword [rcx + 8*rdi]
LONG $0x04af0f48; BYTE $0xfa // imul rax, qword [rdx + 8*rdi]
LONG $0xfe048948 // mov qword [rsi + 8*rdi], rax
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB0_975
JMP LBB0_1013
LBB0_136:
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_145
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_145
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 LBB0_139
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_141:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10f9 // movdqu xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf814 // movdqu oword [r8 + 8*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0x546f0ff3; WORD $0x20f9 // movdqu xmm2, oword [rcx + 8*rdi + 32]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30f9 // movdqu xmm0, oword [rcx + 8*rdi + 48]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_141
JMP LBB0_142
LBB0_482:
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_491
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_491
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 LBB0_485
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_487:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf804 // movdqu oword [r8 + 8*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0x546f0ff3; WORD $0x20f9 // movdqu xmm2, oword [rcx + 8*rdi + 32]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_487
JMP LBB0_488
LBB0_309:
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_318
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_318
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 LBB0_312
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_314:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10f9 // movdqu xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf814 // movdqu oword [r8 + 8*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0x546f0ff3; WORD $0x20f9 // movdqu xmm2, oword [rcx + 8*rdi + 32]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30f9 // movdqu xmm0, oword [rcx + 8*rdi + 48]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_314
JMP LBB0_315
LBB0_655:
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 $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 LBB0_658
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_660:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf804 // movdqu oword [r8 + 8*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0x546f0ff3; WORD $0x20f9 // movdqu xmm2, oword [rcx + 8*rdi + 32]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_660
JMP LBB0_661
LBB0_763:
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_772
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_772
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_766
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_768:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3079 // movdqu xmm0, oword [rcx + 2*rdi + 48]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm0
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_768
JMP LBB0_769
LBB0_779:
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_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
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_782
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_784:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3079 // movdqu xmm0, oword [rcx + 2*rdi + 48]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm0
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_784
JMP LBB0_785
LBB0_913:
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_922
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_922
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_916
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_918:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3079 // movdqu xmm0, oword [rcx + 2*rdi + 48]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm0
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_918
JMP LBB0_919
LBB0_929:
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_938
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_938
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_932
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_934:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3079 // movdqu xmm0, oword [rcx + 2*rdi + 48]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm0
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_934
JMP LBB0_935
LBB0_78:
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 $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_81
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_83:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3079 // movdqu xmm0, oword [rcx + 2*rdi + 48]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm0
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_83
JMP LBB0_84
LBB0_94:
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_103
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_103
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_97
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_99:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3079 // movdqu xmm0, oword [rcx + 2*rdi + 48]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm0
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_99
JMP LBB0_100
LBB0_424:
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_433
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_433
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_427
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_429:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7804 // movdqu oword [r8 + 2*rdi], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_429
JMP LBB0_430
LBB0_440:
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_449
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_449
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_443
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_445:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7804 // movdqu oword [r8 + 2*rdi], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_445
JMP LBB0_446
LBB0_251:
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_260
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_260
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_254
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_256:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3079 // movdqu xmm0, oword [rcx + 2*rdi + 48]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm0
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_256
JMP LBB0_257
LBB0_267:
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_276
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_276
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_270
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_272:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3079 // movdqu xmm0, oword [rcx + 2*rdi + 48]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm0
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_272
JMP LBB0_273
LBB0_597:
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_606
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_606
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_600
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_602:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7804 // movdqu oword [r8 + 2*rdi], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_602
JMP LBB0_603
LBB0_613:
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 $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_616
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_618:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7804 // movdqu oword [r8 + 2*rdi], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0x546f0ff3; WORD $0x2079 // movdqu xmm2, oword [rcx + 2*rdi + 32]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_618
JMP LBB0_619
LBB0_829:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_830:
LONG $0xf9048b48 // mov rax, qword [rcx + 8*rdi]
LONG $0x04af0f48; BYTE $0xfa // imul rax, qword [rdx + 8*rdi]
LONG $0xf8048949 // mov qword [r8 + 8*rdi], rax
LONG $0xf9448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rdi + 8]
LONG $0x44af0f48; WORD $0x08fa // imul rax, qword [rdx + 8*rdi + 8]
LONG $0xf8448949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rax
LONG $0xf9448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rdi + 16]
LONG $0x44af0f48; WORD $0x10fa // imul rax, qword [rdx + 8*rdi + 16]
LONG $0xf8448949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rax
LONG $0xf9448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rdi + 24]
LONG $0x44af0f48; WORD $0x18fa // imul rax, qword [rdx + 8*rdi + 24]
LONG $0xf8448949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rax
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_830
LBB0_831:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB0_1013
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB0_833:
LONG $0xf9048b48 // mov rax, qword [rcx + 8*rdi]
LONG $0x04af0f48; BYTE $0xfa // imul rax, qword [rdx + 8*rdi]
LONG $0xfe048948 // mov qword [rsi + 8*rdi], rax
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB0_833
JMP LBB0_1013
LBB0_837:
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_846
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_846
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_840
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_842:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x590f; BYTE $0xd0 // mulps xmm2, xmm0
LONG $0xb944100f; BYTE $0x10 // movups xmm0, oword [rcx + 4*rdi + 16]
WORD $0x590f; BYTE $0xc1 // mulps xmm0, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x44110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm0
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
WORD $0x590f; BYTE $0xd0 // mulps xmm2, xmm0
LONG $0xb944100f; BYTE $0x30 // movups xmm0, oword [rcx + 4*rdi + 48]
WORD $0x590f; BYTE $0xc1 // mulps xmm0, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x44110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_842
JMP LBB0_843
LBB0_979:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_980:
LONG $0xf9048b48 // mov rax, qword [rcx + 8*rdi]
LONG $0x04af0f48; BYTE $0xfa // imul rax, qword [rdx + 8*rdi]
LONG $0xf8048949 // mov qword [r8 + 8*rdi], rax
LONG $0xf9448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rdi + 8]
LONG $0x44af0f48; WORD $0x08fa // imul rax, qword [rdx + 8*rdi + 8]
LONG $0xf8448949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rax
LONG $0xf9448b48; BYTE $0x10 // mov rax, qword [rcx + 8*rdi + 16]
LONG $0x44af0f48; WORD $0x10fa // imul rax, qword [rdx + 8*rdi + 16]
LONG $0xf8448949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rax
LONG $0xf9448b48; BYTE $0x18 // mov rax, qword [rcx + 8*rdi + 24]
LONG $0x44af0f48; WORD $0x18fa // imul rax, qword [rdx + 8*rdi + 24]
LONG $0xf8448949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rax
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_980
LBB0_981:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB0_1013
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB0_983:
LONG $0xf9048b48 // mov rax, qword [rcx + 8*rdi]
LONG $0x04af0f48; BYTE $0xfa // imul rax, qword [rdx + 8*rdi]
LONG $0xfe048948 // mov qword [rsi + 8*rdi], rax
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB0_983
LBB0_1013:
RET
LBB0_987:
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_996
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_996
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_990
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_992:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x590f; BYTE $0xd0 // mulps xmm2, xmm0
LONG $0xb944100f; BYTE $0x10 // movups xmm0, oword [rcx + 4*rdi + 16]
WORD $0x590f; BYTE $0xc1 // mulps xmm0, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x44110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm0
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
WORD $0x590f; BYTE $0xd0 // mulps xmm2, xmm0
LONG $0xb944100f; BYTE $0x30 // movups xmm0, oword [rcx + 4*rdi + 48]
WORD $0x590f; BYTE $0xc1 // mulps xmm0, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x44110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_992
JMP LBB0_993
LBB0_152:
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_161
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_161
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 LBB0_155
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_157:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10f9 // movdqu xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf814 // movdqu oword [r8 + 8*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0x546f0ff3; WORD $0x20f9 // movdqu xmm2, oword [rcx + 8*rdi + 32]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30f9 // movdqu xmm0, oword [rcx + 8*rdi + 48]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_157
JMP LBB0_158
LBB0_168:
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_177
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_177
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_171
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_173:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x580f; BYTE $0xd0 // addps xmm2, xmm0
LONG $0xb944100f; BYTE $0x10 // movups xmm0, oword [rcx + 4*rdi + 16]
WORD $0x580f; BYTE $0xc1 // addps xmm0, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x44110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm0
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
WORD $0x580f; BYTE $0xd0 // addps xmm2, xmm0
LONG $0xb944100f; BYTE $0x30 // movups xmm0, oword [rcx + 4*rdi + 48]
WORD $0x580f; BYTE $0xc1 // addps xmm0, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x44110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_173
JMP LBB0_174
LBB0_498:
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_507
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_507
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 LBB0_501
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_503:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf804 // movdqu oword [r8 + 8*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0x546f0ff3; WORD $0x20f9 // movdqu xmm2, oword [rcx + 8*rdi + 32]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_503
JMP LBB0_504
LBB0_514:
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_523
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_523
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_517
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_519:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x5c0f; BYTE $0xc2 // subps xmm0, xmm2
LONG $0xb954100f; BYTE $0x10 // movups xmm2, oword [rcx + 4*rdi + 16]
WORD $0x5c0f; BYTE $0xca // subps xmm1, xmm2
LONG $0x04110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm0
LONG $0x4c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm1
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
WORD $0x5c0f; BYTE $0xc2 // subps xmm0, xmm2
LONG $0xb954100f; BYTE $0x30 // movups xmm2, oword [rcx + 4*rdi + 48]
WORD $0x5c0f; BYTE $0xca // subps xmm1, xmm2
LONG $0x44110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm0
LONG $0x4c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_519
JMP LBB0_520
LBB0_325:
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_334
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_334
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 LBB0_328
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_330:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10f9 // movdqu xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf814 // movdqu oword [r8 + 8*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0x546f0ff3; WORD $0x20f9 // movdqu xmm2, oword [rcx + 8*rdi + 32]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30f9 // movdqu xmm0, oword [rcx + 8*rdi + 48]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_330
JMP LBB0_331
LBB0_341:
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_350
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_350
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_344
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_346:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x580f; BYTE $0xd0 // addps xmm2, xmm0
LONG $0xb944100f; BYTE $0x10 // movups xmm0, oword [rcx + 4*rdi + 16]
WORD $0x580f; BYTE $0xc1 // addps xmm0, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x44110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm0
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
WORD $0x580f; BYTE $0xd0 // addps xmm2, xmm0
LONG $0xb944100f; BYTE $0x30 // movups xmm0, oword [rcx + 4*rdi + 48]
WORD $0x580f; BYTE $0xc1 // addps xmm0, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x44110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_346
JMP LBB0_347
LBB0_671:
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_680
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_680
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 LBB0_674
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_676:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf804 // movdqu oword [r8 + 8*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0x546f0ff3; WORD $0x20f9 // movdqu xmm2, oword [rcx + 8*rdi + 32]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_676
JMP LBB0_677
LBB0_687:
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_696
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_696
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_690
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_692:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x5c0f; BYTE $0xc2 // subps xmm0, xmm2
LONG $0xb954100f; BYTE $0x10 // movups xmm2, oword [rcx + 4*rdi + 16]
WORD $0x5c0f; BYTE $0xca // subps xmm1, xmm2
LONG $0x04110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm0
LONG $0x4c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm1
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
WORD $0x5c0f; BYTE $0xc2 // subps xmm0, xmm2
LONG $0xb954100f; BYTE $0x30 // movups xmm2, oword [rcx + 4*rdi + 48]
WORD $0x5c0f; BYTE $0xca // subps xmm1, xmm2
LONG $0x44110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm0
LONG $0x4c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_692
JMP LBB0_693
LBB0_734:
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_743
WORD $0x2040; BYTE $0xf0 // and al, sil
JNE LBB0_743
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_737
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0x456f0f66; BYTE $0x00 // movdqa xmm0, oword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_739:
LONG $0x0c6f0ff3; BYTE $0x02 // movdqu xmm1, oword [rdx + rax]
LONG $0x546f0ff3; WORD $0x1002 // movdqu xmm2, oword [rdx + rax + 16]
LONG $0x1c6f0ff3; BYTE $0x01 // movdqu xmm3, oword [rcx + rax]
LONG $0x646f0ff3; WORD $0x1001 // movdqu xmm4, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xe9 // pmovzxbw xmm5, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xf3 // pmovzxbw xmm6, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xf5d50f66 // pmullw xmm6, xmm5
LONG $0xf0db0f66 // pand xmm6, xmm0
LONG $0xf3670f66 // packuswb xmm6, xmm3
LONG $0x30380f66; BYTE $0xca // pmovzxbw xmm1, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xdc // pmovzxbw xmm3, xmm4
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0xe2d50f66 // pmullw xmm4, xmm2
LONG $0xe0db0f66 // pand xmm4, xmm0
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xdc670f66 // packuswb xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x0034 // movdqu oword [r8 + rax], xmm6
LONG $0x7f0f41f3; WORD $0x005c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm3
LONG $0x4c6f0ff3; WORD $0x2002 // movdqu xmm1, oword [rdx + rax + 32]
LONG $0x546f0ff3; WORD $0x3002 // movdqu xmm2, oword [rdx + rax + 48]
LONG $0x5c6f0ff3; WORD $0x2001 // movdqu xmm3, oword [rcx + rax + 32]
LONG $0x646f0ff3; WORD $0x3001 // movdqu xmm4, oword [rcx + rax + 48]
LONG $0x30380f66; BYTE $0xe9 // pmovzxbw xmm5, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xf3 // pmovzxbw xmm6, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xf5d50f66 // pmullw xmm6, xmm5
LONG $0xf0db0f66 // pand xmm6, xmm0
LONG $0xf3670f66 // packuswb xmm6, xmm3
LONG $0x30380f66; BYTE $0xca // pmovzxbw xmm1, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xdc // pmovzxbw xmm3, xmm4
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0xe2d50f66 // pmullw xmm4, xmm2
LONG $0xe0db0f66 // pand xmm4, xmm0
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xdc670f66 // packuswb xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x0074; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm6
LONG $0x7f0f41f3; WORD $0x005c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm3
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB0_739
JMP LBB0_740
LBB0_884:
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_893
WORD $0x2040; BYTE $0xf0 // and al, sil
JNE LBB0_893
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_887
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0x456f0f66; BYTE $0x00 // movdqa xmm0, oword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_889:
LONG $0x0c6f0ff3; BYTE $0x02 // movdqu xmm1, oword [rdx + rax]
LONG $0x546f0ff3; WORD $0x1002 // movdqu xmm2, oword [rdx + rax + 16]
LONG $0x1c6f0ff3; BYTE $0x01 // movdqu xmm3, oword [rcx + rax]
LONG $0x646f0ff3; WORD $0x1001 // movdqu xmm4, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xe9 // pmovzxbw xmm5, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xf3 // pmovzxbw xmm6, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xf5d50f66 // pmullw xmm6, xmm5
LONG $0xf0db0f66 // pand xmm6, xmm0
LONG $0xf3670f66 // packuswb xmm6, xmm3
LONG $0x30380f66; BYTE $0xca // pmovzxbw xmm1, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xdc // pmovzxbw xmm3, xmm4
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0xe2d50f66 // pmullw xmm4, xmm2
LONG $0xe0db0f66 // pand xmm4, xmm0
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xdc670f66 // packuswb xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x0034 // movdqu oword [r8 + rax], xmm6
LONG $0x7f0f41f3; WORD $0x005c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm3
LONG $0x4c6f0ff3; WORD $0x2002 // movdqu xmm1, oword [rdx + rax + 32]
LONG $0x546f0ff3; WORD $0x3002 // movdqu xmm2, oword [rdx + rax + 48]
LONG $0x5c6f0ff3; WORD $0x2001 // movdqu xmm3, oword [rcx + rax + 32]
LONG $0x646f0ff3; WORD $0x3001 // movdqu xmm4, oword [rcx + rax + 48]
LONG $0x30380f66; BYTE $0xe9 // pmovzxbw xmm5, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xf3 // pmovzxbw xmm6, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xf5d50f66 // pmullw xmm6, xmm5
LONG $0xf0db0f66 // pand xmm6, xmm0
LONG $0xf3670f66 // packuswb xmm6, xmm3
LONG $0x30380f66; BYTE $0xca // pmovzxbw xmm1, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xdc // pmovzxbw xmm3, xmm4
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0xe2d50f66 // pmullw xmm4, xmm2
LONG $0xe0db0f66 // pand xmm4, xmm0
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0xd8db0f66 // pand xmm3, xmm0
LONG $0xdc670f66 // packuswb xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x0074; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm6
LONG $0x7f0f41f3; WORD $0x005c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm3
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB0_889
JMP LBB0_890
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_58
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_58
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_52
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_54:
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1039 // movdqu xmm0, oword [rcx + rdi + 16]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3814 // movdqu oword [r8 + rdi], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x203a // movdqu xmm0, oword [rdx + rdi + 32]
LONG $0x4c6f0ff3; WORD $0x303a // movdqu xmm1, oword [rdx + rdi + 48]
LONG $0x546f0ff3; WORD $0x2039 // movdqu xmm2, oword [rcx + rdi + 32]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3039 // movdqu xmm0, oword [rcx + rdi + 48]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm0
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB0_54
JMP LBB0_55
LBB0_395:
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_404
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_404
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_398
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_400:
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3804 // movdqu oword [r8 + rdi], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x203a // movdqu xmm0, oword [rdx + rdi + 32]
LONG $0x4c6f0ff3; WORD $0x303a // movdqu xmm1, oword [rdx + rdi + 48]
LONG $0x546f0ff3; WORD $0x2039 // movdqu xmm2, oword [rcx + rdi + 32]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm1
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB0_400
JMP LBB0_401
LBB0_222:
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_231
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_231
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_225
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_227:
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1039 // movdqu xmm0, oword [rcx + rdi + 16]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3814 // movdqu oword [r8 + rdi], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x203a // movdqu xmm0, oword [rdx + rdi + 32]
LONG $0x4c6f0ff3; WORD $0x303a // movdqu xmm1, oword [rdx + rdi + 48]
LONG $0x546f0ff3; WORD $0x2039 // movdqu xmm2, oword [rcx + rdi + 32]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x3039 // movdqu xmm0, oword [rcx + rdi + 48]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm0
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB0_227
JMP LBB0_228
LBB0_568:
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_577
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_577
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_571
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_573:
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3804 // movdqu oword [r8 + rdi], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x203a // movdqu xmm0, oword [rdx + rdi + 32]
LONG $0x4c6f0ff3; WORD $0x303a // movdqu xmm1, oword [rdx + rdi + 48]
LONG $0x546f0ff3; WORD $0x2039 // movdqu xmm2, oword [rcx + rdi + 32]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm1
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB0_573
JMP LBB0_574
LBB0_808:
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_817
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_817
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_811
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_813:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30b9 // movdqu xmm0, oword [rcx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_813
JMP LBB0_814
LBB0_958:
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_967
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_967
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_961
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_963:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30b9 // movdqu xmm0, oword [rcx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_963
JMP LBB0_964
LBB0_123:
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_132
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_132
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_126
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_128:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30b9 // movdqu xmm0, oword [rcx + 4*rdi + 48]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_128
JMP LBB0_129
LBB0_469:
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_478
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_478
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_472
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_474:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb804 // movdqu oword [r8 + 4*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_474
JMP LBB0_475
LBB0_296:
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_305
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_305
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_299
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_301:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x30b9 // movdqu xmm0, oword [rcx + 4*rdi + 48]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_301
JMP LBB0_302
LBB0_642:
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_651
WORD $0x2040; BYTE $0xf8 // and al, dil
JNE LBB0_651
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_645
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_647:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb804 // movdqu oword [r8 + 4*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x546f0ff3; WORD $0x20b9 // movdqu xmm2, oword [rcx + 4*rdi + 32]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_647
JMP LBB0_648
LBB0_795:
WORD $0xff31 // xor edi, edi
LBB0_798:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_800
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB0_800:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_801
JMP LBB0_1013
LBB0_945:
WORD $0xff31 // xor edi, edi
LBB0_948:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_950
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB0_950:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_951
JMP LBB0_1013
LBB0_110:
WORD $0xff31 // xor edi, edi
LBB0_113:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_115
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB0_115:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_116
LBB0_456:
WORD $0xff31 // xor edi, edi
LBB0_459:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_461
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb804 // movdqu oword [r8 + 4*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LBB0_461:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_462
JMP LBB0_1013
LBB0_283:
WORD $0xff31 // xor edi, edi
LBB0_286:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_288
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB0_288:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_289
LBB0_629:
WORD $0xff31 // xor edi, edi
LBB0_632:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_634
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb804 // movdqu oword [r8 + 4*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LBB0_634:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_635
JMP LBB0_1013
LBB0_853:
WORD $0xff31 // xor edi, edi
LBB0_856:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_858
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xd0590f66 // mulpd xmm2, xmm0
LONG $0x44100f66; WORD $0x10f9 // movupd xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1590f66 // mulpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm0
LBB0_858:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_859
JMP LBB0_1013
LBB0_1003:
WORD $0xff31 // xor edi, edi
LBB0_1006:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_1008
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xd0590f66 // mulpd xmm2, xmm0
LONG $0x44100f66; WORD $0x10f9 // movupd xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1590f66 // mulpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm0
LBB0_1008:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_1009
JMP LBB0_1013
LBB0_184:
WORD $0xff31 // xor edi, edi
LBB0_187:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_189
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xd0580f66 // addpd xmm2, xmm0
LONG $0x44100f66; WORD $0x10f9 // movupd xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1580f66 // addpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm0
LBB0_189:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_190
LBB0_530:
WORD $0xff31 // xor edi, edi
LBB0_533:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_535
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xc25c0f66 // subpd xmm0, xmm2
LONG $0x54100f66; WORD $0x10f9 // movupd xmm2, oword [rcx + 8*rdi + 16]
LONG $0xca5c0f66 // subpd xmm1, xmm2
LONG $0x110f4166; WORD $0xf804 // movupd oword [r8 + 8*rdi], xmm0
LONG $0x110f4166; WORD $0xf84c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm1
LBB0_535:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_536
JMP LBB0_1013
LBB0_357:
WORD $0xff31 // xor edi, edi
LBB0_360:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_362
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xd0580f66 // addpd xmm2, xmm0
LONG $0x44100f66; WORD $0x10f9 // movupd xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1580f66 // addpd xmm0, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf844; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm0
LBB0_362:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_363
JMP LBB0_1013
LBB0_703:
WORD $0xff31 // xor edi, edi
LBB0_706:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_708
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0xc25c0f66 // subpd xmm0, xmm2
LONG $0x54100f66; WORD $0x10f9 // movupd xmm2, oword [rcx + 8*rdi + 16]
LONG $0xca5c0f66 // subpd xmm1, xmm2
LONG $0x110f4166; WORD $0xf804 // movupd oword [r8 + 8*rdi], xmm0
LONG $0x110f4166; WORD $0xf84c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm1
LBB0_708:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_709
JMP LBB0_1013
LBB0_750:
WORD $0xc031 // xor eax, eax
LBB0_753:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_755
LONG $0x0c6f0ff3; BYTE $0x02 // movdqu xmm1, oword [rdx + rax]
LONG $0x546f0ff3; WORD $0x1002 // movdqu xmm2, oword [rdx + rax + 16]
LONG $0x1c6f0ff3; BYTE $0x01 // movdqu xmm3, oword [rcx + rax]
LONG $0x446f0ff3; WORD $0x1001 // movdqu xmm0, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xe1 // pmovzxbw xmm4, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xeb // pmovzxbw xmm5, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0x4d6f0f66; BYTE $0x00 // movdqa xmm1, oword 0[rbp] /* [rip + .LCPI0_0] */
LONG $0xd9db0f66 // pand xmm3, xmm1
LONG $0xecd50f66 // pmullw xmm5, xmm4
LONG $0xe9db0f66 // pand xmm5, xmm1
LONG $0xeb670f66 // packuswb xmm5, xmm3
LONG $0x30380f66; BYTE $0xda // pmovzxbw xmm3, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xe0 // pmovzxbw xmm4, xmm0
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0xc2d50f66 // pmullw xmm0, xmm2
LONG $0xc1db0f66 // pand xmm0, xmm1
LONG $0xe3d50f66 // pmullw xmm4, xmm3
LONG $0xe1db0f66 // pand xmm4, xmm1
LONG $0xe0670f66 // packuswb xmm4, xmm0
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0064; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm4
LBB0_755:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JNE LBB0_756
JMP LBB0_1013
LBB0_900:
WORD $0xc031 // xor eax, eax
LBB0_903:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_905
LONG $0x0c6f0ff3; BYTE $0x02 // movdqu xmm1, oword [rdx + rax]
LONG $0x546f0ff3; WORD $0x1002 // movdqu xmm2, oword [rdx + rax + 16]
LONG $0x1c6f0ff3; BYTE $0x01 // movdqu xmm3, oword [rcx + rax]
LONG $0x446f0ff3; WORD $0x1001 // movdqu xmm0, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xe1 // pmovzxbw xmm4, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xeb // pmovzxbw xmm5, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0x4d6f0f66; BYTE $0x00 // movdqa xmm1, oword 0[rbp] /* [rip + .LCPI0_0] */
LONG $0xd9db0f66 // pand xmm3, xmm1
LONG $0xecd50f66 // pmullw xmm5, xmm4
LONG $0xe9db0f66 // pand xmm5, xmm1
LONG $0xeb670f66 // packuswb xmm5, xmm3
LONG $0x30380f66; BYTE $0xda // pmovzxbw xmm3, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xe0 // pmovzxbw xmm4, xmm0
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0xc2d50f66 // pmullw xmm0, xmm2
LONG $0xc1db0f66 // pand xmm0, xmm1
LONG $0xe3d50f66 // pmullw xmm4, xmm3
LONG $0xe1db0f66 // pand xmm4, xmm1
LONG $0xe0670f66 // packuswb xmm4, xmm0
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0064; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm4
LBB0_905:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JNE LBB0_906
JMP LBB0_1013
LBB0_65:
WORD $0xff31 // xor edi, edi
LBB0_68:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_70
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1039 // movdqu xmm0, oword [rcx + rdi + 16]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3814 // movdqu oword [r8 + rdi], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LBB0_70:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_71
LBB0_411:
WORD $0xff31 // xor edi, edi
LBB0_414:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_416
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3804 // movdqu oword [r8 + rdi], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LBB0_416:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_417
JMP LBB0_1013
LBB0_238:
WORD $0xff31 // xor edi, edi
LBB0_241:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_243
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1039 // movdqu xmm0, oword [rcx + rdi + 16]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3814 // movdqu oword [r8 + rdi], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LBB0_243:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_244
LBB0_584:
WORD $0xff31 // xor edi, edi
LBB0_587:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_589
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3804 // movdqu oword [r8 + rdi], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LBB0_589:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_590
JMP LBB0_1013
LBB0_139:
WORD $0xff31 // xor edi, edi
LBB0_142:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_144
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10f9 // movdqu xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf814 // movdqu oword [r8 + 8*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LBB0_144:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_145
LBB0_485:
WORD $0xff31 // xor edi, edi
LBB0_488:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_490
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf804 // movdqu oword [r8 + 8*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LBB0_490:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_491
JMP LBB0_1013
LBB0_312:
WORD $0xff31 // xor edi, edi
LBB0_315:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_317
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10f9 // movdqu xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf814 // movdqu oword [r8 + 8*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LBB0_317:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_318
JMP LBB0_1013
LBB0_658:
WORD $0xff31 // xor edi, edi
LBB0_661:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_663
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf804 // movdqu oword [r8 + 8*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LBB0_663:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_664
JMP LBB0_1013
LBB0_766:
WORD $0xff31 // xor edi, edi
LBB0_769:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_771
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB0_771:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_772
JMP LBB0_1013
LBB0_782:
WORD $0xff31 // xor edi, edi
LBB0_785:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_787
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB0_787:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_788
JMP LBB0_1013
LBB0_916:
WORD $0xff31 // xor edi, edi
LBB0_919:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_921
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB0_921:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_922
JMP LBB0_1013
LBB0_932:
WORD $0xff31 // xor edi, edi
LBB0_935:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_937
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1d50f66 // pmullw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB0_937:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_938
JMP LBB0_1013
LBB0_81:
WORD $0xff31 // xor edi, edi
LBB0_84:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_86
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB0_86:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_87
LBB0_97:
WORD $0xff31 // xor edi, edi
LBB0_100:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_102
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB0_102:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_103
LBB0_427:
WORD $0xff31 // xor edi, edi
LBB0_430:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_432
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7804 // movdqu oword [r8 + 2*rdi], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LBB0_432:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_433
JMP LBB0_1013
LBB0_443:
WORD $0xff31 // xor edi, edi
LBB0_446:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_448
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7804 // movdqu oword [r8 + 2*rdi], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LBB0_448:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_449
JMP LBB0_1013
LBB0_254:
WORD $0xff31 // xor edi, edi
LBB0_257:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_259
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB0_259:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_260
LBB0_270:
WORD $0xff31 // xor edi, edi
LBB0_273:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_275
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1079 // movdqu xmm0, oword [rcx + 2*rdi + 16]
LONG $0xc1fd0f66 // paddw xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7814 // movdqu oword [r8 + 2*rdi], xmm2
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB0_275:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_276
LBB0_600:
WORD $0xff31 // xor edi, edi
LBB0_603:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_605
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7804 // movdqu oword [r8 + 2*rdi], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LBB0_605:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_606
JMP LBB0_1013
LBB0_616:
WORD $0xff31 // xor edi, edi
LBB0_619:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_621
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0x146f0ff3; BYTE $0x79 // movdqu xmm2, oword [rcx + 2*rdi]
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x7804 // movdqu oword [r8 + 2*rdi], xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LBB0_621:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_622
JMP LBB0_1013
LBB0_840:
WORD $0xff31 // xor edi, edi
LBB0_843:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_845
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x590f; BYTE $0xd0 // mulps xmm2, xmm0
LONG $0xb944100f; BYTE $0x10 // movups xmm0, oword [rcx + 4*rdi + 16]
WORD $0x590f; BYTE $0xc1 // mulps xmm0, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x44110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm0
LBB0_845:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_846
JMP LBB0_1013
LBB0_990:
WORD $0xff31 // xor edi, edi
LBB0_993:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_995
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x590f; BYTE $0xd0 // mulps xmm2, xmm0
LONG $0xb944100f; BYTE $0x10 // movups xmm0, oword [rcx + 4*rdi + 16]
WORD $0x590f; BYTE $0xc1 // mulps xmm0, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x44110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm0
LBB0_995:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_996
JMP LBB0_1013
LBB0_155:
WORD $0xff31 // xor edi, edi
LBB0_158:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_160
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10f9 // movdqu xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf814 // movdqu oword [r8 + 8*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LBB0_160:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_161
LBB0_171:
WORD $0xff31 // xor edi, edi
LBB0_174:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_176
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x580f; BYTE $0xd0 // addps xmm2, xmm0
LONG $0xb944100f; BYTE $0x10 // movups xmm0, oword [rcx + 4*rdi + 16]
WORD $0x580f; BYTE $0xc1 // addps xmm0, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x44110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm0
LBB0_176:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_177
LBB0_501:
WORD $0xff31 // xor edi, edi
LBB0_504:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_506
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf804 // movdqu oword [r8 + 8*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LBB0_506:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_507
JMP LBB0_1013
LBB0_517:
WORD $0xff31 // xor edi, edi
LBB0_520:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_522
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x5c0f; BYTE $0xc2 // subps xmm0, xmm2
LONG $0xb954100f; BYTE $0x10 // movups xmm2, oword [rcx + 4*rdi + 16]
WORD $0x5c0f; BYTE $0xca // subps xmm1, xmm2
LONG $0x04110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm0
LONG $0x4c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm1
LBB0_522:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_523
JMP LBB0_1013
LBB0_328:
WORD $0xff31 // xor edi, edi
LBB0_331:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_333
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10f9 // movdqu xmm0, oword [rcx + 8*rdi + 16]
LONG $0xc1d40f66 // paddq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xf814 // movdqu oword [r8 + 8*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LBB0_333:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_334
JMP LBB0_1013
LBB0_344:
WORD $0xff31 // xor edi, edi
LBB0_347:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_349
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x580f; BYTE $0xd0 // addps xmm2, xmm0
LONG $0xb944100f; BYTE $0x10 // movups xmm0, oword [rcx + 4*rdi + 16]
WORD $0x580f; BYTE $0xc1 // addps xmm0, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x44110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm0
LBB0_349:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_350
JMP LBB0_1013
LBB0_674:
WORD $0xff31 // xor edi, edi
LBB0_677:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_679
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x146f0ff3; BYTE $0xf9 // movdqu xmm2, oword [rcx + 8*rdi]
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf804 // movdqu oword [r8 + 8*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LBB0_679:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_680
JMP LBB0_1013
LBB0_690:
WORD $0xff31 // xor edi, edi
LBB0_693:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_695
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
WORD $0x5c0f; BYTE $0xc2 // subps xmm0, xmm2
LONG $0xb954100f; BYTE $0x10 // movups xmm2, oword [rcx + 4*rdi + 16]
WORD $0x5c0f; BYTE $0xca // subps xmm1, xmm2
LONG $0x04110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm0
LONG $0x4c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm1
LBB0_695:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_696
JMP LBB0_1013
LBB0_737:
WORD $0xc031 // xor eax, eax
LBB0_740:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_742
LONG $0x0c6f0ff3; BYTE $0x02 // movdqu xmm1, oword [rdx + rax]
LONG $0x546f0ff3; WORD $0x1002 // movdqu xmm2, oword [rdx + rax + 16]
LONG $0x1c6f0ff3; BYTE $0x01 // movdqu xmm3, oword [rcx + rax]
LONG $0x446f0ff3; WORD $0x1001 // movdqu xmm0, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xe1 // pmovzxbw xmm4, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xeb // pmovzxbw xmm5, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0x4d6f0f66; BYTE $0x00 // movdqa xmm1, oword 0[rbp] /* [rip + .LCPI0_0] */
LONG $0xd9db0f66 // pand xmm3, xmm1
LONG $0xecd50f66 // pmullw xmm5, xmm4
LONG $0xe9db0f66 // pand xmm5, xmm1
LONG $0xeb670f66 // packuswb xmm5, xmm3
LONG $0x30380f66; BYTE $0xda // pmovzxbw xmm3, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xe0 // pmovzxbw xmm4, xmm0
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0xc2d50f66 // pmullw xmm0, xmm2
LONG $0xc1db0f66 // pand xmm0, xmm1
LONG $0xe3d50f66 // pmullw xmm4, xmm3
LONG $0xe1db0f66 // pand xmm4, xmm1
LONG $0xe0670f66 // packuswb xmm4, xmm0
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0064; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm4
LBB0_742:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JNE LBB0_743
JMP LBB0_1013
LBB0_887:
WORD $0xc031 // xor eax, eax
LBB0_890:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_892
LONG $0x0c6f0ff3; BYTE $0x02 // movdqu xmm1, oword [rdx + rax]
LONG $0x546f0ff3; WORD $0x1002 // movdqu xmm2, oword [rdx + rax + 16]
LONG $0x1c6f0ff3; BYTE $0x01 // movdqu xmm3, oword [rcx + rax]
LONG $0x446f0ff3; WORD $0x1001 // movdqu xmm0, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xe1 // pmovzxbw xmm4, xmm1
LONG $0xc9680f66 // punpckhbw xmm1, xmm1
LONG $0x30380f66; BYTE $0xeb // pmovzxbw xmm5, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd9d50f66 // pmullw xmm3, xmm1
LONG $0x4d6f0f66; BYTE $0x00 // movdqa xmm1, oword 0[rbp] /* [rip + .LCPI0_0] */
LONG $0xd9db0f66 // pand xmm3, xmm1
LONG $0xecd50f66 // pmullw xmm5, xmm4
LONG $0xe9db0f66 // pand xmm5, xmm1
LONG $0xeb670f66 // packuswb xmm5, xmm3
LONG $0x30380f66; BYTE $0xda // pmovzxbw xmm3, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x30380f66; BYTE $0xe0 // pmovzxbw xmm4, xmm0
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0xc2d50f66 // pmullw xmm0, xmm2
LONG $0xc1db0f66 // pand xmm0, xmm1
LONG $0xe3d50f66 // pmullw xmm4, xmm3
LONG $0xe1db0f66 // pand xmm4, xmm1
LONG $0xe0670f66 // packuswb xmm4, xmm0
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0064; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm4
LBB0_892:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JNE LBB0_893
JMP LBB0_1013
LBB0_52:
WORD $0xff31 // xor edi, edi
LBB0_55:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_57
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1039 // movdqu xmm0, oword [rcx + rdi + 16]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3814 // movdqu oword [r8 + rdi], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LBB0_57:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_58
LBB0_398:
WORD $0xff31 // xor edi, edi
LBB0_401:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_403
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3804 // movdqu oword [r8 + rdi], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LBB0_403:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_404
JMP LBB0_1013
LBB0_225:
WORD $0xff31 // xor edi, edi
LBB0_228:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_230
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x446f0ff3; WORD $0x1039 // movdqu xmm0, oword [rcx + rdi + 16]
LONG $0xc1fc0f66 // paddb xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3814 // movdqu oword [r8 + rdi], xmm2
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LBB0_230:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_231
LBB0_571:
WORD $0xff31 // xor edi, edi
LBB0_574:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_576
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0x146f0ff3; BYTE $0x39 // movdqu xmm2, oword [rcx + rdi]
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x3804 // movdqu oword [r8 + rdi], xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LBB0_576:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_577
JMP LBB0_1013
LBB0_811:
WORD $0xff31 // xor edi, edi
LBB0_814:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_816
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB0_816:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_817
JMP LBB0_1013
LBB0_961:
WORD $0xff31 // xor edi, edi
LBB0_964:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_966
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc1 // pmulld xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB0_966:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_967
JMP LBB0_1013
LBB0_126:
WORD $0xff31 // xor edi, edi
LBB0_129:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_131
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB0_131:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_132
LBB0_472:
WORD $0xff31 // xor edi, edi
LBB0_475:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_477
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb804 // movdqu oword [r8 + 4*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LBB0_477:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_478
JMP LBB0_1013
LBB0_299:
WORD $0xff31 // xor edi, edi
LBB0_302:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_304
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x446f0ff3; WORD $0x10b9 // movdqu xmm0, oword [rcx + 4*rdi + 16]
LONG $0xc1fe0f66 // paddd xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb814 // movdqu oword [r8 + 4*rdi], xmm2
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB0_304:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB0_1013
JMP LBB0_305
LBB0_645:
WORD $0xff31 // xor edi, edi
LBB0_648:
LONG $0x01c1f641 // test r9b, 1
JE LBB0_650
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x146f0ff3; BYTE $0xb9 // movdqu xmm2, oword [rcx + 4*rdi]
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb804 // movdqu oword [r8 + 4*rdi], xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LBB0_650:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JNE LBB0_651
JMP LBB0_1013
DATA LCDATA2<>+0x000(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA2<>+0x008(SB)/8, $0x00ff00ff00ff00ff
GLOBL LCDATA2<>(SB), 8, $16
TEXT ยท_arithmetic_arr_scalar_sse4(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_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_11
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_453
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_453
LBB1_11:
WORD $0xf631 // xor esi, esi
LBB1_625:
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_627
LBB1_626:
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_626
LBB1_627:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_628:
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_628
JMP LBB1_1069
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_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_22
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_456
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_456
LBB1_22:
WORD $0xf631 // xor esi, esi
LBB1_633:
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_635
LBB1_634:
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_634
LBB1_635:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_636:
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_636
JMP LBB1_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_30
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_459
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_459
LBB1_30:
WORD $0xf631 // xor esi, esi
LBB1_641:
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_643
LBB1_642:
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_642
LBB1_643:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_644:
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_644
JMP LBB1_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_38
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_462
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_462
LBB1_38:
WORD $0xf631 // xor esi, esi
LBB1_649:
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_651
LBB1_650:
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_650
LBB1_651:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_652:
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_652
JMP LBB1_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_46
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_465
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_465
LBB1_46:
WORD $0xf631 // xor esi, esi
LBB1_657:
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_659
LBB1_658:
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_658
LBB1_659:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_660:
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_660
JMP LBB1_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_54
LONG $0x920c8d4a // lea rcx, [rdx + 4*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_468
LONG $0x900c8d4b // lea rcx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_468
LBB1_54:
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 $0xc129 // sub 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_1069
LBB1_668:
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_668
JMP LBB1_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff2 // movsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_61
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_471
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_471
LBB1_61:
WORD $0xc931 // xor ecx, ecx
LBB1_673:
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_675
LBB1_674:
LONG $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd qword [r8 + 8*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_674
LBB1_675:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1069
LBB1_676:
LONG $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd qword [r8 + 8*rcx], xmm1
LONG $0x4c100ff2; WORD $0x08ca // movsd xmm1, qword [rdx + 8*rcx + 8]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x08 // movsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c100ff2; WORD $0x10ca // movsd xmm1, qword [rdx + 8*rcx + 16]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x10 // movsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c100ff2; WORD $0x18ca // movsd xmm1, qword [rdx + 8*rcx + 24]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x18 // movsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_676
JMP LBB1_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff2 // movsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_68
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_474
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_474
LBB1_68:
WORD $0xc931 // xor ecx, ecx
LBB1_681:
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_683
LBB1_682:
LONG $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd qword [r8 + 8*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_682
LBB1_683:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1069
LBB1_684:
LONG $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd qword [r8 + 8*rcx], xmm1
LONG $0x4c100ff2; WORD $0x08ca // movsd xmm1, qword [rdx + 8*rcx + 8]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x08 // movsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c100ff2; WORD $0x10ca // movsd xmm1, qword [rdx + 8*rcx + 16]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x10 // movsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c100ff2; WORD $0x18ca // movsd xmm1, qword [rdx + 8*rcx + 24]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x18 // movsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_684
JMP LBB1_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff2 // movsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_75
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_477
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_477
LBB1_75:
WORD $0xc931 // xor ecx, ecx
LBB1_689:
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_691
LBB1_690:
LONG $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd qword [r8 + 8*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_690
LBB1_691:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1069
LBB1_692:
LONG $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd qword [r8 + 8*rcx], xmm1
LONG $0x4c100ff2; WORD $0x08ca // movsd xmm1, qword [rdx + 8*rcx + 8]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x08 // movsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c100ff2; WORD $0x10ca // movsd xmm1, qword [rdx + 8*rcx + 16]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x10 // movsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c100ff2; WORD $0x18ca // movsd xmm1, qword [rdx + 8*rcx + 24]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x18 // movsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_692
JMP LBB1_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff2 // movsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_82
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_480
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_480
LBB1_82:
WORD $0xc931 // xor ecx, ecx
LBB1_697:
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_699
LBB1_698:
LONG $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc85c0ff2 // subsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd qword [r8 + 8*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_698
LBB1_699:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1069
LBB1_700:
LONG $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc85c0ff2 // subsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd qword [r8 + 8*rcx], xmm1
LONG $0x4c100ff2; WORD $0x08ca // movsd xmm1, qword [rdx + 8*rcx + 8]
LONG $0xc85c0ff2 // subsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x08 // movsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c100ff2; WORD $0x10ca // movsd xmm1, qword [rdx + 8*rcx + 16]
LONG $0xc85c0ff2 // subsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x10 // movsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c100ff2; WORD $0x18ca // movsd xmm1, qword [rdx + 8*rcx + 24]
LONG $0xc85c0ff2 // subsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x18 // movsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_700
JMP LBB1_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff2 // movsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_89
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_483
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_483
LBB1_89:
WORD $0xc931 // xor ecx, ecx
LBB1_705:
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_707
LBB1_706:
LONG $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd qword [r8 + 8*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_706
LBB1_707:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1069
LBB1_708:
LONG $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd qword [r8 + 8*rcx], xmm1
LONG $0x4c100ff2; WORD $0x08ca // movsd xmm1, qword [rdx + 8*rcx + 8]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x08 // movsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c100ff2; WORD $0x10ca // movsd xmm1, qword [rdx + 8*rcx + 16]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x10 // movsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c100ff2; WORD $0x18ca // movsd xmm1, qword [rdx + 8*rcx + 24]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x18 // movsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_708
JMP LBB1_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff2 // movsd xmm0, qword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_96
LONG $0xc20c8d48 // lea rcx, [rdx + 8*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_486
LONG $0xc00c8d49 // lea rcx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_486
LBB1_96:
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 $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc85c0ff2 // subsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd 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_1069
LBB1_716:
LONG $0x0c100ff2; BYTE $0xca // movsd xmm1, qword [rdx + 8*rcx]
LONG $0xc85c0ff2 // subsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc80c // movsd qword [r8 + 8*rcx], xmm1
LONG $0x4c100ff2; WORD $0x08ca // movsd xmm1, qword [rdx + 8*rcx + 8]
LONG $0xc85c0ff2 // subsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x08 // movsd qword [r8 + 8*rcx + 8], xmm1
LONG $0x4c100ff2; WORD $0x10ca // movsd xmm1, qword [rdx + 8*rcx + 16]
LONG $0xc85c0ff2 // subsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x10 // movsd qword [r8 + 8*rcx + 16], xmm1
LONG $0x4c100ff2; WORD $0x18ca // movsd xmm1, qword [rdx + 8*rcx + 24]
LONG $0xc85c0ff2 // subsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xc84c; BYTE $0x18 // movsd qword [r8 + 8*rcx + 24], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_716
JMP LBB1_1069
LBB1_97:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_229
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
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_489
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB1_489
LBB1_101:
WORD $0xff31 // xor edi, edi
LBB1_721:
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_723
LBB1_722:
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_722
LBB1_723:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_724:
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_724
JMP LBB1_1069
LBB1_102:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_232
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
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_492
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB1_492
LBB1_106:
WORD $0xff31 // xor edi, edi
LBB1_729:
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_731
LBB1_730:
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_730
LBB1_731:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_732:
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_732
JMP LBB1_1069
LBB1_107:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_235
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_111
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_495
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_495
LBB1_111:
WORD $0xf631 // xor esi, esi
LBB1_737:
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_739
LBB1_738:
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_738
LBB1_739:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_740:
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_740
JMP LBB1_1069
LBB1_112:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_238
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_116
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_498
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_498
LBB1_116:
WORD $0xf631 // xor esi, esi
LBB1_745:
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_747
LBB1_746:
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_746
LBB1_747:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_748:
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_748
JMP LBB1_1069
LBB1_117:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_241
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_121
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_501
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_501
LBB1_121:
WORD $0xf631 // xor esi, esi
LBB1_753:
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_755
LBB1_754:
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_754
LBB1_755:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_756:
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_756
JMP LBB1_1069
LBB1_122:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB1_244
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB1_126
LONG $0x120c8d4a // lea rcx, [rdx + r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_504
LONG $0x100c8d4b // lea rcx, [r8 + r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_504
LBB1_126:
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 $0xc128 // sub 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_1069
LBB1_764:
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_764
JMP LBB1_1069
LBB1_127:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_247
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB1_319
WORD $0xff31 // xor edi, edi
JMP LBB1_321
LBB1_132:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_250
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB1_324
WORD $0xff31 // xor edi, edi
JMP LBB1_326
LBB1_137:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_253
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_141
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_507
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_507
LBB1_141:
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 $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_770
LBB1_771:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_772:
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_772
JMP LBB1_1069
LBB1_142:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_256
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_146
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_510
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_510
LBB1_146:
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 $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_778
LBB1_779:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_780:
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_780
JMP LBB1_1069
LBB1_147:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_259
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_151
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_513
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_513
LBB1_151:
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 $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_786
LBB1_787:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_788:
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_788
JMP LBB1_1069
LBB1_152:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB1_262
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB1_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_156
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_516
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_516
LBB1_156:
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]
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_794
LBB1_795:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_796:
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_796
JMP LBB1_1069
LBB1_157:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_159
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_519
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_519
LBB1_159:
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 $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_802
LBB1_803:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_804:
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_804
JMP LBB1_1069
LBB1_160:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_162
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_522
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_522
LBB1_162:
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 $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_810
LBB1_811:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_812:
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_812
JMP LBB1_1069
LBB1_163:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_165
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_525
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_525
LBB1_165:
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 $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_818
LBB1_819:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_820:
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_820
JMP LBB1_1069
LBB1_166:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_168
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_528
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_528
LBB1_168:
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 $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
LONG $0xc8af0f66 // imul cx, ax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_826
LBB1_827:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_828:
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_828
JMP LBB1_1069
LBB1_169:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_171
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_531
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_531
LBB1_171:
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 $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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_834
LBB1_835:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_836:
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_836
JMP LBB1_1069
LBB1_172:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_174
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_534
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_534
LBB1_174:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_843
LBB1_842:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_842
LBB1_843:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_844:
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_844
JMP LBB1_1069
LBB1_175:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_177
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_537
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_537
LBB1_177:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_851
LBB1_850:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_850
LBB1_851:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_852:
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_852
JMP LBB1_1069
LBB1_178:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_180
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_540
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_540
LBB1_180:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_859
LBB1_858:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_858
LBB1_859:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_860:
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_860
JMP LBB1_1069
LBB1_181:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_183
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_543
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_543
LBB1_183:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_867
LBB1_866:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_866
LBB1_867:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_868:
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_868
JMP LBB1_1069
LBB1_184:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_186
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_546
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_546
LBB1_186:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_875
LBB1_874:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_874
LBB1_875:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
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_1069
LBB1_187:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_189
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_549
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_549
LBB1_189:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_883
LBB1_882:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_882
LBB1_883:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_884:
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_884
JMP LBB1_1069
LBB1_190:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0xb70f; BYTE $0x01 // movzx eax, word [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB1_192
LONG $0x520c8d4a // lea rcx, [rdx + 2*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_552
LONG $0x500c8d4b // lea rcx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_552
LBB1_192:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_891
LBB1_890:
LONG $0x720cb70f // movzx ecx, word [rdx + 2*rsi]
WORD $0xc129 // sub ecx, eax
LONG $0x0c894166; BYTE $0x70 // mov word [r8 + 2*rsi], cx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_890
LBB1_891:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
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_1069
LBB1_193:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB1_377
WORD $0xff31 // xor edi, edi
JMP LBB1_379
LBB1_196:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff3 // movss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_198
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_555
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_555
LBB1_198:
WORD $0xc931 // xor ecx, ecx
LBB1_897:
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_899
LBB1_898:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_898
LBB1_899:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1069
LBB1_900:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x4c100ff3; WORD $0x048a // movss xmm1, dword [rdx + 4*rcx + 4]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x04 // movss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c100ff3; WORD $0x088a // movss xmm1, dword [rdx + 4*rcx + 8]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x08 // movss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c100ff3; WORD $0x0c8a // movss xmm1, dword [rdx + 4*rcx + 12]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x0c // movss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_900
JMP LBB1_1069
LBB1_199:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB1_385
WORD $0xff31 // xor edi, edi
JMP LBB1_387
LBB1_202:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff3 // movss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_204
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_558
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_558
LBB1_204:
WORD $0xc931 // xor ecx, ecx
LBB1_905:
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_907
LBB1_906:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_906
LBB1_907:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1069
LBB1_908:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x4c100ff3; WORD $0x048a // movss xmm1, dword [rdx + 4*rcx + 4]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x04 // movss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c100ff3; WORD $0x088a // movss xmm1, dword [rdx + 4*rcx + 8]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x08 // movss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c100ff3; WORD $0x0c8a // movss xmm1, dword [rdx + 4*rcx + 12]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x0c // movss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_908
JMP LBB1_1069
LBB1_205:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_207
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_561
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_561
LBB1_207:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_915
LBB1_914:
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_914
LBB1_915:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_916:
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_916
JMP LBB1_1069
LBB1_208:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff3 // movss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_210
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_564
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_564
LBB1_210:
WORD $0xc931 // xor ecx, ecx
LBB1_921:
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_923
LBB1_922:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_922
LBB1_923:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1069
LBB1_924:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x4c100ff3; WORD $0x048a // movss xmm1, dword [rdx + 4*rcx + 4]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x04 // movss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c100ff3; WORD $0x088a // movss xmm1, dword [rdx + 4*rcx + 8]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x08 // movss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c100ff3; WORD $0x0c8a // movss xmm1, dword [rdx + 4*rcx + 12]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x0c // movss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_924
JMP LBB1_1069
LBB1_211:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_213
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_567
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_567
LBB1_213:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB1_931
LBB1_930:
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_930
LBB1_931:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_932:
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_932
JMP LBB1_1069
LBB1_214:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff3 // movss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_216
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_570
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_570
LBB1_216:
WORD $0xc931 // xor ecx, ecx
LBB1_937:
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_939
LBB1_938:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc85c0ff3 // subss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_938
LBB1_939:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1069
LBB1_940:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc85c0ff3 // subss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x4c100ff3; WORD $0x048a // movss xmm1, dword [rdx + 4*rcx + 4]
LONG $0xc85c0ff3 // subss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x04 // movss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c100ff3; WORD $0x088a // movss xmm1, dword [rdx + 4*rcx + 8]
LONG $0xc85c0ff3 // subss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x08 // movss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c100ff3; WORD $0x0c8a // movss xmm1, dword [rdx + 4*rcx + 12]
LONG $0xc85c0ff3 // subss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x0c // movss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_940
JMP LBB1_1069
LBB1_217:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_219
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_573
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_573
LBB1_219:
WORD $0xf631 // xor esi, esi
LBB1_945:
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_947
LBB1_946:
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_946
LBB1_947:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_948:
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_948
JMP LBB1_1069
LBB1_220:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff3 // movss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_222
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_576
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_576
LBB1_222:
WORD $0xc931 // xor ecx, ecx
LBB1_953:
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_955
LBB1_954:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_954
LBB1_955:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1069
LBB1_956:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x4c100ff3; WORD $0x048a // movss xmm1, dword [rdx + 4*rcx + 4]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x04 // movss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c100ff3; WORD $0x088a // movss xmm1, dword [rdx + 4*rcx + 8]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x08 // movss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c100ff3; WORD $0x0c8a // movss xmm1, dword [rdx + 4*rcx + 12]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x0c // movss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_956
JMP LBB1_1069
LBB1_223:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x8b48; BYTE $0x01 // mov rax, qword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB1_225
LONG $0xd20c8d4a // lea rcx, [rdx + 8*r10]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_579
LONG $0xd00c8d4b // lea rcx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_579
LBB1_225:
WORD $0xf631 // xor esi, esi
LBB1_961:
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_963
LBB1_962:
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_962
LBB1_963:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_964:
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_964
JMP LBB1_1069
LBB1_226:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
LONG $0x01100ff3 // movss xmm0, dword [rcx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB1_228
LONG $0x820c8d48 // lea rcx, [rdx + 4*rax]
WORD $0x394c; BYTE $0xc1 // cmp rcx, r8
JBE LBB1_582
LONG $0x800c8d49 // lea rcx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xd1 // cmp rcx, rdx
JBE LBB1_582
LBB1_228:
WORD $0xc931 // xor ecx, ecx
LBB1_969:
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_971
LBB1_970:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc85c0ff3 // subss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x01c18348 // add rcx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB1_970
LBB1_971:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB1_1069
LBB1_972:
LONG $0x0c100ff3; BYTE $0x8a // movss xmm1, dword [rdx + 4*rcx]
LONG $0xc85c0ff3 // subss xmm1, xmm0
LONG $0x110f41f3; WORD $0x880c // movss dword [r8 + 4*rcx], xmm1
LONG $0x4c100ff3; WORD $0x048a // movss xmm1, dword [rdx + 4*rcx + 4]
LONG $0xc85c0ff3 // subss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x04 // movss dword [r8 + 4*rcx + 4], xmm1
LONG $0x4c100ff3; WORD $0x088a // movss xmm1, dword [rdx + 4*rcx + 8]
LONG $0xc85c0ff3 // subss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x08 // movss dword [r8 + 4*rcx + 8], xmm1
LONG $0x4c100ff3; WORD $0x0c8a // movss xmm1, dword [rdx + 4*rcx + 12]
LONG $0xc85c0ff3 // subss xmm1, xmm0
LONG $0x110f41f3; WORD $0x884c; BYTE $0x0c // movss dword [r8 + 4*rcx + 12], xmm1
LONG $0x04c18348 // add rcx, 4
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JNE LBB1_972
JMP LBB1_1069
LBB1_229:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
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_585
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB1_585
LBB1_231:
WORD $0xff31 // xor edi, edi
LBB1_977:
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_979
LBB1_978:
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_978
LBB1_979:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_980:
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_980
JMP LBB1_1069
LBB1_232:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
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_588
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB1_588
LBB1_234:
WORD $0xff31 // xor edi, edi
LBB1_985:
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_987
LBB1_986:
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_986
LBB1_987:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_988:
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_988
JMP LBB1_1069
LBB1_235:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
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_993:
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_995
LBB1_994:
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_994
LBB1_995:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_996:
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_996
JMP LBB1_1069
LBB1_238:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
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_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 $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_1002
LBB1_1003:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_1004:
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_1004
JMP LBB1_1069
LBB1_241:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
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_1009:
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_1011
LBB1_1010:
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_1010
LBB1_1011:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_1012:
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_1012
JMP LBB1_1069
LBB1_244:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018a // mov al, byte [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
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_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 $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_1018
LBB1_1019:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_1020:
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_1020
JMP LBB1_1069
LBB1_247:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_1025:
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_1027
LBB1_1026:
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_1026
LBB1_1027:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_1028:
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_1028
JMP LBB1_1069
LBB1_250:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_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:
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_1034
LBB1_1035:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_1036:
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_1036
JMP LBB1_1069
LBB1_253:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_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:
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_1042
LBB1_1043:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_1044:
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_1044
JMP LBB1_1069
LBB1_256:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_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:
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_1050
LBB1_1051:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_1052:
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_1052
JMP LBB1_1069
LBB1_259:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_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:
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_1058
LBB1_1059:
LONG $0x03f98349 // cmp r9, 3
JB LBB1_1069
LBB1_1060:
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_1060
JMP LBB1_1069
LBB1_262:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB1_1069
WORD $0x018b // mov eax, dword [rcx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_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 $0xc129 // sub 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_1069
LBB1_1068:
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_1068
JMP LBB1_1069
LBB1_319:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB1_320:
LONG $0xfa0c8b48 // mov rcx, qword [rdx + 8*rdi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf80c8949 // mov qword [r8 + 8*rdi], rcx
LONG $0xfa4c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rdi + 8]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rcx
LONG $0xfa4c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rdi + 16]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rcx
LONG $0xfa4c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rdi + 24]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rcx
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB1_320
LBB1_321:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB1_1069
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB1_323:
LONG $0xfa0c8b48 // mov rcx, qword [rdx + 8*rdi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xfe0c8948 // mov qword [rsi + 8*rdi], rcx
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB1_323
JMP LBB1_1069
LBB1_324:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB1_325:
LONG $0xfa0c8b48 // mov rcx, qword [rdx + 8*rdi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf80c8949 // mov qword [r8 + 8*rdi], rcx
LONG $0xfa4c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rdi + 8]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rcx
LONG $0xfa4c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rdi + 16]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rcx
LONG $0xfa4c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rdi + 24]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rcx
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB1_325
LBB1_326:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB1_1069
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB1_328:
LONG $0xfa0c8b48 // mov rcx, qword [rdx + 8*rdi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xfe0c8948 // mov qword [rsi + 8*rdi], rcx
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB1_328
JMP LBB1_1069
LBB1_377:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB1_378:
LONG $0xfa0c8b48 // mov rcx, qword [rdx + 8*rdi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf80c8949 // mov qword [r8 + 8*rdi], rcx
LONG $0xfa4c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rdi + 8]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rcx
LONG $0xfa4c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rdi + 16]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rcx
LONG $0xfa4c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rdi + 24]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rcx
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB1_378
LBB1_379:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB1_1069
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB1_381:
LONG $0xfa0c8b48 // mov rcx, qword [rdx + 8*rdi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xfe0c8948 // mov qword [rsi + 8*rdi], rcx
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB1_381
JMP LBB1_1069
LBB1_385:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB1_386:
LONG $0xfa0c8b48 // mov rcx, qword [rdx + 8*rdi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf80c8949 // mov qword [r8 + 8*rdi], rcx
LONG $0xfa4c8b48; BYTE $0x08 // mov rcx, qword [rdx + 8*rdi + 8]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rcx
LONG $0xfa4c8b48; BYTE $0x10 // mov rcx, qword [rdx + 8*rdi + 16]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rcx
LONG $0xfa4c8b48; BYTE $0x18 // mov rcx, qword [rdx + 8*rdi + 24]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xf84c8949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rcx
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB1_386
LBB1_387:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB1_1069
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB1_389:
LONG $0xfa0c8b48 // mov rcx, qword [rdx + 8*rdi]
LONG $0xc8af0f48 // imul rcx, rax
LONG $0xfe0c8948 // mov qword [rsi + 8*rdi], rcx
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB1_389
LBB1_1069:
RET
LBB1_453:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_621
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_455:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_455
JMP LBB1_622
LBB1_456:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_629
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_458:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_458
JMP LBB1_630
LBB1_459:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_637
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_461:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_461
JMP LBB1_638
LBB1_462:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_645
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_464:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_464
JMP LBB1_646
LBB1_465:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_653
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_467:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_467
JMP LBB1_654
LBB1_468:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
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_470:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_470
JMP LBB1_662
LBB1_471:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xfc // and ecx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
LONG $0xfc718d48 // lea rsi, [rcx - 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 LBB1_669
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_473:
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LONG $0x54100f66; WORD $0x20fa // movupd xmm2, oword [rdx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30fa // movupd xmm3, oword [rdx + 8*rdi + 48]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB1_473
JMP LBB1_670
LBB1_474:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xfc // and ecx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
LONG $0xfc718d48 // lea rsi, [rcx - 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 LBB1_677
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_476:
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LONG $0x54100f66; WORD $0x20fa // movupd xmm2, oword [rdx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30fa // movupd xmm3, oword [rdx + 8*rdi + 48]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB1_476
JMP LBB1_678
LBB1_477:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xfc // and ecx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
LONG $0xfc718d48 // lea rsi, [rcx - 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 LBB1_685
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_479:
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LONG $0x54100f66; WORD $0x20fa // movupd xmm2, oword [rdx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30fa // movupd xmm3, oword [rdx + 8*rdi + 48]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB1_479
JMP LBB1_686
LBB1_480:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xfc // and ecx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
LONG $0xfc718d48 // lea rsi, [rcx - 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 LBB1_693
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_482:
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd15c0f66 // subpd xmm2, xmm1
LONG $0xd95c0f66 // subpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LONG $0x54100f66; WORD $0x20fa // movupd xmm2, oword [rdx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30fa // movupd xmm3, oword [rdx + 8*rdi + 48]
LONG $0xd15c0f66 // subpd xmm2, xmm1
LONG $0xd95c0f66 // subpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB1_482
JMP LBB1_694
LBB1_483:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xfc // and ecx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
LONG $0xfc718d48 // lea rsi, [rcx - 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 LBB1_701
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_485:
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LONG $0x54100f66; WORD $0x20fa // movupd xmm2, oword [rdx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30fa // movupd xmm3, oword [rdx + 8*rdi + 48]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB1_485
JMP LBB1_702
LBB1_486:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xfc // and ecx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
LONG $0xfc718d48 // lea rsi, [rcx - 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 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_488:
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd15c0f66 // subpd xmm2, xmm1
LONG $0xd95c0f66 // subpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LONG $0x54100f66; WORD $0x20fa // movupd xmm2, oword [rdx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30fa // movupd xmm3, oword [rdx + 8*rdi + 48]
LONG $0xd15c0f66 // subpd xmm2, xmm1
LONG $0xd95c0f66 // subpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB1_488
JMP LBB1_710
LBB1_489:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
WORD $0xb60f; BYTE $0xc1 // movzx eax, cl
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
LONG $0x30380f66; BYTE $0xc8 // pmovzxbw xmm1, xmm0
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB1_717
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0xd06f0f66 // movdqa xmm2, xmm0
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x5d6f0f66; BYTE $0x00 // movdqa xmm3, oword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LBB1_491:
LONG $0x2c6f0ff3; BYTE $0x02 // movdqu xmm5, oword [rdx + rax]
LONG $0x746f0ff3; WORD $0x1002 // movdqu xmm6, oword [rdx + rax + 16]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x003c // movdqu oword [r8 + rax], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2002 // movdqu xmm5, oword [rdx + rax + 32]
LONG $0x746f0ff3; WORD $0x3002 // movdqu xmm6, oword [rdx + rax + 48]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x007c; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm5
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB1_491
JMP LBB1_718
LBB1_492:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
WORD $0xb60f; BYTE $0xc1 // movzx eax, cl
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
LONG $0x30380f66; BYTE $0xc8 // pmovzxbw xmm1, xmm0
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB1_725
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0xd06f0f66 // movdqa xmm2, xmm0
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x5d6f0f66; BYTE $0x00 // movdqa xmm3, oword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LBB1_494:
LONG $0x2c6f0ff3; BYTE $0x02 // movdqu xmm5, oword [rdx + rax]
LONG $0x746f0ff3; WORD $0x1002 // movdqu xmm6, oword [rdx + rax + 16]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x003c // movdqu oword [r8 + rax], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2002 // movdqu xmm5, oword [rdx + rax + 32]
LONG $0x746f0ff3; WORD $0x3002 // movdqu xmm6, oword [rdx + rax + 48]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x007c; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm5
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB1_494
JMP LBB1_726
LBB1_495:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xc8 // movzx ecx, al
LONG $0xc16e0f66 // movd xmm0, ecx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_733
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_497:
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x203a // movdqu xmm1, oword [rdx + rdi + 32]
LONG $0x546f0ff3; WORD $0x303a // movdqu xmm2, oword [rdx + rdi + 48]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_497
JMP LBB1_734
LBB1_498:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xc8 // movzx ecx, al
LONG $0xc16e0f66 // movd xmm0, ecx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_741
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_500:
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x203a // movdqu xmm1, oword [rdx + rdi + 32]
LONG $0x546f0ff3; WORD $0x303a // movdqu xmm2, oword [rdx + rdi + 48]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_500
JMP LBB1_742
LBB1_501:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xc8 // movzx ecx, al
LONG $0xc16e0f66 // movd xmm0, ecx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_749
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_503:
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x203a // movdqu xmm1, oword [rdx + rdi + 32]
LONG $0x546f0ff3; WORD $0x303a // movdqu xmm2, oword [rdx + rdi + 48]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_503
JMP LBB1_750
LBB1_504:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xc8 // movzx ecx, al
LONG $0xc16e0f66 // movd xmm0, ecx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_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_506:
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x203a // movdqu xmm1, oword [rdx + rdi + 32]
LONG $0x546f0ff3; WORD $0x303a // movdqu xmm2, oword [rdx + rdi + 48]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_506
JMP LBB1_758
LBB1_507:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
LONG $0xfc4e8d48 // lea rcx, [rsi - 4]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x02e9c149 // shr r9, 2
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_509:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c18348 // add rcx, 2
JNE LBB1_509
JMP LBB1_766
LBB1_510:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
LONG $0xfc4e8d48 // lea rcx, [rsi - 4]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x02e9c149 // shr r9, 2
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_512:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c18348 // add rcx, 2
JNE LBB1_512
JMP LBB1_774
LBB1_513:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
LONG $0xfc4e8d48 // lea rcx, [rsi - 4]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x02e9c149 // shr r9, 2
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_515:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c18348 // add rcx, 2
JNE LBB1_515
JMP LBB1_782
LBB1_516:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
LONG $0xfc4e8d48 // lea rcx, [rsi - 4]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x02e9c149 // shr r9, 2
LONG $0x01c18349 // add r9, 1
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_518:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c18348 // add rcx, 2
JNE LBB1_518
JMP LBB1_790
LBB1_519:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_521:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_521
JMP LBB1_798
LBB1_522:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_524:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_524
JMP LBB1_806
LBB1_525:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_527:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_527
JMP LBB1_814
LBB1_528:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_530:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_530
JMP LBB1_822
LBB1_531:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_533:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_533
JMP LBB1_830
LBB1_534:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_536:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_536
JMP LBB1_838
LBB1_537:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_539:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_539
JMP LBB1_846
LBB1_540:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_542:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_542
JMP LBB1_854
LBB1_543:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_545:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_545
JMP LBB1_862
LBB1_546:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_548:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_548
JMP LBB1_870
LBB1_549:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_551:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_551
JMP LBB1_878
LBB1_552:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_554:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c18348 // add rcx, 2
JNE LBB1_554
JMP LBB1_886
LBB1_555:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf8 // and ecx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
LONG $0xf8718d48 // lea rsi, [rcx - 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 LBB1_893
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_557:
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LONG $0xba54100f; BYTE $0x20 // movups xmm2, oword [rdx + 4*rdi + 32]
LONG $0xba5c100f; BYTE $0x30 // movups xmm3, oword [rdx + 4*rdi + 48]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x5c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm3
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB1_557
JMP LBB1_894
LBB1_558:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf8 // and ecx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
LONG $0xf8718d48 // lea rsi, [rcx - 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 LBB1_901
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_560:
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LONG $0xba54100f; BYTE $0x20 // movups xmm2, oword [rdx + 4*rdi + 32]
LONG $0xba5c100f; BYTE $0x30 // movups xmm3, oword [rdx + 4*rdi + 48]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x5c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm3
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB1_560
JMP LBB1_902
LBB1_561:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
LONG $0xfc4e8d48 // lea rcx, [rsi - 4]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x02e9c149 // shr r9, 2
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_563:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c18348 // add rcx, 2
JNE LBB1_563
JMP LBB1_910
LBB1_564:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf8 // and ecx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
LONG $0xf8718d48 // lea rsi, [rcx - 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 LBB1_917
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_566:
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LONG $0xba54100f; BYTE $0x20 // movups xmm2, oword [rdx + 4*rdi + 32]
LONG $0xba5c100f; BYTE $0x30 // movups xmm3, oword [rdx + 4*rdi + 48]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x5c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm3
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB1_566
JMP LBB1_918
LBB1_567:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
LONG $0xfc4e8d48 // lea rcx, [rsi - 4]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x02e9c149 // shr r9, 2
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_569:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c18348 // add rcx, 2
JNE LBB1_569
JMP LBB1_926
LBB1_570:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf8 // and ecx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
LONG $0xf8718d48 // lea rsi, [rcx - 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 LBB1_933
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_572:
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x5c0f; BYTE $0xd1 // subps xmm2, xmm1
WORD $0x5c0f; BYTE $0xd9 // subps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LONG $0xba54100f; BYTE $0x20 // movups xmm2, oword [rdx + 4*rdi + 32]
LONG $0xba5c100f; BYTE $0x30 // movups xmm3, oword [rdx + 4*rdi + 48]
WORD $0x5c0f; BYTE $0xd1 // subps xmm2, xmm1
WORD $0x5c0f; BYTE $0xd9 // subps xmm3, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x5c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm3
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB1_572
JMP LBB1_934
LBB1_573:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
LONG $0xfc4e8d48 // lea rcx, [rsi - 4]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x02e9c149 // shr r9, 2
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_941
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_575:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c18348 // add rcx, 2
JNE LBB1_575
JMP LBB1_942
LBB1_576:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf8 // and ecx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
LONG $0xf8718d48 // lea rsi, [rcx - 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 LBB1_949
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_578:
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LONG $0xba54100f; BYTE $0x20 // movups xmm2, oword [rdx + 4*rdi + 32]
LONG $0xba5c100f; BYTE $0x30 // movups xmm3, oword [rdx + 4*rdi + 48]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x5c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm3
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB1_578
JMP LBB1_950
LBB1_579:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
LONG $0xfc4e8d48 // lea rcx, [rsi - 4]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x02e9c149 // shr r9, 2
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_957
WORD $0x894c; BYTE $0xc9 // mov rcx, r9
LONG $0xfee18348 // and rcx, -2
WORD $0xf748; BYTE $0xd9 // neg rcx
WORD $0xff31 // xor edi, edi
LBB1_581:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c18348 // add rcx, 2
JNE LBB1_581
JMP LBB1_958
LBB1_582:
WORD $0xc189 // mov ecx, eax
WORD $0xe183; BYTE $0xf8 // and ecx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
LONG $0xf8718d48 // lea rsi, [rcx - 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 LBB1_965
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB1_584:
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x5c0f; BYTE $0xd1 // subps xmm2, xmm1
WORD $0x5c0f; BYTE $0xd9 // subps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LONG $0xba54100f; BYTE $0x20 // movups xmm2, oword [rdx + 4*rdi + 32]
LONG $0xba5c100f; BYTE $0x30 // movups xmm3, oword [rdx + 4*rdi + 48]
WORD $0x5c0f; BYTE $0xd1 // subps xmm2, xmm1
WORD $0x5c0f; BYTE $0xd9 // subps xmm3, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x5c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm3
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB1_584
JMP LBB1_966
LBB1_585:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
WORD $0xb60f; BYTE $0xc1 // movzx eax, cl
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
LONG $0x30380f66; BYTE $0xc8 // pmovzxbw xmm1, xmm0
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB1_973
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0xd06f0f66 // movdqa xmm2, xmm0
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x5d6f0f66; BYTE $0x00 // movdqa xmm3, oword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LBB1_587:
LONG $0x2c6f0ff3; BYTE $0x02 // movdqu xmm5, oword [rdx + rax]
LONG $0x746f0ff3; WORD $0x1002 // movdqu xmm6, oword [rdx + rax + 16]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x003c // movdqu oword [r8 + rax], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2002 // movdqu xmm5, oword [rdx + rax + 32]
LONG $0x746f0ff3; WORD $0x3002 // movdqu xmm6, oword [rdx + rax + 48]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x007c; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm5
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB1_587
JMP LBB1_974
LBB1_588:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
WORD $0xb60f; BYTE $0xc1 // movzx eax, cl
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
LONG $0x30380f66; BYTE $0xc8 // pmovzxbw xmm1, xmm0
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB1_981
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0xd06f0f66 // movdqa xmm2, xmm0
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x5d6f0f66; BYTE $0x00 // movdqa xmm3, oword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LBB1_590:
LONG $0x2c6f0ff3; BYTE $0x02 // movdqu xmm5, oword [rdx + rax]
LONG $0x746f0ff3; WORD $0x1002 // movdqu xmm6, oword [rdx + rax + 16]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x003c // movdqu oword [r8 + rax], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2002 // movdqu xmm5, oword [rdx + rax + 32]
LONG $0x746f0ff3; WORD $0x3002 // movdqu xmm6, oword [rdx + rax + 48]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x007c; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm5
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB1_590
JMP LBB1_982
LBB1_591:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xc8 // movzx ecx, al
LONG $0xc16e0f66 // movd xmm0, ecx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_989
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 $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x203a // movdqu xmm1, oword [rdx + rdi + 32]
LONG $0x546f0ff3; WORD $0x303a // movdqu xmm2, oword [rdx + rdi + 48]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_593
JMP LBB1_990
LBB1_594:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xc8 // movzx ecx, al
LONG $0xc16e0f66 // movd xmm0, ecx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_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_596:
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x203a // movdqu xmm1, oword [rdx + rdi + 32]
LONG $0x546f0ff3; WORD $0x303a // movdqu xmm2, oword [rdx + rdi + 48]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_596
JMP LBB1_998
LBB1_597:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xc8 // movzx ecx, al
LONG $0xc16e0f66 // movd xmm0, ecx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_1005
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 $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x203a // movdqu xmm1, oword [rdx + rdi + 32]
LONG $0x546f0ff3; WORD $0x303a // movdqu xmm2, oword [rdx + rdi + 48]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_599
JMP LBB1_1006
LBB1_600:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xc8 // movzx ecx, al
LONG $0xc16e0f66 // movd xmm0, ecx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_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_602:
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x203a // movdqu xmm1, oword [rdx + rdi + 32]
LONG $0x546f0ff3; WORD $0x303a // movdqu xmm2, oword [rdx + rdi + 48]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c18348 // add rcx, 2
JNE LBB1_602
JMP LBB1_1014
LBB1_603:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc9 // test rcx, rcx
JE LBB1_1021
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 $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_605
JMP LBB1_1022
LBB1_606:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
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_608:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_608
JMP LBB1_1030
LBB1_609:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
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_611:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_611
JMP LBB1_1038
LBB1_612:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
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_614:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_614
JMP LBB1_1046
LBB1_615:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
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_617:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_617
JMP LBB1_1054
LBB1_618:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf84e8d48 // lea rcx, [rsi - 8]
WORD $0x8949; BYTE $0xc9 // mov r9, rcx
LONG $0x03e9c149 // shr r9, 3
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_620:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c18348 // add rcx, 2
JNE LBB1_620
JMP LBB1_1062
LBB1_621:
WORD $0xff31 // xor edi, edi
LBB1_622:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_624
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_624:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_625
LBB1_629:
WORD $0xff31 // xor edi, edi
LBB1_630:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_632
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_632:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_633
LBB1_637:
WORD $0xff31 // xor edi, edi
LBB1_638:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_640
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_640:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_641
LBB1_645:
WORD $0xff31 // xor edi, edi
LBB1_646:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_648
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_648:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_649
LBB1_653:
WORD $0xff31 // xor edi, edi
LBB1_654:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_656
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_656:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_657
LBB1_661:
WORD $0xff31 // xor edi, edi
LBB1_662:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_664
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_664:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_665
LBB1_669:
WORD $0xff31 // xor edi, edi
LBB1_670:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_672
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LBB1_672:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_673
LBB1_677:
WORD $0xff31 // xor edi, edi
LBB1_678:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_680
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LBB1_680:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_681
LBB1_685:
WORD $0xff31 // xor edi, edi
LBB1_686:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_688
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LBB1_688:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_689
LBB1_693:
WORD $0xff31 // xor edi, edi
LBB1_694:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_696
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd15c0f66 // subpd xmm2, xmm1
LONG $0xd95c0f66 // subpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LBB1_696:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_697
LBB1_701:
WORD $0xff31 // xor edi, edi
LBB1_702:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_704
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LBB1_704:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_705
LBB1_709:
WORD $0xff31 // xor edi, edi
LBB1_710:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_712
LONG $0x14100f66; BYTE $0xfa // movupd xmm2, oword [rdx + 8*rdi]
LONG $0x5c100f66; WORD $0x10fa // movupd xmm3, oword [rdx + 8*rdi + 16]
LONG $0xd15c0f66 // subpd xmm2, xmm1
LONG $0xd95c0f66 // subpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LBB1_712:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_713
LBB1_717:
WORD $0xc031 // xor eax, eax
LBB1_718:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_720
LONG $0x146f0ff3; BYTE $0x02 // movdqu xmm2, oword [rdx + rax]
LONG $0x5c6f0ff3; WORD $0x1002 // movdqu xmm3, oword [rdx + rax + 16]
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0x30380f66; BYTE $0xea // pmovzxbw xmm5, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0xd4d50f66 // pmullw xmm2, xmm4
LONG $0x656f0f66; BYTE $0x00 // movdqa xmm4, oword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xecdb0f66 // pand xmm5, xmm4
LONG $0xea670f66 // packuswb xmm5, xmm2
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0x30380f66; BYTE $0xd3 // pmovzxbw xmm2, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd8d50f66 // pmullw xmm3, xmm0
LONG $0xdcdb0f66 // pand xmm3, xmm4
LONG $0xd1d50f66 // pmullw xmm2, xmm1
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xd3670f66 // packuswb xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0054; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm2
LBB1_720:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB1_1069
JMP LBB1_721
LBB1_725:
WORD $0xc031 // xor eax, eax
LBB1_726:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_728
LONG $0x146f0ff3; BYTE $0x02 // movdqu xmm2, oword [rdx + rax]
LONG $0x5c6f0ff3; WORD $0x1002 // movdqu xmm3, oword [rdx + rax + 16]
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0x30380f66; BYTE $0xea // pmovzxbw xmm5, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0xd4d50f66 // pmullw xmm2, xmm4
LONG $0x656f0f66; BYTE $0x00 // movdqa xmm4, oword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xecdb0f66 // pand xmm5, xmm4
LONG $0xea670f66 // packuswb xmm5, xmm2
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0x30380f66; BYTE $0xd3 // pmovzxbw xmm2, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd8d50f66 // pmullw xmm3, xmm0
LONG $0xdcdb0f66 // pand xmm3, xmm4
LONG $0xd1d50f66 // pmullw xmm2, xmm1
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xd3670f66 // packuswb xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0054; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm2
LBB1_728:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB1_1069
JMP LBB1_729
LBB1_733:
WORD $0xff31 // xor edi, edi
LBB1_734:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_736
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB1_736:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_737
LBB1_741:
WORD $0xff31 // xor edi, edi
LBB1_742:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_744
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB1_744:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_745
LBB1_749:
WORD $0xff31 // xor edi, edi
LBB1_750:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_752
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB1_752:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_753
LBB1_757:
WORD $0xff31 // xor edi, edi
LBB1_758:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_760
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB1_760:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_761
LBB1_765:
WORD $0xff31 // xor edi, edi
LBB1_766:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_768
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB1_768:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_769
LBB1_773:
WORD $0xff31 // xor edi, edi
LBB1_774:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_776
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB1_776:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_777
LBB1_781:
WORD $0xff31 // xor edi, edi
LBB1_782:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_784
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB1_784:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_785
LBB1_789:
WORD $0xff31 // xor edi, edi
LBB1_790:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_792
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB1_792:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_793
LBB1_797:
WORD $0xff31 // xor edi, edi
LBB1_798:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_800
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_800:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_801
LBB1_805:
WORD $0xff31 // xor edi, edi
LBB1_806:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_808
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_808:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_809
LBB1_813:
WORD $0xff31 // xor edi, edi
LBB1_814:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_816
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_816:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_817
LBB1_821:
WORD $0xff31 // xor edi, edi
LBB1_822:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_824
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_824:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_825
LBB1_829:
WORD $0xff31 // xor edi, edi
LBB1_830:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_832
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_832:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_833
LBB1_837:
WORD $0xff31 // xor edi, edi
LBB1_838:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_840
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_840:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_841
LBB1_845:
WORD $0xff31 // xor edi, edi
LBB1_846:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_848
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_848:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_849
LBB1_853:
WORD $0xff31 // xor edi, edi
LBB1_854:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_856
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_856:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_857
LBB1_861:
WORD $0xff31 // xor edi, edi
LBB1_862:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_864
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_864:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_865
LBB1_869:
WORD $0xff31 // xor edi, edi
LBB1_870:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_872
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_872:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_873
LBB1_877:
WORD $0xff31 // xor edi, edi
LBB1_878:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_880
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_880:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_881
LBB1_885:
WORD $0xff31 // xor edi, edi
LBB1_886:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_888
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xc8f90f66 // psubw xmm1, xmm0
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB1_888:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_889
LBB1_893:
WORD $0xff31 // xor edi, edi
LBB1_894:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_896
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LBB1_896:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_897
LBB1_901:
WORD $0xff31 // xor edi, edi
LBB1_902:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_904
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LBB1_904:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_905
LBB1_909:
WORD $0xff31 // xor edi, edi
LBB1_910:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_912
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB1_912:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_913
LBB1_917:
WORD $0xff31 // xor edi, edi
LBB1_918:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_920
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LBB1_920:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_921
LBB1_925:
WORD $0xff31 // xor edi, edi
LBB1_926:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_928
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB1_928:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_929
LBB1_933:
WORD $0xff31 // xor edi, edi
LBB1_934:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_936
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x5c0f; BYTE $0xd1 // subps xmm2, xmm1
WORD $0x5c0f; BYTE $0xd9 // subps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LBB1_936:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_937
LBB1_941:
WORD $0xff31 // xor edi, edi
LBB1_942:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_944
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB1_944:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_945
LBB1_949:
WORD $0xff31 // xor edi, edi
LBB1_950:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_952
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LBB1_952:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_953
LBB1_957:
WORD $0xff31 // xor edi, edi
LBB1_958:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_960
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8fb0f66 // psubq xmm1, xmm0
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB1_960:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_961
LBB1_965:
WORD $0xff31 // xor edi, edi
LBB1_966:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_968
LONG $0xba14100f // movups xmm2, oword [rdx + 4*rdi]
LONG $0xba5c100f; BYTE $0x10 // movups xmm3, oword [rdx + 4*rdi + 16]
WORD $0x5c0f; BYTE $0xd1 // subps xmm2, xmm1
WORD $0x5c0f; BYTE $0xd9 // subps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LBB1_968:
WORD $0x3948; BYTE $0xc1 // cmp rcx, rax
JE LBB1_1069
JMP LBB1_969
LBB1_973:
WORD $0xc031 // xor eax, eax
LBB1_974:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_976
LONG $0x146f0ff3; BYTE $0x02 // movdqu xmm2, oword [rdx + rax]
LONG $0x5c6f0ff3; WORD $0x1002 // movdqu xmm3, oword [rdx + rax + 16]
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0x30380f66; BYTE $0xea // pmovzxbw xmm5, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0xd4d50f66 // pmullw xmm2, xmm4
LONG $0x656f0f66; BYTE $0x00 // movdqa xmm4, oword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xecdb0f66 // pand xmm5, xmm4
LONG $0xea670f66 // packuswb xmm5, xmm2
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0x30380f66; BYTE $0xd3 // pmovzxbw xmm2, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd8d50f66 // pmullw xmm3, xmm0
LONG $0xdcdb0f66 // pand xmm3, xmm4
LONG $0xd1d50f66 // pmullw xmm2, xmm1
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xd3670f66 // packuswb xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0054; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm2
LBB1_976:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB1_1069
JMP LBB1_977
LBB1_981:
WORD $0xc031 // xor eax, eax
LBB1_982:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_984
LONG $0x146f0ff3; BYTE $0x02 // movdqu xmm2, oword [rdx + rax]
LONG $0x5c6f0ff3; WORD $0x1002 // movdqu xmm3, oword [rdx + rax + 16]
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0x30380f66; BYTE $0xea // pmovzxbw xmm5, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0xd4d50f66 // pmullw xmm2, xmm4
LONG $0x656f0f66; BYTE $0x00 // movdqa xmm4, oword 0[rbp] /* [rip + .LCPI1_0] */
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xecdb0f66 // pand xmm5, xmm4
LONG $0xea670f66 // packuswb xmm5, xmm2
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0x30380f66; BYTE $0xd3 // pmovzxbw xmm2, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd8d50f66 // pmullw xmm3, xmm0
LONG $0xdcdb0f66 // pand xmm3, xmm4
LONG $0xd1d50f66 // pmullw xmm2, xmm1
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xd3670f66 // packuswb xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0054; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm2
LBB1_984:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB1_1069
JMP LBB1_985
LBB1_989:
WORD $0xff31 // xor edi, edi
LBB1_990:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_992
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB1_992:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_993
LBB1_997:
WORD $0xff31 // xor edi, edi
LBB1_998:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1000
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB1_1000:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_1001
LBB1_1005:
WORD $0xff31 // xor edi, edi
LBB1_1006:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1008
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB1_1008:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_1009
LBB1_1013:
WORD $0xff31 // xor edi, edi
LBB1_1014:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1016
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xc8f80f66 // psubb xmm1, xmm0
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB1_1016:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_1017
LBB1_1021:
WORD $0xff31 // xor edi, edi
LBB1_1022:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1024
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_1024:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_1025
LBB1_1029:
WORD $0xff31 // xor edi, edi
LBB1_1030:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1032
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_1032:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_1033
LBB1_1037:
WORD $0xff31 // xor edi, edi
LBB1_1038:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1040
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_1040:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_1041
LBB1_1045:
WORD $0xff31 // xor edi, edi
LBB1_1046:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1048
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_1048:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_1049
LBB1_1053:
WORD $0xff31 // xor edi, edi
LBB1_1054:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1056
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_1056:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_1057
LBB1_1061:
WORD $0xff31 // xor edi, edi
LBB1_1062:
LONG $0x01c1f641 // test r9b, 1
JE LBB1_1064
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8fa0f66 // psubd xmm1, xmm0
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB1_1064:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB1_1069
JMP LBB1_1065
DATA LCDATA3<>+0x000(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA3<>+0x008(SB)/8, $0x00ff00ff00ff00ff
GLOBL LCDATA3<>(SB), 8, $16
TEXT ยท_arithmetic_scalar_arr_sse4(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_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_11
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_453
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_453
LBB2_11:
WORD $0xf631 // xor esi, esi
LBB2_625:
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_627
LBB2_626:
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_626
LBB2_627:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_628:
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_628
JMP LBB2_1069
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_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_22
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_456
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_456
LBB2_22:
WORD $0xf631 // xor esi, esi
LBB2_633:
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_635
LBB2_634:
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_634
LBB2_635:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_636:
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_636
JMP LBB2_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_30
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_459
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_459
LBB2_30:
WORD $0xf631 // xor esi, esi
LBB2_641:
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_643
LBB2_642:
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_642
LBB2_643:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_644:
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_644
JMP LBB2_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b44; BYTE $0x1a // mov r11d, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_38
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_462
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_462
LBB2_38:
WORD $0xf631 // xor esi, esi
LBB2_649:
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_651
LBB2_650:
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_650
LBB2_651:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_652:
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_652
JMP LBB2_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_46
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_465
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_465
LBB2_46:
WORD $0xf631 // xor esi, esi
LBB2_657:
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_659
LBB2_658:
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_658
LBB2_659:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_660:
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_660
JMP LBB2_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b44; BYTE $0x1a // mov r11d, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_54
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_468
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_468
LBB2_54:
WORD $0xf631 // xor esi, esi
LBB2_665:
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_667
LBB2_666:
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_666
LBB2_667:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_668:
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_668
JMP LBB2_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff2 // movsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_61
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_471
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_471
LBB2_61:
WORD $0xd231 // xor edx, edx
LBB2_673:
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_675
LBB2_674:
LONG $0x0c100ff2; BYTE $0xd1 // movsd xmm1, qword [rcx + 8*rdx]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd00c // movsd qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_674
LBB2_675:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1069
LBB2_676:
LONG $0x0c100ff2; BYTE $0xd1 // movsd xmm1, qword [rcx + 8*rdx]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd00c // movsd qword [r8 + 8*rdx], xmm1
LONG $0x4c100ff2; WORD $0x08d1 // movsd xmm1, qword [rcx + 8*rdx + 8]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x08 // movsd qword [r8 + 8*rdx + 8], xmm1
LONG $0x4c100ff2; WORD $0x10d1 // movsd xmm1, qword [rcx + 8*rdx + 16]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x10 // movsd qword [r8 + 8*rdx + 16], xmm1
LONG $0x4c100ff2; WORD $0x18d1 // movsd xmm1, qword [rcx + 8*rdx + 24]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x18 // movsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_676
JMP LBB2_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff2 // movsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_68
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_474
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_474
LBB2_68:
WORD $0xd231 // xor edx, edx
LBB2_681:
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_683
LBB2_682:
LONG $0x0c100ff2; BYTE $0xd1 // movsd xmm1, qword [rcx + 8*rdx]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd00c // movsd qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_682
LBB2_683:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1069
LBB2_684:
LONG $0x0c100ff2; BYTE $0xd1 // movsd xmm1, qword [rcx + 8*rdx]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd00c // movsd qword [r8 + 8*rdx], xmm1
LONG $0x4c100ff2; WORD $0x08d1 // movsd xmm1, qword [rcx + 8*rdx + 8]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x08 // movsd qword [r8 + 8*rdx + 8], xmm1
LONG $0x4c100ff2; WORD $0x10d1 // movsd xmm1, qword [rcx + 8*rdx + 16]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x10 // movsd qword [r8 + 8*rdx + 16], xmm1
LONG $0x4c100ff2; WORD $0x18d1 // movsd xmm1, qword [rcx + 8*rdx + 24]
LONG $0xc8590ff2 // mulsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x18 // movsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_684
JMP LBB2_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff2 // movsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_75
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_477
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_477
LBB2_75:
WORD $0xd231 // xor edx, edx
LBB2_689:
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_691
LBB2_690:
LONG $0x0c100ff2; BYTE $0xd1 // movsd xmm1, qword [rcx + 8*rdx]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd00c // movsd qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_690
LBB2_691:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1069
LBB2_692:
LONG $0x0c100ff2; BYTE $0xd1 // movsd xmm1, qword [rcx + 8*rdx]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd00c // movsd qword [r8 + 8*rdx], xmm1
LONG $0x4c100ff2; WORD $0x08d1 // movsd xmm1, qword [rcx + 8*rdx + 8]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x08 // movsd qword [r8 + 8*rdx + 8], xmm1
LONG $0x4c100ff2; WORD $0x10d1 // movsd xmm1, qword [rcx + 8*rdx + 16]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x10 // movsd qword [r8 + 8*rdx + 16], xmm1
LONG $0x4c100ff2; WORD $0x18d1 // movsd xmm1, qword [rcx + 8*rdx + 24]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x18 // movsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_692
JMP LBB2_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff2 // movsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_82
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_480
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_480
LBB2_82:
WORD $0xd231 // xor edx, edx
LBB2_697:
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_699
LBB2_698:
LONG $0xc8280f66 // movapd xmm1, xmm0
LONG $0x0c5c0ff2; BYTE $0xd1 // subsd xmm1, qword [rcx + 8*rdx]
LONG $0x110f41f2; WORD $0xd00c // movsd qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_698
LBB2_699:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1069
LBB2_700:
LONG $0xc8280f66 // movapd xmm1, xmm0
LONG $0x0c5c0ff2; BYTE $0xd1 // subsd xmm1, qword [rcx + 8*rdx]
LONG $0x110f41f2; WORD $0xd00c // movsd qword [r8 + 8*rdx], xmm1
LONG $0xc8280f66 // movapd xmm1, xmm0
LONG $0x4c5c0ff2; WORD $0x08d1 // subsd xmm1, qword [rcx + 8*rdx + 8]
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x08 // movsd qword [r8 + 8*rdx + 8], xmm1
LONG $0xc8280f66 // movapd xmm1, xmm0
LONG $0x4c5c0ff2; WORD $0x10d1 // subsd xmm1, qword [rcx + 8*rdx + 16]
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x10 // movsd qword [r8 + 8*rdx + 16], xmm1
LONG $0xc8280f66 // movapd xmm1, xmm0
LONG $0x4c5c0ff2; WORD $0x18d1 // subsd xmm1, qword [rcx + 8*rdx + 24]
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x18 // movsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_700
JMP LBB2_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff2 // movsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_89
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_483
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_483
LBB2_89:
WORD $0xd231 // xor edx, edx
LBB2_705:
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_707
LBB2_706:
LONG $0x0c100ff2; BYTE $0xd1 // movsd xmm1, qword [rcx + 8*rdx]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd00c // movsd qword [r8 + 8*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_706
LBB2_707:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1069
LBB2_708:
LONG $0x0c100ff2; BYTE $0xd1 // movsd xmm1, qword [rcx + 8*rdx]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd00c // movsd qword [r8 + 8*rdx], xmm1
LONG $0x4c100ff2; WORD $0x08d1 // movsd xmm1, qword [rcx + 8*rdx + 8]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x08 // movsd qword [r8 + 8*rdx + 8], xmm1
LONG $0x4c100ff2; WORD $0x10d1 // movsd xmm1, qword [rcx + 8*rdx + 16]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x10 // movsd qword [r8 + 8*rdx + 16], xmm1
LONG $0x4c100ff2; WORD $0x18d1 // movsd xmm1, qword [rcx + 8*rdx + 24]
LONG $0xc8580ff2 // addsd xmm1, xmm0
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x18 // movsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_708
JMP LBB2_1069
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_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff2 // movsd xmm0, qword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_96
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_486
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_486
LBB2_96:
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 $0xc8280f66 // movapd xmm1, xmm0
LONG $0x0c5c0ff2; BYTE $0xd1 // subsd xmm1, qword [rcx + 8*rdx]
LONG $0x110f41f2; WORD $0xd00c // movsd 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_1069
LBB2_716:
LONG $0xc8280f66 // movapd xmm1, xmm0
LONG $0x0c5c0ff2; BYTE $0xd1 // subsd xmm1, qword [rcx + 8*rdx]
LONG $0x110f41f2; WORD $0xd00c // movsd qword [r8 + 8*rdx], xmm1
LONG $0xc8280f66 // movapd xmm1, xmm0
LONG $0x4c5c0ff2; WORD $0x08d1 // subsd xmm1, qword [rcx + 8*rdx + 8]
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x08 // movsd qword [r8 + 8*rdx + 8], xmm1
LONG $0xc8280f66 // movapd xmm1, xmm0
LONG $0x4c5c0ff2; WORD $0x10d1 // subsd xmm1, qword [rcx + 8*rdx + 16]
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x10 // movsd qword [r8 + 8*rdx + 16], xmm1
LONG $0xc8280f66 // movapd xmm1, xmm0
LONG $0x4c5c0ff2; WORD $0x18d1 // subsd xmm1, qword [rcx + 8*rdx + 24]
LONG $0x110f41f2; WORD $0xd04c; BYTE $0x18 // movsd qword [r8 + 8*rdx + 24], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_716
JMP LBB2_1069
LBB2_97:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_229
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
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_489
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB2_489
LBB2_101:
WORD $0xff31 // xor edi, edi
LBB2_721:
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_723
LBB2_722:
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_722
LBB2_723:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_724:
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_724
JMP LBB2_1069
LBB2_102:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_232
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
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_492
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB2_492
LBB2_106:
WORD $0xff31 // xor edi, edi
LBB2_729:
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_731
LBB2_730:
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_730
LBB2_731:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_732:
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_732
JMP LBB2_1069
LBB2_107:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_235
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_111
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_495
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_495
LBB2_111:
WORD $0xf631 // xor esi, esi
LBB2_737:
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_739
LBB2_738:
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_738
LBB2_739:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_740:
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_740
JMP LBB2_1069
LBB2_112:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_238
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8a44; BYTE $0x1a // mov r11b, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_116
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_498
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_498
LBB2_116:
WORD $0xf631 // xor esi, esi
LBB2_745:
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_747
LBB2_746:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
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 LBB2_746
LBB2_747:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_748:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0131442a // sub al, byte [rcx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0231442a // sub al, byte [rcx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
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 LBB2_748
JMP LBB2_1069
LBB2_117:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_241
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_121
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_501
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_501
LBB2_121:
WORD $0xf631 // xor esi, esi
LBB2_753:
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_755
LBB2_754:
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_754
LBB2_755:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_756:
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_756
JMP LBB2_1069
LBB2_122:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB2_244
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8a44; BYTE $0x1a // mov r11b, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB2_126
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_504
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_504
LBB2_126:
WORD $0xf631 // xor esi, esi
LBB2_761:
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_763
LBB2_762:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
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 LBB2_762
LBB2_763:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_764:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0131442a // sub al, byte [rcx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0231442a // sub al, byte [rcx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
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 LBB2_764
JMP LBB2_1069
LBB2_127:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_247
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB2_319
WORD $0xff31 // xor edi, edi
JMP LBB2_321
LBB2_132:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_250
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB2_324
WORD $0xff31 // xor edi, edi
JMP LBB2_326
LBB2_137:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_253
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_141
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_507
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_507
LBB2_141:
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:
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_770
LBB2_771:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_772:
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_772
JMP LBB2_1069
LBB2_142:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_256
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b4c; BYTE $0x1a // mov r11, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_146
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_510
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_510
LBB2_146:
WORD $0xf631 // xor esi, esi
LBB2_777:
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_779
LBB2_778:
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_778
LBB2_779:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_780:
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_780
JMP LBB2_1069
LBB2_147:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_259
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_151
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_513
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_513
LBB2_151:
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:
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_786
LBB2_787:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_788:
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_788
JMP LBB2_1069
LBB2_152:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB2_262
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB2_1069
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b4c; BYTE $0x1a // mov r11, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_156
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_516
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_516
LBB2_156:
WORD $0xf631 // xor esi, esi
LBB2_793:
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_795
LBB2_794:
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_794
LBB2_795:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_796:
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_796
JMP LBB2_1069
LBB2_157:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_159
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_519
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_519
LBB2_159:
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 $0x7114b70f // movzx edx, word [rcx + 2*rsi]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_802
LBB2_803:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_804:
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_804
JMP LBB2_1069
LBB2_160:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_162
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_522
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_522
LBB2_162:
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 $0x7114b70f // movzx edx, word [rcx + 2*rsi]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_810
LBB2_811:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_812:
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_812
JMP LBB2_1069
LBB2_163:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_165
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_525
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_525
LBB2_165:
WORD $0xf631 // xor esi, esi
LBB2_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 LBB2_819
LBB2_818:
LONG $0x7114b70f // movzx edx, word [rcx + 2*rsi]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_818
LBB2_819:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_820:
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_820
JMP LBB2_1069
LBB2_166:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_168
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_528
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_528
LBB2_168:
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 $0x7114b70f // movzx edx, word [rcx + 2*rsi]
LONG $0xd0af0f66 // imul dx, ax
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_826
LBB2_827:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_828:
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_828
JMP LBB2_1069
LBB2_169:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_171
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_531
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_531
LBB2_171:
WORD $0xf631 // xor esi, esi
LBB2_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 LBB2_835
LBB2_834:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_834
LBB2_835:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_836:
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_836
JMP LBB2_1069
LBB2_172:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_174
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_534
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_534
LBB2_174:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_843
LBB2_842:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_842
LBB2_843:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_844:
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_844
JMP LBB2_1069
LBB2_175:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_177
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_537
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_537
LBB2_177:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_851
LBB2_850:
WORD $0xc289 // mov edx, eax
LONG $0x71142b66 // sub dx, word [rcx + 2*rsi]
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_850
LBB2_851:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_852:
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_852
JMP LBB2_1069
LBB2_178:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_180
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_540
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_540
LBB2_180:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_859
LBB2_858:
WORD $0xc289 // mov edx, eax
LONG $0x71142b66 // sub dx, word [rcx + 2*rsi]
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_858
LBB2_859:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_860:
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_860
JMP LBB2_1069
LBB2_181:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_183
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_543
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_543
LBB2_183:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_867
LBB2_866:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_866
LBB2_867:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_868:
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_868
JMP LBB2_1069
LBB2_184:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_186
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_546
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_546
LBB2_186:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_875
LBB2_874:
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 $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_874
LBB2_875:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
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_1069
LBB2_187:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_189
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_549
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_549
LBB2_189:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_883
LBB2_882:
WORD $0xc289 // mov edx, eax
LONG $0x71142b66 // sub dx, word [rcx + 2*rsi]
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_882
LBB2_883:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_884:
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_884
JMP LBB2_1069
LBB2_190:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0xb70f; BYTE $0x02 // movzx eax, word [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB2_192
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_552
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_552
LBB2_192:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_891
LBB2_890:
WORD $0xc289 // mov edx, eax
LONG $0x71142b66 // sub dx, word [rcx + 2*rsi]
LONG $0x14894166; BYTE $0x70 // mov word [r8 + 2*rsi], dx
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_890
LBB2_891:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
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_1069
LBB2_193:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB2_377
WORD $0xff31 // xor edi, edi
JMP LBB2_379
LBB2_196:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff3 // movss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_198
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_555
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_555
LBB2_198:
WORD $0xd231 // xor edx, edx
LBB2_897:
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_899
LBB2_898:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_898
LBB2_899:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1069
LBB2_900:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
LONG $0x4c100ff3; WORD $0x0491 // movss xmm1, dword [rcx + 4*rdx + 4]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x04 // movss dword [r8 + 4*rdx + 4], xmm1
LONG $0x4c100ff3; WORD $0x0891 // movss xmm1, dword [rcx + 4*rdx + 8]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x08 // movss dword [r8 + 4*rdx + 8], xmm1
LONG $0x4c100ff3; WORD $0x0c91 // movss xmm1, dword [rcx + 4*rdx + 12]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x0c // movss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_900
JMP LBB2_1069
LBB2_199:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8944; BYTE $0xce // mov esi, r9d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf1 // mov r9d, esi
LONG $0x03e18341 // and r9d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB2_385
WORD $0xff31 // xor edi, edi
JMP LBB2_387
LBB2_202:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff3 // movss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_204
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_558
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_558
LBB2_204:
WORD $0xd231 // xor edx, edx
LBB2_905:
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_907
LBB2_906:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_906
LBB2_907:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1069
LBB2_908:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
LONG $0x4c100ff3; WORD $0x0491 // movss xmm1, dword [rcx + 4*rdx + 4]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x04 // movss dword [r8 + 4*rdx + 4], xmm1
LONG $0x4c100ff3; WORD $0x0891 // movss xmm1, dword [rcx + 4*rdx + 8]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x08 // movss dword [r8 + 4*rdx + 8], xmm1
LONG $0x4c100ff3; WORD $0x0c91 // movss xmm1, dword [rcx + 4*rdx + 12]
LONG $0xc8590ff3 // mulss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x0c // movss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_908
JMP LBB2_1069
LBB2_205:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_207
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_561
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_561
LBB2_207:
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 $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB2_915
LBB2_914:
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_914
LBB2_915:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_916:
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_916
JMP LBB2_1069
LBB2_208:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff3 // movss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_210
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_564
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_564
LBB2_210:
WORD $0xd231 // xor edx, edx
LBB2_921:
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_923
LBB2_922:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_922
LBB2_923:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1069
LBB2_924:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
LONG $0x4c100ff3; WORD $0x0491 // movss xmm1, dword [rcx + 4*rdx + 4]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x04 // movss dword [r8 + 4*rdx + 4], xmm1
LONG $0x4c100ff3; WORD $0x0891 // movss xmm1, dword [rcx + 4*rdx + 8]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x08 // movss dword [r8 + 4*rdx + 8], xmm1
LONG $0x4c100ff3; WORD $0x0c91 // movss xmm1, dword [rcx + 4*rdx + 12]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x0c // movss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_924
JMP LBB2_1069
LBB2_211:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b4c; BYTE $0x1a // mov r11, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_213
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_567
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_567
LBB2_213:
WORD $0xf631 // xor esi, esi
LBB2_929:
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_931
LBB2_930:
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_930
LBB2_931:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_932:
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_932
JMP LBB2_1069
LBB2_214:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff3 // movss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_216
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_570
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_570
LBB2_216:
WORD $0xd231 // xor edx, edx
LBB2_937:
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_939
LBB2_938:
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x0c5c0ff3; BYTE $0x91 // subss xmm1, dword [rcx + 4*rdx]
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_938
LBB2_939:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1069
LBB2_940:
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x0c5c0ff3; BYTE $0x91 // subss xmm1, dword [rcx + 4*rdx]
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x4c5c0ff3; WORD $0x0491 // subss xmm1, dword [rcx + 4*rdx + 4]
LONG $0x110f41f3; WORD $0x904c; BYTE $0x04 // movss dword [r8 + 4*rdx + 4], xmm1
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x4c5c0ff3; WORD $0x0891 // subss xmm1, dword [rcx + 4*rdx + 8]
LONG $0x110f41f3; WORD $0x904c; BYTE $0x08 // movss dword [r8 + 4*rdx + 8], xmm1
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x4c5c0ff3; WORD $0x0c91 // subss xmm1, dword [rcx + 4*rdx + 12]
LONG $0x110f41f3; WORD $0x904c; BYTE $0x0c // movss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_940
JMP LBB2_1069
LBB2_217:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b48; BYTE $0x02 // mov rax, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_219
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_573
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_573
LBB2_219:
WORD $0xf631 // xor esi, esi
LBB2_945:
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_947
LBB2_946:
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_946
LBB2_947:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_948:
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_948
JMP LBB2_1069
LBB2_220:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff3 // movss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_222
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_576
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_576
LBB2_222:
WORD $0xd231 // xor edx, edx
LBB2_953:
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_955
LBB2_954:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_954
LBB2_955:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1069
LBB2_956:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
LONG $0x4c100ff3; WORD $0x0491 // movss xmm1, dword [rcx + 4*rdx + 4]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x04 // movss dword [r8 + 4*rdx + 4], xmm1
LONG $0x4c100ff3; WORD $0x0891 // movss xmm1, dword [rcx + 4*rdx + 8]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x08 // movss dword [r8 + 4*rdx + 8], xmm1
LONG $0x4c100ff3; WORD $0x0c91 // movss xmm1, dword [rcx + 4*rdx + 12]
LONG $0xc8580ff3 // addss xmm1, xmm0
LONG $0x110f41f3; WORD $0x904c; BYTE $0x0c // movss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_956
JMP LBB2_1069
LBB2_223:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b4c; BYTE $0x1a // mov r11, qword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB2_225
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_579
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_579
LBB2_225:
WORD $0xf631 // xor esi, esi
LBB2_961:
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_963
LBB2_962:
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_962
LBB2_963:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_964:
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_964
JMP LBB2_1069
LBB2_226:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
LONG $0x02100ff3 // movss xmm0, dword [rdx]
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB2_228
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB2_582
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB2_582
LBB2_228:
WORD $0xd231 // xor edx, edx
LBB2_969:
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_971
LBB2_970:
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x0c5c0ff3; BYTE $0x91 // subss xmm1, dword [rcx + 4*rdx]
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB2_970
LBB2_971:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB2_1069
LBB2_972:
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x0c5c0ff3; BYTE $0x91 // subss xmm1, dword [rcx + 4*rdx]
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x4c5c0ff3; WORD $0x0491 // subss xmm1, dword [rcx + 4*rdx + 4]
LONG $0x110f41f3; WORD $0x904c; BYTE $0x04 // movss dword [r8 + 4*rdx + 4], xmm1
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x4c5c0ff3; WORD $0x0891 // subss xmm1, dword [rcx + 4*rdx + 8]
LONG $0x110f41f3; WORD $0x904c; BYTE $0x08 // movss dword [r8 + 4*rdx + 8], xmm1
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x4c5c0ff3; WORD $0x0c91 // subss xmm1, dword [rcx + 4*rdx + 12]
LONG $0x110f41f3; WORD $0x904c; BYTE $0x0c // movss dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB2_972
JMP LBB2_1069
LBB2_229:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
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_585
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB2_585
LBB2_231:
WORD $0xff31 // xor edi, edi
LBB2_977:
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_979
LBB2_978:
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_978
LBB2_979:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_980:
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_980
JMP LBB2_1069
LBB2_232:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
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_588
LONG $0x10048d4b // lea rax, [r8 + r10]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB2_588
LBB2_234:
WORD $0xff31 // xor edi, edi
LBB2_985:
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_987
LBB2_986:
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_986
LBB2_987:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_988:
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_988
JMP LBB2_1069
LBB2_235:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
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_993:
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_995
LBB2_994:
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_994
LBB2_995:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_996:
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_996
JMP LBB2_1069
LBB2_238:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8a44; BYTE $0x1a // mov r11b, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
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_1001:
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_1003
LBB2_1002:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
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 LBB2_1002
LBB2_1003:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_1004:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0131442a // sub al, byte [rcx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0231442a // sub al, byte [rcx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
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 LBB2_1004
JMP LBB2_1069
LBB2_241:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028a // mov al, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
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_1009:
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_1011
LBB2_1010:
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_1010
LBB2_1011:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_1012:
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_1012
JMP LBB2_1069
LBB2_244:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8a44; BYTE $0x1a // mov r11b, byte [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
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_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 $0x8944; BYTE $0xd8 // mov eax, r11d
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 LBB2_1018
LBB2_1019:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_1020:
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
WORD $0x042a; BYTE $0x31 // sub al, byte [rcx + rsi]
LONG $0x30048841 // mov byte [r8 + rsi], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0131442a // sub al, byte [rcx + rsi + 1]
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
LONG $0x0231442a // sub al, byte [rcx + rsi + 2]
LONG $0x30448841; BYTE $0x02 // mov byte [r8 + rsi + 2], al
WORD $0x8944; BYTE $0xd8 // mov eax, r11d
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 LBB2_1020
JMP LBB2_1069
LBB2_247:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_1025:
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_1027
LBB2_1026:
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_1026
LBB2_1027:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_1028:
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_1028
JMP LBB2_1069
LBB2_250:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_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:
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_1034
LBB2_1035:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_1036:
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_1036
JMP LBB2_1069
LBB2_253:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_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 $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_1042
LBB2_1043:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_1044:
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_1044
JMP LBB2_1069
LBB2_256:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b44; BYTE $0x1a // mov r11d, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_1049:
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_1051
LBB2_1050:
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_1050
LBB2_1051:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_1052:
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_1052
JMP LBB2_1069
LBB2_259:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x028b // mov eax, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_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 $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_1058
LBB2_1059:
LONG $0x03f98349 // cmp r9, 3
JB LBB2_1069
LBB2_1060:
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_1060
JMP LBB2_1069
LBB2_262:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB2_1069
WORD $0x8b44; BYTE $0x1a // mov r11d, dword [rdx]
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
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_1065:
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_1067
LBB2_1066:
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_1066
LBB2_1067:
LONG $0x03fa8348 // cmp rdx, 3
JB LBB2_1069
LBB2_1068:
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_1068
JMP LBB2_1069
LBB2_319:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB2_320:
LONG $0xf9148b48 // mov rdx, qword [rcx + 8*rdi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8148949 // mov qword [r8 + 8*rdi], rdx
LONG $0xf9548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rdi + 8]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rdx
LONG $0xf9548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rdi + 16]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rdx
LONG $0xf9548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rdi + 24]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rdx
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB2_320
LBB2_321:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB2_1069
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB2_323:
LONG $0xf9148b48 // mov rdx, qword [rcx + 8*rdi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xfe148948 // mov qword [rsi + 8*rdi], rdx
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB2_323
JMP LBB2_1069
LBB2_324:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB2_325:
LONG $0xf9148b48 // mov rdx, qword [rcx + 8*rdi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8148949 // mov qword [r8 + 8*rdi], rdx
LONG $0xf9548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rdi + 8]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rdx
LONG $0xf9548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rdi + 16]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rdx
LONG $0xf9548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rdi + 24]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rdx
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB2_325
LBB2_326:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB2_1069
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB2_328:
LONG $0xf9148b48 // mov rdx, qword [rcx + 8*rdi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xfe148948 // mov qword [rsi + 8*rdi], rdx
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB2_328
JMP LBB2_1069
LBB2_377:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB2_378:
LONG $0xf9148b48 // mov rdx, qword [rcx + 8*rdi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8148949 // mov qword [r8 + 8*rdi], rdx
LONG $0xf9548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rdi + 8]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rdx
LONG $0xf9548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rdi + 16]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rdx
LONG $0xf9548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rdi + 24]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rdx
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB2_378
LBB2_379:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB2_1069
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB2_381:
LONG $0xf9148b48 // mov rdx, qword [rcx + 8*rdi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xfe148948 // mov qword [rsi + 8*rdi], rdx
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB2_381
JMP LBB2_1069
LBB2_385:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB2_386:
LONG $0xf9148b48 // mov rdx, qword [rcx + 8*rdi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8148949 // mov qword [r8 + 8*rdi], rdx
LONG $0xf9548b48; BYTE $0x08 // mov rdx, qword [rcx + 8*rdi + 8]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x08 // mov qword [r8 + 8*rdi + 8], rdx
LONG $0xf9548b48; BYTE $0x10 // mov rdx, qword [rcx + 8*rdi + 16]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x10 // mov qword [r8 + 8*rdi + 16], rdx
LONG $0xf9548b48; BYTE $0x18 // mov rdx, qword [rcx + 8*rdi + 24]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xf8548949; BYTE $0x18 // mov qword [r8 + 8*rdi + 24], rdx
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB2_386
LBB2_387:
WORD $0x854d; BYTE $0xc9 // test r9, r9
JE LBB2_1069
LONG $0xf8348d49 // lea rsi, [r8 + 8*rdi]
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
WORD $0xff31 // xor edi, edi
LBB2_389:
LONG $0xf9148b48 // mov rdx, qword [rcx + 8*rdi]
LONG $0xd0af0f48 // imul rdx, rax
LONG $0xfe148948 // mov qword [rsi + 8*rdi], rdx
LONG $0x01c78348 // add rdi, 1
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB2_389
LBB2_1069:
RET
LBB2_453:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_621
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_455:
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_455
JMP LBB2_622
LBB2_456:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_629
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_458:
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_458
JMP LBB2_630
LBB2_459:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_637
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_461:
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_461
JMP LBB2_638
LBB2_462:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0x6e0f4166; BYTE $0xc3 // movd xmm0, r11d
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_645
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_464:
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb81c // movdqu oword [r8 + 4*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb85c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_464
JMP LBB2_646
LBB2_465:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_653
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_467:
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_467
JMP LBB2_654
LBB2_468:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0x6e0f4166; BYTE $0xc3 // movd xmm0, r11d
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
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_470:
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb81c // movdqu oword [r8 + 4*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb85c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_470
JMP LBB2_662
LBB2_471:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xfc // and edx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
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 LBB2_669
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_473:
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30f9 // movupd xmm3, oword [rcx + 8*rdi + 48]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB2_473
JMP LBB2_670
LBB2_474:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xfc // and edx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
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 LBB2_677
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_476:
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30f9 // movupd xmm3, oword [rcx + 8*rdi + 48]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB2_476
JMP LBB2_678
LBB2_477:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xfc // and edx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
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 LBB2_685
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_479:
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30f9 // movupd xmm3, oword [rcx + 8*rdi + 48]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB2_479
JMP LBB2_686
LBB2_480:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xfc // and edx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
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 LBB2_693
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_482:
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xe1280f66 // movapd xmm4, xmm1
LONG $0xe25c0f66 // subpd xmm4, xmm2
LONG $0xd1280f66 // movapd xmm2, xmm1
LONG $0xd35c0f66 // subpd xmm2, xmm3
LONG $0x110f4166; WORD $0xf824 // movupd oword [r8 + 8*rdi], xmm4
LONG $0x110f4166; WORD $0xf854; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm2
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30f9 // movupd xmm3, oword [rcx + 8*rdi + 48]
LONG $0xe1280f66 // movapd xmm4, xmm1
LONG $0xe25c0f66 // subpd xmm4, xmm2
LONG $0xd1280f66 // movapd xmm2, xmm1
LONG $0xd35c0f66 // subpd xmm2, xmm3
LONG $0x110f4166; WORD $0xf864; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm4
LONG $0x110f4166; WORD $0xf854; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB2_482
JMP LBB2_694
LBB2_483:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xfc // and edx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
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 LBB2_701
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_485:
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30f9 // movupd xmm3, oword [rcx + 8*rdi + 48]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf854; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB2_485
JMP LBB2_702
LBB2_486:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xfc // and edx, -4
LONG $0xc8120ff2 // movddup xmm1, xmm0
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 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_488:
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xe1280f66 // movapd xmm4, xmm1
LONG $0xe25c0f66 // subpd xmm4, xmm2
LONG $0xd1280f66 // movapd xmm2, xmm1
LONG $0xd35c0f66 // subpd xmm2, xmm3
LONG $0x110f4166; WORD $0xf824 // movupd oword [r8 + 8*rdi], xmm4
LONG $0x110f4166; WORD $0xf854; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm2
LONG $0x54100f66; WORD $0x20f9 // movupd xmm2, oword [rcx + 8*rdi + 32]
LONG $0x5c100f66; WORD $0x30f9 // movupd xmm3, oword [rcx + 8*rdi + 48]
LONG $0xe1280f66 // movapd xmm4, xmm1
LONG $0xe25c0f66 // subpd xmm4, xmm2
LONG $0xd1280f66 // movapd xmm2, xmm1
LONG $0xd35c0f66 // subpd xmm2, xmm3
LONG $0x110f4166; WORD $0xf864; BYTE $0x20 // movupd oword [r8 + 8*rdi + 32], xmm4
LONG $0x110f4166; WORD $0xf854; BYTE $0x30 // movupd oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c68348 // add rsi, 2
JNE LBB2_488
JMP LBB2_710
LBB2_489:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
LONG $0x30380f66; BYTE $0xc8 // pmovzxbw xmm1, xmm0
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB2_717
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0xd06f0f66 // movdqa xmm2, xmm0
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x5d6f0f66; BYTE $0x00 // movdqa xmm3, oword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LBB2_491:
LONG $0x2c6f0ff3; BYTE $0x01 // movdqu xmm5, oword [rcx + rax]
LONG $0x746f0ff3; WORD $0x1001 // movdqu xmm6, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x003c // movdqu oword [r8 + rax], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2001 // movdqu xmm5, oword [rcx + rax + 32]
LONG $0x746f0ff3; WORD $0x3001 // movdqu xmm6, oword [rcx + rax + 48]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x007c; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm5
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB2_491
JMP LBB2_718
LBB2_492:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
LONG $0x30380f66; BYTE $0xc8 // pmovzxbw xmm1, xmm0
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB2_725
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0xd06f0f66 // movdqa xmm2, xmm0
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x5d6f0f66; BYTE $0x00 // movdqa xmm3, oword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LBB2_494:
LONG $0x2c6f0ff3; BYTE $0x01 // movdqu xmm5, oword [rcx + rax]
LONG $0x746f0ff3; WORD $0x1001 // movdqu xmm6, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x003c // movdqu oword [r8 + rax], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2001 // movdqu xmm5, oword [rcx + rax + 32]
LONG $0x746f0ff3; WORD $0x3001 // movdqu xmm6, oword [rcx + rax + 48]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x007c; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm5
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB2_494
JMP LBB2_726
LBB2_495:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xd0 // movzx edx, al
LONG $0xc26e0f66 // movd xmm0, edx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_733
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_497:
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2039 // movdqu xmm1, oword [rcx + rdi + 32]
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_497
JMP LBB2_734
LBB2_498:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xd3b60f41 // movzx edx, r11b
LONG $0xc26e0f66 // movd xmm0, edx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_741
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_500:
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x381c // movdqu oword [r8 + rdi], xmm3
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x2039 // movdqu xmm1, oword [rcx + rdi + 32]
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x385c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm1
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_500
JMP LBB2_742
LBB2_501:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xd0 // movzx edx, al
LONG $0xc26e0f66 // movd xmm0, edx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_749
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_503:
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2039 // movdqu xmm1, oword [rcx + rdi + 32]
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_503
JMP LBB2_750
LBB2_504:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xd3b60f41 // movzx edx, r11b
LONG $0xc26e0f66 // movd xmm0, edx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_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_506:
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x381c // movdqu oword [r8 + rdi], xmm3
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x2039 // movdqu xmm1, oword [rcx + rdi + 32]
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x385c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm1
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_506
JMP LBB2_758
LBB2_507:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
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 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_509:
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20f9 // movdqu xmm1, oword [rcx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB2_509
JMP LBB2_766
LBB2_510:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4966; BYTE $0xc3 // movq xmm0, r11
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
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 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_512:
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf81c // movdqu oword [r8 + 8*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x20f9 // movdqu xmm1, oword [rcx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf85c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB2_512
JMP LBB2_774
LBB2_513:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
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 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_515:
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20f9 // movdqu xmm1, oword [rcx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB2_515
JMP LBB2_782
LBB2_516:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4966; BYTE $0xc3 // movq xmm0, r11
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
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 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_518:
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf81c // movdqu oword [r8 + 8*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x20f9 // movdqu xmm1, oword [rcx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf85c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB2_518
JMP LBB2_790
LBB2_519:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_521:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_521
JMP LBB2_798
LBB2_522:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_524:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_524
JMP LBB2_806
LBB2_525:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_527:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_527
JMP LBB2_814
LBB2_528:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_530:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_530
JMP LBB2_822
LBB2_531:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_533:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_533
JMP LBB2_830
LBB2_534:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_536:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_536
JMP LBB2_838
LBB2_537:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_539:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x781c // movdqu oword [r8 + 2*rdi], xmm3
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x785c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_539
JMP LBB2_846
LBB2_540:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_542:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x781c // movdqu oword [r8 + 2*rdi], xmm3
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x785c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_542
JMP LBB2_854
LBB2_543:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_545:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_545
JMP LBB2_862
LBB2_546:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_548:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_548
JMP LBB2_870
LBB2_549:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_551:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x781c // movdqu oword [r8 + 2*rdi], xmm3
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x785c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_551
JMP LBB2_878
LBB2_552:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700ff2; BYTE $0xe0 // pshuflw xmm0, xmm0, 224
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
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_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_554:
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x781c // movdqu oword [r8 + 2*rdi], xmm3
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x2079 // movdqu xmm1, oword [rcx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x3079 // movdqu xmm2, oword [rcx + 2*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf90f66 // psubw xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x785c; BYTE $0x20 // movdqu oword [r8 + 2*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0x784c; BYTE $0x30 // movdqu oword [r8 + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c28348 // add rdx, 2
JNE LBB2_554
JMP LBB2_886
LBB2_555:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf8 // and edx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
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 LBB2_893
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_557:
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
LONG $0xb95c100f; BYTE $0x30 // movups xmm3, oword [rcx + 4*rdi + 48]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x5c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm3
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB2_557
JMP LBB2_894
LBB2_558:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf8 // and edx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
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 LBB2_901
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_560:
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
LONG $0xb95c100f; BYTE $0x30 // movups xmm3, oword [rcx + 4*rdi + 48]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x5c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm3
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB2_560
JMP LBB2_902
LBB2_561:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
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 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_563:
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20f9 // movdqu xmm1, oword [rcx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB2_563
JMP LBB2_910
LBB2_564:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf8 // and edx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
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 LBB2_917
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_566:
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
LONG $0xb95c100f; BYTE $0x30 // movups xmm3, oword [rcx + 4*rdi + 48]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x5c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm3
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB2_566
JMP LBB2_918
LBB2_567:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4966; BYTE $0xc3 // movq xmm0, r11
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
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 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_569:
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf81c // movdqu oword [r8 + 8*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x20f9 // movdqu xmm1, oword [rcx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf85c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB2_569
JMP LBB2_926
LBB2_570:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf8 // and edx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
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 LBB2_933
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_572:
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x280f; BYTE $0xe1 // movaps xmm4, xmm1
WORD $0x5c0f; BYTE $0xe2 // subps xmm4, xmm2
WORD $0x280f; BYTE $0xd1 // movaps xmm2, xmm1
WORD $0x5c0f; BYTE $0xd3 // subps xmm2, xmm3
LONG $0x24110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm4
LONG $0x54110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm2
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
LONG $0xb95c100f; BYTE $0x30 // movups xmm3, oword [rcx + 4*rdi + 48]
WORD $0x280f; BYTE $0xe1 // movaps xmm4, xmm1
WORD $0x5c0f; BYTE $0xe2 // subps xmm4, xmm2
WORD $0x280f; BYTE $0xd1 // movaps xmm2, xmm1
WORD $0x5c0f; BYTE $0xd3 // subps xmm2, xmm3
LONG $0x64110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm4
LONG $0x54110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB2_572
JMP LBB2_934
LBB2_573:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4866; BYTE $0xc0 // movq xmm0, rax
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
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 LBB2_941
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_575:
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20f9 // movdqu xmm1, oword [rcx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB2_575
JMP LBB2_942
LBB2_576:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf8 // and edx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
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 LBB2_949
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_578:
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
LONG $0xb95c100f; BYTE $0x30 // movups xmm3, oword [rcx + 4*rdi + 48]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x54110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm2
LONG $0x5c110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm3
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB2_578
JMP LBB2_950
LBB2_579:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0x6e0f4966; BYTE $0xc3 // movq xmm0, r11
LONG $0xc0700f66; BYTE $0x44 // pshufd xmm0, xmm0, 68
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 LBB2_957
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LBB2_581:
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf81c // movdqu oword [r8 + 8*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x20f9 // movdqu xmm1, oword [rcx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30f9 // movdqu xmm2, oword [rcx + 8*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafb0f66 // psubq xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xf85c; BYTE $0x20 // movdqu oword [r8 + 8*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xf84c; BYTE $0x30 // movdqu oword [r8 + 8*rdi + 48], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB2_581
JMP LBB2_958
LBB2_582:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf8 // and edx, -8
WORD $0x280f; BYTE $0xc8 // movaps xmm1, xmm0
LONG $0x00c8c60f // shufps xmm1, xmm0, 0
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 LBB2_965
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xff31 // xor edi, edi
LBB2_584:
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x280f; BYTE $0xe1 // movaps xmm4, xmm1
WORD $0x5c0f; BYTE $0xe2 // subps xmm4, xmm2
WORD $0x280f; BYTE $0xd1 // movaps xmm2, xmm1
WORD $0x5c0f; BYTE $0xd3 // subps xmm2, xmm3
LONG $0x24110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm4
LONG $0x54110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm2
LONG $0xb954100f; BYTE $0x20 // movups xmm2, oword [rcx + 4*rdi + 32]
LONG $0xb95c100f; BYTE $0x30 // movups xmm3, oword [rcx + 4*rdi + 48]
WORD $0x280f; BYTE $0xe1 // movaps xmm4, xmm1
WORD $0x5c0f; BYTE $0xe2 // subps xmm4, xmm2
WORD $0x280f; BYTE $0xd1 // movaps xmm2, xmm1
WORD $0x5c0f; BYTE $0xd3 // subps xmm2, xmm3
LONG $0x64110f41; WORD $0x20b8 // movups oword [r8 + 4*rdi + 32], xmm4
LONG $0x54110f41; WORD $0x30b8 // movups oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c68348 // add rsi, 2
JNE LBB2_584
JMP LBB2_966
LBB2_585:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
LONG $0x30380f66; BYTE $0xc8 // pmovzxbw xmm1, xmm0
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB2_973
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0xd06f0f66 // movdqa xmm2, xmm0
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x5d6f0f66; BYTE $0x00 // movdqa xmm3, oword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LBB2_587:
LONG $0x2c6f0ff3; BYTE $0x01 // movdqu xmm5, oword [rcx + rax]
LONG $0x746f0ff3; WORD $0x1001 // movdqu xmm6, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x003c // movdqu oword [r8 + rax], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2001 // movdqu xmm5, oword [rcx + rax + 32]
LONG $0x746f0ff3; WORD $0x3001 // movdqu xmm6, oword [rcx + rax + 48]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x007c; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm5
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB2_587
JMP LBB2_974
LBB2_588:
WORD $0x8944; BYTE $0xd7 // mov edi, r10d
WORD $0xe783; BYTE $0xe0 // and edi, -32
WORD $0xb60f; BYTE $0xc2 // movzx eax, dl
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
LONG $0xe0478d48 // lea rax, [rdi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
LONG $0x30380f66; BYTE $0xc8 // pmovzxbw xmm1, xmm0
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB2_981
WORD $0x894c; BYTE $0xce // mov rsi, r9
LONG $0xfee68348 // and rsi, -2
WORD $0xf748; BYTE $0xde // neg rsi
WORD $0xc031 // xor eax, eax
LONG $0xd06f0f66 // movdqa xmm2, xmm0
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0x5d6f0f66; BYTE $0x00 // movdqa xmm3, oword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LBB2_590:
LONG $0x2c6f0ff3; BYTE $0x01 // movdqu xmm5, oword [rcx + rax]
LONG $0x746f0ff3; WORD $0x1001 // movdqu xmm6, oword [rcx + rax + 16]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x003c // movdqu oword [r8 + rax], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2001 // movdqu xmm5, oword [rcx + rax + 32]
LONG $0x746f0ff3; WORD $0x3001 // movdqu xmm6, oword [rcx + rax + 48]
LONG $0x30380f66; BYTE $0xfd // pmovzxbw xmm7, xmm5
LONG $0xed680f66 // punpckhbw xmm5, xmm5
LONG $0xead50f66 // pmullw xmm5, xmm2
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xf9d50f66 // pmullw xmm7, xmm1
LONG $0xfbdb0f66 // pand xmm7, xmm3
LONG $0xfd670f66 // packuswb xmm7, xmm5
LONG $0x30380f66; BYTE $0xee // pmovzxbw xmm5, xmm6
LONG $0xf6680f66 // punpckhbw xmm6, xmm6
LONG $0xf4d50f66 // pmullw xmm6, xmm4
LONG $0xf3db0f66 // pand xmm6, xmm3
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xebdb0f66 // pand xmm5, xmm3
LONG $0xee670f66 // packuswb xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x007c; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm5
LONG $0x40c08348 // add rax, 64
LONG $0x02c68348 // add rsi, 2
JNE LBB2_590
JMP LBB2_982
LBB2_591:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xd0 // movzx edx, al
LONG $0xc26e0f66 // movd xmm0, edx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_989
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 $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2039 // movdqu xmm1, oword [rcx + rdi + 32]
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_593
JMP LBB2_990
LBB2_594:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xd3b60f41 // movzx edx, r11b
LONG $0xc26e0f66 // movd xmm0, edx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_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_596:
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x381c // movdqu oword [r8 + rdi], xmm3
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x2039 // movdqu xmm1, oword [rcx + rdi + 32]
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x385c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm1
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_596
JMP LBB2_998
LBB2_597:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
WORD $0xb60f; BYTE $0xd0 // movzx edx, al
LONG $0xc26e0f66 // movd xmm0, edx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_1005
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 $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x2039 // movdqu xmm1, oword [rcx + rdi + 32]
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm2
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_599
JMP LBB2_1006
LBB2_600:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xd3b60f41 // movzx edx, r11b
LONG $0xc26e0f66 // movd xmm0, edx
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x00380f66; BYTE $0xc1 // pshufb xmm0, xmm1
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_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_602:
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x381c // movdqu oword [r8 + rdi], xmm3
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x2039 // movdqu xmm1, oword [rcx + rdi + 32]
LONG $0x546f0ff3; WORD $0x3039 // movdqu xmm2, oword [rcx + rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcaf80f66 // psubb xmm1, xmm2
LONG $0x7f0f41f3; WORD $0x385c; BYTE $0x20 // movdqu oword [r8 + rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0x384c; BYTE $0x30 // movdqu oword [r8 + rdi + 48], xmm1
LONG $0x40c78348 // add rdi, 64
LONG $0x02c28348 // add rdx, 2
JNE LBB2_602
JMP LBB2_1014
LBB2_603:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB2_1021
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 $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_605
JMP LBB2_1022
LBB2_606:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
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_608:
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_608
JMP LBB2_1030
LBB2_609:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
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_611:
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_611
JMP LBB2_1038
LBB2_612:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0x6e0f4166; BYTE $0xc3 // movd xmm0, r11d
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
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_614:
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb81c // movdqu oword [r8 + 4*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb85c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_614
JMP LBB2_1046
LBB2_615:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
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_617:
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_617
JMP LBB2_1054
LBB2_618:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0x6e0f4166; BYTE $0xc3 // movd xmm0, r11d
LONG $0xc0700f66; BYTE $0x00 // pshufd xmm0, xmm0, 0
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
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_620:
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb81c // movdqu oword [r8 + 4*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm1
LONG $0x4c6f0ff3; WORD $0x20b9 // movdqu xmm1, oword [rcx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30b9 // movdqu xmm2, oword [rcx + 4*rdi + 48]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcafa0f66 // psubd xmm1, xmm2
LONG $0x7f0f41f3; WORD $0xb85c; BYTE $0x20 // movdqu oword [r8 + 4*rdi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xb84c; BYTE $0x30 // movdqu oword [r8 + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB2_620
JMP LBB2_1062
LBB2_621:
WORD $0xff31 // xor edi, edi
LBB2_622:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_624
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB2_624:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_625
LBB2_629:
WORD $0xff31 // xor edi, edi
LBB2_630:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_632
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB2_632:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_633
LBB2_637:
WORD $0xff31 // xor edi, edi
LBB2_638:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_640
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB2_640:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_641
LBB2_645:
WORD $0xff31 // xor edi, edi
LBB2_646:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_648
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x7f0f41f3; WORD $0xb81c // movdqu oword [r8 + 4*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB2_648:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_649
LBB2_653:
WORD $0xff31 // xor edi, edi
LBB2_654:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_656
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB2_656:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_657
LBB2_661:
WORD $0xff31 // xor edi, edi
LBB2_662:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_664
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x7f0f41f3; WORD $0xb81c // movdqu oword [r8 + 4*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB2_664:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_665
LBB2_669:
WORD $0xff31 // xor edi, edi
LBB2_670:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_672
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LBB2_672:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_673
LBB2_677:
WORD $0xff31 // xor edi, edi
LBB2_678:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_680
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xd1590f66 // mulpd xmm2, xmm1
LONG $0xd9590f66 // mulpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LBB2_680:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_681
LBB2_685:
WORD $0xff31 // xor edi, edi
LBB2_686:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_688
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LBB2_688:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_689
LBB2_693:
WORD $0xff31 // xor edi, edi
LBB2_694:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_696
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xe1280f66 // movapd xmm4, xmm1
LONG $0xe25c0f66 // subpd xmm4, xmm2
LONG $0xcb5c0f66 // subpd xmm1, xmm3
LONG $0x110f4166; WORD $0xf824 // movupd oword [r8 + 8*rdi], xmm4
LONG $0x110f4166; WORD $0xf84c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm1
LBB2_696:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_697
LBB2_701:
WORD $0xff31 // xor edi, edi
LBB2_702:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_704
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xd1580f66 // addpd xmm2, xmm1
LONG $0xd9580f66 // addpd xmm3, xmm1
LONG $0x110f4166; WORD $0xf814 // movupd oword [r8 + 8*rdi], xmm2
LONG $0x110f4166; WORD $0xf85c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm3
LBB2_704:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_705
LBB2_709:
WORD $0xff31 // xor edi, edi
LBB2_710:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_712
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xe1280f66 // movapd xmm4, xmm1
LONG $0xe25c0f66 // subpd xmm4, xmm2
LONG $0xcb5c0f66 // subpd xmm1, xmm3
LONG $0x110f4166; WORD $0xf824 // movupd oword [r8 + 8*rdi], xmm4
LONG $0x110f4166; WORD $0xf84c; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm1
LBB2_712:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_713
LBB2_717:
WORD $0xc031 // xor eax, eax
LBB2_718:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_720
LONG $0x146f0ff3; BYTE $0x01 // movdqu xmm2, oword [rcx + rax]
LONG $0x5c6f0ff3; WORD $0x1001 // movdqu xmm3, oword [rcx + rax + 16]
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0x30380f66; BYTE $0xea // pmovzxbw xmm5, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0xd4d50f66 // pmullw xmm2, xmm4
LONG $0x656f0f66; BYTE $0x00 // movdqa xmm4, oword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xecdb0f66 // pand xmm5, xmm4
LONG $0xea670f66 // packuswb xmm5, xmm2
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0x30380f66; BYTE $0xd3 // pmovzxbw xmm2, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd8d50f66 // pmullw xmm3, xmm0
LONG $0xdcdb0f66 // pand xmm3, xmm4
LONG $0xd1d50f66 // pmullw xmm2, xmm1
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xd3670f66 // packuswb xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0054; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm2
LBB2_720:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB2_1069
JMP LBB2_721
LBB2_725:
WORD $0xc031 // xor eax, eax
LBB2_726:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_728
LONG $0x146f0ff3; BYTE $0x01 // movdqu xmm2, oword [rcx + rax]
LONG $0x5c6f0ff3; WORD $0x1001 // movdqu xmm3, oword [rcx + rax + 16]
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0x30380f66; BYTE $0xea // pmovzxbw xmm5, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0xd4d50f66 // pmullw xmm2, xmm4
LONG $0x656f0f66; BYTE $0x00 // movdqa xmm4, oword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xecdb0f66 // pand xmm5, xmm4
LONG $0xea670f66 // packuswb xmm5, xmm2
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0x30380f66; BYTE $0xd3 // pmovzxbw xmm2, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd8d50f66 // pmullw xmm3, xmm0
LONG $0xdcdb0f66 // pand xmm3, xmm4
LONG $0xd1d50f66 // pmullw xmm2, xmm1
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xd3670f66 // packuswb xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0054; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm2
LBB2_728:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB2_1069
JMP LBB2_729
LBB2_733:
WORD $0xff31 // xor edi, edi
LBB2_734:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_736
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB2_736:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_737
LBB2_741:
WORD $0xff31 // xor edi, edi
LBB2_742:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_744
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x7f0f41f3; WORD $0x381c // movdqu oword [r8 + rdi], xmm3
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LBB2_744:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_745
LBB2_749:
WORD $0xff31 // xor edi, edi
LBB2_750:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_752
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB2_752:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_753
LBB2_757:
WORD $0xff31 // xor edi, edi
LBB2_758:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_760
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x7f0f41f3; WORD $0x381c // movdqu oword [r8 + rdi], xmm3
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LBB2_760:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_761
LBB2_765:
WORD $0xff31 // xor edi, edi
LBB2_766:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_768
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB2_768:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_769
LBB2_773:
WORD $0xff31 // xor edi, edi
LBB2_774:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_776
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x7f0f41f3; WORD $0xf81c // movdqu oword [r8 + 8*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LBB2_776:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_777
LBB2_781:
WORD $0xff31 // xor edi, edi
LBB2_782:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_784
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB2_784:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_785
LBB2_789:
WORD $0xff31 // xor edi, edi
LBB2_790:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_792
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x7f0f41f3; WORD $0xf81c // movdqu oword [r8 + 8*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LBB2_792:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_793
LBB2_797:
WORD $0xff31 // xor edi, edi
LBB2_798:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_800
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB2_800:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_801
LBB2_805:
WORD $0xff31 // xor edi, edi
LBB2_806:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_808
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB2_808:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_809
LBB2_813:
WORD $0xff31 // xor edi, edi
LBB2_814:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_816
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB2_816:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_817
LBB2_821:
WORD $0xff31 // xor edi, edi
LBB2_822:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_824
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8d50f66 // pmullw xmm1, xmm0
LONG $0xd0d50f66 // pmullw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB2_824:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_825
LBB2_829:
WORD $0xff31 // xor edi, edi
LBB2_830:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_832
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB2_832:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_833
LBB2_837:
WORD $0xff31 // xor edi, edi
LBB2_838:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_840
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB2_840:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_841
LBB2_845:
WORD $0xff31 // xor edi, edi
LBB2_846:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_848
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x7f0f41f3; WORD $0x781c // movdqu oword [r8 + 2*rdi], xmm3
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB2_848:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_849
LBB2_853:
WORD $0xff31 // xor edi, edi
LBB2_854:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_856
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x7f0f41f3; WORD $0x781c // movdqu oword [r8 + 2*rdi], xmm3
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB2_856:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_857
LBB2_861:
WORD $0xff31 // xor edi, edi
LBB2_862:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_864
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB2_864:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_865
LBB2_869:
WORD $0xff31 // xor edi, edi
LBB2_870:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_872
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xc8fd0f66 // paddw xmm1, xmm0
LONG $0xd0fd0f66 // paddw xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x780c // movdqu oword [r8 + 2*rdi], xmm1
LONG $0x7f0f41f3; WORD $0x7854; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm2
LBB2_872:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_873
LBB2_877:
WORD $0xff31 // xor edi, edi
LBB2_878:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_880
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x7f0f41f3; WORD $0x781c // movdqu oword [r8 + 2*rdi], xmm3
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB2_880:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_881
LBB2_885:
WORD $0xff31 // xor edi, edi
LBB2_886:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_888
LONG $0x0c6f0ff3; BYTE $0x79 // movdqu xmm1, oword [rcx + 2*rdi]
LONG $0x546f0ff3; WORD $0x1079 // movdqu xmm2, oword [rcx + 2*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f90f66 // psubw xmm3, xmm1
LONG $0xc2f90f66 // psubw xmm0, xmm2
LONG $0x7f0f41f3; WORD $0x781c // movdqu oword [r8 + 2*rdi], xmm3
LONG $0x7f0f41f3; WORD $0x7844; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm0
LBB2_888:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_889
LBB2_893:
WORD $0xff31 // xor edi, edi
LBB2_894:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_896
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LBB2_896:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_897
LBB2_901:
WORD $0xff31 // xor edi, edi
LBB2_902:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_904
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x590f; BYTE $0xd1 // mulps xmm2, xmm1
WORD $0x590f; BYTE $0xd9 // mulps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LBB2_904:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_905
LBB2_909:
WORD $0xff31 // xor edi, edi
LBB2_910:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_912
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB2_912:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_913
LBB2_917:
WORD $0xff31 // xor edi, edi
LBB2_918:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_920
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LBB2_920:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_921
LBB2_925:
WORD $0xff31 // xor edi, edi
LBB2_926:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_928
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x7f0f41f3; WORD $0xf81c // movdqu oword [r8 + 8*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LBB2_928:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_929
LBB2_933:
WORD $0xff31 // xor edi, edi
LBB2_934:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_936
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x280f; BYTE $0xe1 // movaps xmm4, xmm1
WORD $0x5c0f; BYTE $0xe2 // subps xmm4, xmm2
WORD $0x5c0f; BYTE $0xcb // subps xmm1, xmm3
LONG $0x24110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm4
LONG $0x4c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm1
LBB2_936:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_937
LBB2_941:
WORD $0xff31 // xor edi, edi
LBB2_942:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_944
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xc8d40f66 // paddq xmm1, xmm0
LONG $0xd0d40f66 // paddq xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xf80c // movdqu oword [r8 + 8*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xf854; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm2
LBB2_944:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_945
LBB2_949:
WORD $0xff31 // xor edi, edi
LBB2_950:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_952
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x580f; BYTE $0xd1 // addps xmm2, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0x14110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm2
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LBB2_952:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_953
LBB2_957:
WORD $0xff31 // xor edi, edi
LBB2_958:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_960
LONG $0x0c6f0ff3; BYTE $0xf9 // movdqu xmm1, oword [rcx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10f9 // movdqu xmm2, oword [rcx + 8*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc2fb0f66 // psubq xmm0, xmm2
LONG $0x7f0f41f3; WORD $0xf81c // movdqu oword [r8 + 8*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xf844; BYTE $0x10 // movdqu oword [r8 + 8*rdi + 16], xmm0
LBB2_960:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_961
LBB2_965:
WORD $0xff31 // xor edi, edi
LBB2_966:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_968
LONG $0xb914100f // movups xmm2, oword [rcx + 4*rdi]
LONG $0xb95c100f; BYTE $0x10 // movups xmm3, oword [rcx + 4*rdi + 16]
WORD $0x280f; BYTE $0xe1 // movaps xmm4, xmm1
WORD $0x5c0f; BYTE $0xe2 // subps xmm4, xmm2
WORD $0x5c0f; BYTE $0xcb // subps xmm1, xmm3
LONG $0x24110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm4
LONG $0x4c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm1
LBB2_968:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB2_1069
JMP LBB2_969
LBB2_973:
WORD $0xc031 // xor eax, eax
LBB2_974:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_976
LONG $0x146f0ff3; BYTE $0x01 // movdqu xmm2, oword [rcx + rax]
LONG $0x5c6f0ff3; WORD $0x1001 // movdqu xmm3, oword [rcx + rax + 16]
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0x30380f66; BYTE $0xea // pmovzxbw xmm5, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0xd4d50f66 // pmullw xmm2, xmm4
LONG $0x656f0f66; BYTE $0x00 // movdqa xmm4, oword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xecdb0f66 // pand xmm5, xmm4
LONG $0xea670f66 // packuswb xmm5, xmm2
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0x30380f66; BYTE $0xd3 // pmovzxbw xmm2, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd8d50f66 // pmullw xmm3, xmm0
LONG $0xdcdb0f66 // pand xmm3, xmm4
LONG $0xd1d50f66 // pmullw xmm2, xmm1
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xd3670f66 // packuswb xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0054; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm2
LBB2_976:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB2_1069
JMP LBB2_977
LBB2_981:
WORD $0xc031 // xor eax, eax
LBB2_982:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_984
LONG $0x146f0ff3; BYTE $0x01 // movdqu xmm2, oword [rcx + rax]
LONG $0x5c6f0ff3; WORD $0x1001 // movdqu xmm3, oword [rcx + rax + 16]
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe4680f66 // punpckhbw xmm4, xmm4
LONG $0x30380f66; BYTE $0xea // pmovzxbw xmm5, xmm2
LONG $0xd2680f66 // punpckhbw xmm2, xmm2
LONG $0xd4d50f66 // pmullw xmm2, xmm4
LONG $0x656f0f66; BYTE $0x00 // movdqa xmm4, oword 0[rbp] /* [rip + .LCPI2_0] */
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xe9d50f66 // pmullw xmm5, xmm1
LONG $0xecdb0f66 // pand xmm5, xmm4
LONG $0xea670f66 // packuswb xmm5, xmm2
LONG $0xc0680f66 // punpckhbw xmm0, xmm0
LONG $0x30380f66; BYTE $0xd3 // pmovzxbw xmm2, xmm3
LONG $0xdb680f66 // punpckhbw xmm3, xmm3
LONG $0xd8d50f66 // pmullw xmm3, xmm0
LONG $0xdcdb0f66 // pand xmm3, xmm4
LONG $0xd1d50f66 // pmullw xmm2, xmm1
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xd3670f66 // packuswb xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x7f0f41f3; WORD $0x0054; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm2
LBB2_984:
WORD $0x394c; BYTE $0xd7 // cmp rdi, r10
JE LBB2_1069
JMP LBB2_985
LBB2_989:
WORD $0xff31 // xor edi, edi
LBB2_990:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_992
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB2_992:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_993
LBB2_997:
WORD $0xff31 // xor edi, edi
LBB2_998:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1000
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x7f0f41f3; WORD $0x381c // movdqu oword [r8 + rdi], xmm3
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LBB2_1000:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_1001
LBB2_1005:
WORD $0xff31 // xor edi, edi
LBB2_1006:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1008
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xc8fc0f66 // paddb xmm1, xmm0
LONG $0xd0fc0f66 // paddb xmm2, xmm0
LONG $0x7f0f41f3; WORD $0x380c // movdqu oword [r8 + rdi], xmm1
LONG $0x7f0f41f3; WORD $0x3854; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm2
LBB2_1008:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_1009
LBB2_1013:
WORD $0xff31 // xor edi, edi
LBB2_1014:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1016
LONG $0x0c6f0ff3; BYTE $0x39 // movdqu xmm1, oword [rcx + rdi]
LONG $0x546f0ff3; WORD $0x1039 // movdqu xmm2, oword [rcx + rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9f80f66 // psubb xmm3, xmm1
LONG $0xc2f80f66 // psubb xmm0, xmm2
LONG $0x7f0f41f3; WORD $0x381c // movdqu oword [r8 + rdi], xmm3
LONG $0x7f0f41f3; WORD $0x3844; BYTE $0x10 // movdqu oword [r8 + rdi + 16], xmm0
LBB2_1016:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_1017
LBB2_1021:
WORD $0xff31 // xor edi, edi
LBB2_1022:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1024
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB2_1024:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_1025
LBB2_1029:
WORD $0xff31 // xor edi, edi
LBB2_1030:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1032
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0x40380f66; BYTE $0xc8 // pmulld xmm1, xmm0
LONG $0x40380f66; BYTE $0xd0 // pmulld xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB2_1032:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_1033
LBB2_1037:
WORD $0xff31 // xor edi, edi
LBB2_1038:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1040
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB2_1040:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_1041
LBB2_1045:
WORD $0xff31 // xor edi, edi
LBB2_1046:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1048
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x7f0f41f3; WORD $0xb81c // movdqu oword [r8 + 4*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB2_1048:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_1049
LBB2_1053:
WORD $0xff31 // xor edi, edi
LBB2_1054:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1056
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xc8fe0f66 // paddd xmm1, xmm0
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0x7f0f41f3; WORD $0xb80c // movdqu oword [r8 + 4*rdi], xmm1
LONG $0x7f0f41f3; WORD $0xb854; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm2
LBB2_1056:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_1057
LBB2_1061:
WORD $0xff31 // xor edi, edi
LBB2_1062:
LONG $0x01c1f641 // test r9b, 1
JE LBB2_1064
LONG $0x0c6f0ff3; BYTE $0xb9 // movdqu xmm1, oword [rcx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10b9 // movdqu xmm2, oword [rcx + 4*rdi + 16]
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd9fa0f66 // psubd xmm3, xmm1
LONG $0xc2fa0f66 // psubd xmm0, xmm2
LONG $0x7f0f41f3; WORD $0xb81c // movdqu oword [r8 + 4*rdi], xmm3
LONG $0x7f0f41f3; WORD $0xb844; BYTE $0x10 // movdqu oword [r8 + 4*rdi + 16], xmm0
LBB2_1064:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB2_1069
JMP LBB2_1065
DATA LCDATA4<>+0x000(SB)/8, $0x8000000000000000
DATA LCDATA4<>+0x008(SB)/8, $0x8000000000000000
DATA LCDATA4<>+0x010(SB)/8, $0x3ff0000000000000
DATA LCDATA4<>+0x018(SB)/8, $0x3ff0000000000000
DATA LCDATA4<>+0x020(SB)/8, $0x0000000100000001
DATA LCDATA4<>+0x028(SB)/8, $0x0000000100000001
DATA LCDATA4<>+0x030(SB)/8, $0x0000000000000001
DATA LCDATA4<>+0x038(SB)/8, $0x0000000000000001
DATA LCDATA4<>+0x040(SB)/8, $0x0001000100010001
DATA LCDATA4<>+0x048(SB)/8, $0x0001000100010001
DATA LCDATA4<>+0x050(SB)/8, $0x0101010101010101
DATA LCDATA4<>+0x058(SB)/8, $0x0101010101010101
DATA LCDATA4<>+0x060(SB)/8, $0x8000000080000000
DATA LCDATA4<>+0x068(SB)/8, $0x8000000080000000
DATA LCDATA4<>+0x070(SB)/8, $0x7fffffffffffffff
DATA LCDATA4<>+0x078(SB)/8, $0x7fffffffffffffff
DATA LCDATA4<>+0x080(SB)/8, $0x7fffffff7fffffff
DATA LCDATA4<>+0x088(SB)/8, $0x7fffffff7fffffff
DATA LCDATA4<>+0x090(SB)/8, $0x000000ff000000ff
DATA LCDATA4<>+0x098(SB)/8, $0x000000ff000000ff
DATA LCDATA4<>+0x0a0(SB)/8, $0x3ff0000000000000
GLOBL LCDATA4<>(SB), 8, $168
TEXT ยท_arithmetic_unary_same_types_sse4(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_923
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_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
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_923
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_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
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_614:
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_616
LBB3_615:
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_615
LBB3_616:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
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
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_617
JMP LBB3_923
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_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
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_622:
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_624
LBB3_623:
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
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_623
LBB3_624:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_625:
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_625
JMP LBB3_923
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_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_37
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_380
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_380
LBB3_37:
WORD $0xf631 // xor esi, esi
LBB3_536:
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_538
LBB3_537:
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_537
LBB3_538:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_539:
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_539
JMP LBB3_923
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_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_45
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_382
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_382
LBB3_45:
WORD $0xf631 // xor esi, esi
LBB3_546:
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_548
LBB3_547:
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_547
LBB3_548:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_549:
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_549
JMP LBB3_923
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_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_52
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_384
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_384
LBB3_52:
WORD $0xf631 // xor esi, esi
LBB3_630:
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_633
LONG $0x45280f66; BYTE $0x00 // movapd xmm0, oword 0[rbp] /* [rip + .LCPI3_0] */
LBB3_632:
LONG $0x0c100ff2; BYTE $0xf2 // movsd xmm1, qword [rdx + 8*rsi]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x0c130f66; BYTE $0xf1 // movlpd qword [rcx + 8*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_632
LBB3_633:
LONG $0x03f88348 // cmp rax, 3
JB LBB3_923
LONG $0x45280f66; BYTE $0x00 // movapd xmm0, oword 0[rbp] /* [rip + .LCPI3_0] */
LBB3_635:
LONG $0x0c100ff2; BYTE $0xf2 // movsd xmm1, qword [rdx + 8*rsi]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x0c130f66; BYTE $0xf1 // movlpd qword [rcx + 8*rsi], xmm1
LONG $0x4c100ff2; WORD $0x08f2 // movsd xmm1, qword [rdx + 8*rsi + 8]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c130f66; WORD $0x08f1 // movlpd qword [rcx + 8*rsi + 8], xmm1
LONG $0x4c100ff2; WORD $0x10f2 // movsd xmm1, qword [rdx + 8*rsi + 16]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c130f66; WORD $0x10f1 // movlpd qword [rcx + 8*rsi + 16], xmm1
LONG $0x4c100ff2; WORD $0x18f2 // movsd xmm1, qword [rdx + 8*rsi + 24]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c130f66; WORD $0x18f1 // movlpd qword [rcx + 8*rsi + 24], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_635
JMP LBB3_923
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_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_59
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_387
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_387
LBB3_59:
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 $0x45280f66; BYTE $0x00 // movapd xmm0, oword 0[rbp] /* [rip + .LCPI3_0] */
LBB3_642:
LONG $0x0c100ff2; BYTE $0xf2 // movsd xmm1, qword [rdx + 8*rsi]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x0c130f66; BYTE $0xf1 // movlpd 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_923
LONG $0x45280f66; BYTE $0x00 // movapd xmm0, oword 0[rbp] /* [rip + .LCPI3_0] */
LBB3_645:
LONG $0x0c100ff2; BYTE $0xf2 // movsd xmm1, qword [rdx + 8*rsi]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x0c130f66; BYTE $0xf1 // movlpd qword [rcx + 8*rsi], xmm1
LONG $0x4c100ff2; WORD $0x08f2 // movsd xmm1, qword [rdx + 8*rsi + 8]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c130f66; WORD $0x08f1 // movlpd qword [rcx + 8*rsi + 8], xmm1
LONG $0x4c100ff2; WORD $0x10f2 // movsd xmm1, qword [rdx + 8*rsi + 16]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c130f66; WORD $0x10f1 // movlpd qword [rcx + 8*rsi + 16], xmm1
LONG $0x4c100ff2; WORD $0x18f2 // movsd xmm1, qword [rdx + 8*rsi + 24]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c130f66; WORD $0x18f1 // movlpd qword [rcx + 8*rsi + 24], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_645
JMP LBB3_923
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_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_66
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_66:
WORD $0xf631 // xor esi, esi
LBB3_650:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_652
LONG $0x04100ff2; BYTE $0xf2 // movsd xmm0, qword [rdx + 8*rsi]
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI3_0] */
LONG $0xc8540f66 // andpd xmm1, xmm0
QUAD $0x000000a095100ff2 // movsd xmm2, qword 160[rbp] /* [rip + .LCPI3_2] */
LONG $0xd1560f66 // orpd xmm2, xmm1
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0xc8c20ff2; BYTE $0x00 // cmpeqsd xmm1, xmm0
LONG $0xca550f66 // andnpd xmm1, xmm2
LONG $0x0c130f66; BYTE $0xf1 // movlpd qword [rcx + 8*rsi], xmm1
LONG $0x01ce8348 // or rsi, 1
LBB3_652:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LONG $0x45280f66; BYTE $0x00 // movapd xmm0, oword 0[rbp] /* [rip + .LCPI3_0] */
QUAD $0x000000a08d100ff2 // movsd xmm1, qword 160[rbp] /* [rip + .LCPI3_2] */
LONG $0xd2570f66 // xorpd xmm2, xmm2
LBB3_654:
LONG $0x1c100ff2; BYTE $0xf2 // movsd xmm3, qword [rdx + 8*rsi]
LONG $0xe3280f66 // movapd xmm4, xmm3
LONG $0xe0540f66 // andpd xmm4, xmm0
LONG $0xe1560f66 // orpd xmm4, xmm1
LONG $0xdac20ff2; BYTE $0x00 // cmpeqsd xmm3, xmm2
LONG $0xdc550f66 // andnpd xmm3, xmm4
LONG $0x1c130f66; BYTE $0xf1 // movlpd qword [rcx + 8*rsi], xmm3
LONG $0x5c100ff2; WORD $0x08f2 // movsd xmm3, qword [rdx + 8*rsi + 8]
LONG $0xe3280f66 // movapd xmm4, xmm3
LONG $0xe0540f66 // andpd xmm4, xmm0
LONG $0xe1560f66 // orpd xmm4, xmm1
LONG $0xdac20ff2; BYTE $0x00 // cmpeqsd xmm3, xmm2
LONG $0xdc550f66 // andnpd xmm3, xmm4
LONG $0x5c130f66; WORD $0x08f1 // movlpd qword [rcx + 8*rsi + 8], xmm3
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_654
JMP LBB3_923
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_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_73
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_73:
WORD $0xf631 // xor esi, esi
LBB3_659:
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_661
LBB3_660:
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_660
LBB3_661:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_662:
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_662
JMP LBB3_923
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_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_80
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_396
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_396
LBB3_80:
WORD $0xf631 // xor esi, esi
LBB3_667:
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_669
LBB3_668:
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_668
LBB3_669:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_670:
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_670
JMP LBB3_923
LBB3_81:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB3_191
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB3_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_85
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_399
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_399
LBB3_85:
WORD $0xf631 // xor esi, esi
LBB3_675:
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_677
LBB3_676:
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_676
LBB3_677:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_678:
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_678
JMP LBB3_923
LBB3_86:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB3_194
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB3_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_90
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_402
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_402
LBB3_90:
WORD $0xf631 // xor esi, esi
LBB3_683:
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_685
LBB3_684:
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_684
LBB3_685:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_686:
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_686
JMP LBB3_923
LBB3_91:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB3_197
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB3_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_95
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_405
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_405
LBB3_95:
WORD $0xf631 // xor esi, esi
LBB3_691:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_693
LONG $0x323c8a40 // mov dil, byte [rdx + rsi]
WORD $0x8440; BYTE $0xff // test dil, dil
LONG $0xd0950f41 // setne r8b
WORD $0xf641; BYTE $0xd8 // neg r8b
WORD $0x8440; BYTE $0xff // test dil, dil
LONG $0xc0b60f45 // movzx r8d, r8b
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_693:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LBB3_695:
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 $0xf1 // cmp r9, rsi
JNE LBB3_695
JMP LBB3_923
LBB3_96:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB3_200
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB3_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_100
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_408
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_408
LBB3_100:
WORD $0xf631 // xor esi, esi
LBB3_700:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_702
LONG $0x323cbe0f // movsx edi, byte [rdx + rsi]
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x07f8c141 // sar r8d, 7
WORD $0x0144; BYTE $0xc7 // add edi, r8d
WORD $0x3144; BYTE $0xc7 // xor edi, r8d
LONG $0x313c8840 // mov byte [rcx + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB3_702:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LBB3_703:
LONG $0x3204be0f // movsx eax, byte [rdx + rsi]
WORD $0xc789 // mov edi, eax
WORD $0xffc1; BYTE $0x07 // sar edi, 7
WORD $0xf801 // add eax, edi
WORD $0xf831 // xor eax, edi
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
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 $0xf1 // cmp r9, rsi
JNE LBB3_703
JMP LBB3_923
LBB3_101:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB3_203
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB3_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_105
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_411
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_411
LBB3_105:
WORD $0xf631 // xor esi, esi
LBB3_708:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_710
LONG $0x323cbe0f // movsx edi, byte [rdx + rsi]
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x07f8c141 // sar r8d, 7
WORD $0x0144; BYTE $0xc7 // add edi, r8d
WORD $0x3144; BYTE $0xc7 // xor edi, r8d
LONG $0x313c8840 // mov byte [rcx + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB3_710:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LBB3_711:
LONG $0x3204be0f // movsx eax, byte [rdx + rsi]
WORD $0xc789 // mov edi, eax
WORD $0xffc1; BYTE $0x07 // sar edi, 7
WORD $0xf801 // add eax, edi
WORD $0xf831 // xor eax, edi
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
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 $0xf1 // cmp r9, rsi
JNE LBB3_711
JMP LBB3_923
LBB3_106:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB3_206
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB3_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB3_265
WORD $0xd231 // xor edx, edx
JMP LBB3_420
LBB3_111:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB3_209
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB3_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_115
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_421
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_421
LBB3_115:
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 $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_718
LBB3_717:
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_717
LBB3_718:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_719:
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_719
JMP LBB3_923
LBB3_116:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB3_212
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB3_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_120
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_424
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_424
LBB3_120:
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 $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_726
LBB3_725:
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
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_725
LBB3_726:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_727:
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_727
JMP LBB3_923
LBB3_121:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB3_215
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB3_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_125
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_427
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_427
LBB3_125:
WORD $0xf631 // xor esi, esi
LBB3_556:
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_558
LBB3_557:
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_557
LBB3_558:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_559:
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_559
JMP LBB3_923
LBB3_126:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB3_218
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB3_923
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_130
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_429
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_429
LBB3_130:
WORD $0xf631 // xor esi, esi
LBB3_566:
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_568
LBB3_567:
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_567
LBB3_568:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_569:
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_569
JMP LBB3_923
LBB3_131:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JAE LBB3_279
WORD $0xd231 // xor edx, edx
JMP LBB3_437
LBB3_134:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_136
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_438
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_438
LBB3_136:
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 $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_734
LBB3_733:
WORD $0xc031 // xor eax, eax
LONG $0x72042b66 // sub ax, word [rdx + 2*rsi]
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_733
LBB3_734:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
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_923
LBB3_137:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_139
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_441
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_441
LBB3_139:
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 $0xcf // mov rdi, r9
LONG $0x03e78348 // and rdi, 3
JE LBB3_742
LBB3_741:
WORD $0xc031 // xor eax, eax
LONG $0x72042b66 // sub ax, word [rdx + 2*rsi]
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_741
LBB3_742:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_743:
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_743
JMP LBB3_923
LBB3_140:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_142
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_444
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_444
LBB3_142:
WORD $0xf631 // xor esi, esi
LBB3_748:
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_750
LBB3_749:
WORD $0xc031 // xor eax, eax
LONG $0x72042b66 // sub ax, word [rdx + 2*rsi]
LONG $0x71048966 // mov word [rcx + 2*rsi], ax
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_749
LBB3_750:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_751:
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_751
JMP LBB3_923
LBB3_143:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_145
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_447
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_447
LBB3_145:
WORD $0xf631 // xor esi, esi
LBB3_756:
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_758
LBB3_757:
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
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_757
LBB3_758:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_759:
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_759
JMP LBB3_923
LBB3_146:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_148
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_450
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_450
LBB3_148:
WORD $0xf631 // xor esi, esi
LBB3_764:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_766
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_766:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LONG $0x0001b841; WORD $0x0000 // mov r8d, 1
LBB3_768:
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_768
JMP LBB3_923
LBB3_149:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_151
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_453
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_453
LBB3_151:
WORD $0xf631 // xor esi, esi
LBB3_576:
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_578
LBB3_577:
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_577
LBB3_578:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_579:
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_579
JMP LBB3_923
LBB3_152:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_154
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_455
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_455
LBB3_154:
WORD $0xf631 // xor esi, esi
LBB3_773:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_775
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_775:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LBB3_776:
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_776
JMP LBB3_923
LBB3_155:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB3_157
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_458
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_458
LBB3_157:
WORD $0xf631 // xor esi, esi
LBB3_586:
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_588
LBB3_587:
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_587
LBB3_588:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_589:
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_589
JMP LBB3_923
LBB3_158:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_160
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_460
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_460
LBB3_160:
WORD $0xf631 // xor esi, esi
LBB3_781:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_783
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_783:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LBB3_784:
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_784
JMP LBB3_923
LBB3_161:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_163
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_463
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_463
LBB3_163:
WORD $0xf631 // xor esi, esi
LBB3_789:
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_791
LBB3_790:
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_790
LBB3_791:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_792:
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_792
JMP LBB3_923
LBB3_164:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_166
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_466
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_466
LBB3_166:
WORD $0xf631 // xor esi, esi
LBB3_797:
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_800
LONG $0x45280f66; BYTE $0x60 // movapd xmm0, oword 96[rbp] /* [rip + .LCPI3_7] */
LBB3_799:
LONG $0x0c100ff3; BYTE $0xb2 // movss xmm1, dword [rdx + 4*rsi]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x0c110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_799
LBB3_800:
LONG $0x03f88348 // cmp rax, 3
JB LBB3_923
LONG $0x45280f66; BYTE $0x60 // movapd xmm0, oword 96[rbp] /* [rip + .LCPI3_7] */
LBB3_802:
LONG $0x0c100ff3; BYTE $0xb2 // movss xmm1, dword [rdx + 4*rsi]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x0c110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm1
LONG $0x4c100ff3; WORD $0x04b2 // movss xmm1, dword [rdx + 4*rsi + 4]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c110ff3; WORD $0x04b1 // movss dword [rcx + 4*rsi + 4], xmm1
LONG $0x4c100ff3; WORD $0x08b2 // movss xmm1, dword [rdx + 4*rsi + 8]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c110ff3; WORD $0x08b1 // movss dword [rcx + 4*rsi + 8], xmm1
LONG $0x4c100ff3; WORD $0x0cb2 // movss xmm1, dword [rdx + 4*rsi + 12]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c110ff3; WORD $0x0cb1 // movss dword [rcx + 4*rsi + 12], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_802
JMP LBB3_923
LBB3_167:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_169
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_469
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_469
LBB3_169:
WORD $0xf631 // xor esi, esi
LBB3_807:
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_809
LBB3_808:
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_808
LBB3_809:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_810:
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_810
JMP LBB3_923
LBB3_170:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_172
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_472
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_472
LBB3_172:
WORD $0xf631 // xor esi, esi
LBB3_815:
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_818
LONG $0x45280f66; BYTE $0x60 // movapd xmm0, oword 96[rbp] /* [rip + .LCPI3_7] */
LBB3_817:
LONG $0x0c100ff3; BYTE $0xb2 // movss xmm1, dword [rdx + 4*rsi]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x0c110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_817
LBB3_818:
LONG $0x03f88348 // cmp rax, 3
JB LBB3_923
LONG $0x45280f66; BYTE $0x60 // movapd xmm0, oword 96[rbp] /* [rip + .LCPI3_7] */
LBB3_820:
LONG $0x0c100ff3; BYTE $0xb2 // movss xmm1, dword [rdx + 4*rsi]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x0c110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm1
LONG $0x4c100ff3; WORD $0x04b2 // movss xmm1, dword [rdx + 4*rsi + 4]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c110ff3; WORD $0x04b1 // movss dword [rcx + 4*rsi + 4], xmm1
LONG $0x4c100ff3; WORD $0x08b2 // movss xmm1, dword [rdx + 4*rsi + 8]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c110ff3; WORD $0x08b1 // movss dword [rcx + 4*rsi + 8], xmm1
LONG $0x4c100ff3; WORD $0x0cb2 // movss xmm1, dword [rdx + 4*rsi + 12]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0x4c110ff3; WORD $0x0cb1 // movss dword [rcx + 4*rsi + 12], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB3_820
JMP LBB3_923
LBB3_173:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_175
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_475
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_475
LBB3_175:
WORD $0xf631 // xor esi, esi
LBB3_825:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_827
LONG $0xf2048b4c // mov r8, qword [rdx + 8*rsi]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x854d; BYTE $0xc0 // test r8, r8
LONG $0xd2950f41 // setne r10b
WORD $0xf749; BYTE $0xda // neg r10
WORD $0x854d; BYTE $0xc0 // test r8, r8
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f49 // cmovle rdi, r10
LONG $0xf13c8948 // mov qword [rcx + 8*rsi], rdi
LONG $0x01ce8348 // or rsi, 1
LBB3_827:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LONG $0x0001b841; WORD $0x0000 // mov r8d, 1
LBB3_829:
LONG $0xf23c8b48 // mov rdi, qword [rdx + 8*rsi]
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 $0xc04f0f49 // cmovg rax, r8
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
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 $0xf1 // cmp r9, rsi
JNE LBB3_829
JMP LBB3_923
LBB3_176:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8944; BYTE $0xc0 // mov eax, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_178
LONG $0x82348d48 // lea rsi, [rdx + 4*rax]
WORD $0x3948; BYTE $0xce // cmp rsi, rcx
JBE LBB3_478
LONG $0x81348d48 // lea rsi, [rcx + 4*rax]
WORD $0x3948; BYTE $0xd6 // cmp rsi, rdx
JBE LBB3_478
LBB3_178:
WORD $0xf631 // xor esi, esi
LBB3_481:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x01a8 // test al, 1
JE LBB3_483
LONG $0x04100ff3; BYTE $0xb2 // movss xmm0, dword [rdx + 4*rsi]
WORD $0x500f; BYTE $0xf8 // movmskps edi, xmm0
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0xcf2a0ff3 // cvtsi2ss xmm1, edi
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
LONG $0xd0c20ff3; BYTE $0x00 // cmpeqss xmm2, xmm0
WORD $0x550f; BYTE $0xd1 // andnps xmm2, xmm1
LONG $0x14110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm2
LONG $0x01ce8348 // or rsi, 1
LBB3_483:
WORD $0x0149; BYTE $0xc0 // add r8, rax
JE LBB3_923
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LBB3_485:
LONG $0x0c100ff3; BYTE $0xb2 // movss xmm1, dword [rdx + 4*rsi]
WORD $0x500f; BYTE $0xf9 // movmskps edi, xmm1
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
LONG $0xd72a0ff3 // cvtsi2ss xmm2, edi
LONG $0xc8c20ff3; BYTE $0x00 // cmpeqss xmm1, xmm0
WORD $0x550f; BYTE $0xca // andnps xmm1, xmm2
LONG $0x0c110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm1
LONG $0x4c100ff3; WORD $0x04b2 // movss xmm1, dword [rdx + 4*rsi + 4]
WORD $0x500f; BYTE $0xf9 // movmskps edi, xmm1
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
LONG $0xd72a0ff3 // cvtsi2ss xmm2, edi
LONG $0xc8c20ff3; BYTE $0x00 // cmpeqss xmm1, xmm0
WORD $0x550f; BYTE $0xca // andnps xmm1, xmm2
LONG $0x4c110ff3; WORD $0x04b1 // movss dword [rcx + 4*rsi + 4], xmm1
LONG $0x02c68348 // add rsi, 2
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB3_485
JMP LBB3_923
LBB3_179:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_181
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_486
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_486
LBB3_181:
WORD $0xf631 // xor esi, esi
LBB3_834:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_836
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_836:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LBB3_837:
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 $0xf1 // cmp r9, rsi
JNE LBB3_837
JMP LBB3_923
LBB3_182:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_184
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_489
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_489
LBB3_184:
WORD $0xf631 // xor esi, esi
LBB3_842:
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_845
LONG $0xffffba41; WORD $0x7fff // mov r10d, 2147483647
LBB3_844:
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_844
LBB3_845:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LONG $0xffffffb8; BYTE $0x7f // mov eax, 2147483647
LBB3_847:
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_847
JMP LBB3_923
LBB3_185:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB3_187
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_492
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_492
LBB3_187:
WORD $0xf631 // xor esi, esi
LBB3_852:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_854
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_854:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LBB3_855:
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 $0xf1 // cmp r9, rsi
JNE LBB3_855
JMP LBB3_923
LBB3_188:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_190
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_495
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_495
LBB3_190:
WORD $0xf631 // xor esi, esi
LBB3_860:
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
LONG $0xffffba41; WORD $0x7fff // mov r10d, 2147483647
LBB3_862:
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_862
LBB3_863:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LONG $0xffffffb8; BYTE $0x7f // mov eax, 2147483647
LBB3_865:
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_865
JMP LBB3_923
LBB3_191:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JAE LBB3_338
WORD $0xd231 // xor edx, edx
JMP LBB3_504
LBB3_194:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_196
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_505
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_505
LBB3_196:
WORD $0xf631 // xor esi, esi
LBB3_870:
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_872
LBB3_871:
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_871
LBB3_872:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_873:
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_873
JMP LBB3_923
LBB3_197:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_199
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_508
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_508
LBB3_199:
WORD $0xf631 // xor esi, esi
LBB3_878:
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_880
LBB3_879:
LONG $0x00323c80 // cmp byte [rdx + rsi], 0
LONG $0x3114950f // setne byte [rcx + rsi]
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB3_879
LBB3_880:
LONG $0x03f88348 // cmp rax, 3
JB LBB3_923
LBB3_881:
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_881
JMP LBB3_923
LBB3_200:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_202
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_511
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_511
LBB3_202:
WORD $0xf631 // xor esi, esi
LBB3_596:
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_598
LBB3_597:
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_597
LBB3_598:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_599:
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_599
JMP LBB3_923
LBB3_203:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB3_205
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_513
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_513
LBB3_205:
WORD $0xf631 // xor esi, esi
LBB3_606:
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_608
LBB3_607:
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_607
LBB3_608:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_609:
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_609
JMP LBB3_923
LBB3_206:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_208
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_515
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_515
LBB3_208:
WORD $0xf631 // xor esi, esi
LBB3_886:
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_888
LBB3_887:
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_887
LBB3_888:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_889:
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_889
JMP LBB3_923
LBB3_209:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_211
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_518
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_518
LBB3_211:
WORD $0xf631 // xor esi, esi
LBB3_894:
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_896
LBB3_895:
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_895
LBB3_896:
LONG $0x03f88349 // cmp r8, 3
JB LBB3_923
LBB3_897:
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_897
JMP LBB3_923
LBB3_212:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_214
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_521
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_521
LBB3_214:
WORD $0xf631 // xor esi, esi
LBB3_902:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_904
LONG $0xb2048b44 // mov r8d, dword [rdx + 4*rsi]
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
LONG $0xd2950f41 // setne r10b
WORD $0xf741; BYTE $0xda // neg r10d
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LONG $0xfa4e0f41 // cmovle edi, r10d
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x01ce8348 // or rsi, 1
LBB3_904:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LONG $0x0001b841; WORD $0x0000 // mov r8d, 1
LBB3_906:
WORD $0x3c8b; BYTE $0xb2 // mov edi, dword [rdx + 4*rsi]
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
LONG $0xc04f0f41 // cmovg eax, r8d
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
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 $0xf1 // cmp r9, rsi
JNE LBB3_906
JMP LBB3_923
LBB3_215:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_217
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_524
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_524
LBB3_217:
WORD $0xf631 // xor esi, esi
LBB3_911:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_913
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_913:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LBB3_914:
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 $0xf1 // cmp r9, rsi
JNE LBB3_914
JMP LBB3_923
LBB3_218:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB3_923
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB3_220
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB3_527
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB3_527
LBB3_220:
WORD $0xf631 // xor esi, esi
LBB3_919:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c1f641 // test r9b, 1
JE LBB3_921
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_921:
WORD $0x014c; BYTE $0xc8 // add rax, r9
JE LBB3_923
LBB3_922:
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 $0xf1 // cmp r9, rsi
JNE LBB3_922
JMP LBB3_923
LBB3_221:
WORD $0x8944; BYTE $0xca // mov edx, r9d
WORD $0xe283; BYTE $0xf8 // and edx, -8
LONG $0xf8428d48 // lea rax, [rdx - 8]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03efc148 // shr rdi, 3
LONG $0x01c78348 // add rdi, 1
WORD $0xfe89 // mov esi, edi
WORD $0xe683; BYTE $0x07 // and esi, 7
LONG $0x38f88348 // cmp rax, 56
JAE LBB3_367
WORD $0xc031 // xor eax, eax
JMP LBB3_369
LBB3_265:
WORD $0x8944; BYTE $0xca // mov edx, r9d
WORD $0xe283; BYTE $0xfc // and edx, -4
LONG $0xfc428d48 // lea rax, [rdx - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0xfe89 // mov esi, edi
WORD $0xe683; BYTE $0x07 // and esi, 7
LONG $0x1cf88348 // cmp rax, 28
JAE LBB3_414
WORD $0xc031 // xor eax, eax
JMP LBB3_416
LBB3_279:
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 $0x07 // and esi, 7
LONG $0x70f88348 // cmp rax, 112
JAE LBB3_431
WORD $0xc031 // xor eax, eax
JMP LBB3_433
LBB3_338:
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 $0x07 // and esi, 7
LONG $0x00e03d48; WORD $0x0000 // cmp rax, 224
JAE LBB3_498
WORD $0xc031 // xor eax, eax
JMP LBB3_500
LBB3_374:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_610
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_376:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fa0f66 // psubd xmm0, xmm1
LONG $0x147f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm2
LONG $0x447f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fa0f66 // psubd xmm0, xmm1
LONG $0x547f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_376
JMP LBB3_611
LBB3_377:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_618
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0x4d6f0f66; BYTE $0x20 // movdqa xmm1, oword 32[rbp] /* [rip + .LCPI3_3] */
LBB3_379:
LONG $0x146f0ff3; BYTE $0xba // movdqu xmm2, oword [rdx + 4*rdi]
LONG $0x5c6f0ff3; WORD $0x10ba // movdqu xmm3, oword [rdx + 4*rdi + 16]
LONG $0xd0760f66 // pcmpeqd xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x147f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm2
LONG $0x5c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm3
LONG $0x546f0ff3; WORD $0x20ba // movdqu xmm2, oword [rdx + 4*rdi + 32]
LONG $0x5c6f0ff3; WORD $0x30ba // movdqu xmm3, oword [rdx + 4*rdi + 48]
LONG $0xd0760f66 // pcmpeqd xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x547f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm2
LONG $0x5c7f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm3
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_379
JMP LBB3_619
LBB3_380:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03efc148 // shr rdi, 3
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x18f88348 // cmp rax, 24
JAE LBB3_530
WORD $0xc031 // xor eax, eax
JMP LBB3_532
LBB3_382:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03efc148 // shr rdi, 3
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x18f88348 // cmp rax, 24
JAE LBB3_540
WORD $0xc031 // xor eax, eax
JMP LBB3_542
LBB3_384:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_626
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x45280f66; BYTE $0x00 // movapd xmm0, oword 0[rbp] /* [rip + .LCPI3_0] */
LBB3_386:
LONG $0x0c100f66; BYTE $0xfa // movupd xmm1, oword [rdx + 8*rdi]
LONG $0x54100f66; WORD $0x10fa // movupd xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0xd0570f66 // xorpd xmm2, xmm0
LONG $0x0c110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm1
LONG $0x54110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm2
LONG $0x4c100f66; WORD $0x20fa // movupd xmm1, oword [rdx + 8*rdi + 32]
LONG $0x54100f66; WORD $0x30fa // movupd xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0xd0570f66 // xorpd xmm2, xmm0
LONG $0x4c110f66; WORD $0x20f9 // movupd oword [rcx + 8*rdi + 32], xmm1
LONG $0x54110f66; WORD $0x30f9 // movupd oword [rcx + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_386
JMP LBB3_627
LBB3_387:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
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 $0x45280f66; BYTE $0x00 // movapd xmm0, oword 0[rbp] /* [rip + .LCPI3_0] */
LBB3_389:
LONG $0x0c100f66; BYTE $0xfa // movupd xmm1, oword [rdx + 8*rdi]
LONG $0x54100f66; WORD $0x10fa // movupd xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0xd0570f66 // xorpd xmm2, xmm0
LONG $0x0c110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm1
LONG $0x54110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm2
LONG $0x4c100f66; WORD $0x20fa // movupd xmm1, oword [rdx + 8*rdi + 32]
LONG $0x54100f66; WORD $0x30fa // movupd xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0xd0570f66 // xorpd xmm2, xmm0
LONG $0x4c110f66; WORD $0x20f9 // movupd oword [rcx + 8*rdi + 32], xmm1
LONG $0x54110f66; WORD $0x30f9 // movupd oword [rcx + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_389
JMP LBB3_637
LBB3_390:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
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 $0xc0570f66 // xorpd xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI3_0] */
LONG $0x55280f66; BYTE $0x10 // movapd xmm2, oword 16[rbp] /* [rip + .LCPI3_1] */
LBB3_392:
LONG $0x1c100f66; BYTE $0xfa // movupd xmm3, oword [rdx + 8*rdi]
LONG $0x64100f66; WORD $0x10fa // movupd xmm4, oword [rdx + 8*rdi + 16]
LONG $0xeb280f66 // movapd xmm5, xmm3
LONG $0xe9540f66 // andpd xmm5, xmm1
LONG $0xea560f66 // orpd xmm5, xmm2
LONG $0xf4280f66 // movapd xmm6, xmm4
LONG $0xf1540f66 // andpd xmm6, xmm1
LONG $0xf2560f66 // orpd xmm6, xmm2
LONG $0xd8c20f66; BYTE $0x04 // cmpneqpd xmm3, xmm0
LONG $0xdd540f66 // andpd xmm3, xmm5
LONG $0xe0c20f66; BYTE $0x04 // cmpneqpd xmm4, xmm0
LONG $0xe6540f66 // andpd xmm4, xmm6
LONG $0x1c110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm3
LONG $0x64110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm4
LONG $0x5c100f66; WORD $0x20fa // movupd xmm3, oword [rdx + 8*rdi + 32]
LONG $0x64100f66; WORD $0x30fa // movupd xmm4, oword [rdx + 8*rdi + 48]
LONG $0xeb280f66 // movapd xmm5, xmm3
LONG $0xe9540f66 // andpd xmm5, xmm1
LONG $0xea560f66 // orpd xmm5, xmm2
LONG $0xf4280f66 // movapd xmm6, xmm4
LONG $0xf1540f66 // andpd xmm6, xmm1
LONG $0xf2560f66 // orpd xmm6, xmm2
LONG $0xd8c20f66; BYTE $0x04 // cmpneqpd xmm3, xmm0
LONG $0xdd540f66 // andpd xmm3, xmm5
LONG $0xe0c20f66; BYTE $0x04 // cmpneqpd xmm4, xmm0
LONG $0xe6540f66 // andpd xmm4, xmm6
LONG $0x5c110f66; WORD $0x20f9 // movupd oword [rcx + 8*rdi + 32], xmm3
LONG $0x64110f66; WORD $0x30f9 // movupd oword [rcx + 8*rdi + 48], xmm4
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_392
JMP LBB3_647
LBB3_393:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_655
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x45280f66; BYTE $0x70 // movapd xmm0, oword 112[rbp] /* [rip + .LCPI3_8] */
LBB3_395:
LONG $0x0c100f66; BYTE $0xfa // movupd xmm1, oword [rdx + 8*rdi]
LONG $0x54100f66; WORD $0x10fa // movupd xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8540f66 // andpd xmm1, xmm0
LONG $0xd0540f66 // andpd xmm2, xmm0
LONG $0x0c110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm1
LONG $0x54110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm2
LONG $0x4c100f66; WORD $0x20fa // movupd xmm1, oword [rdx + 8*rdi + 32]
LONG $0x54100f66; WORD $0x30fa // movupd xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8540f66 // andpd xmm1, xmm0
LONG $0xd0540f66 // andpd xmm2, xmm0
LONG $0x4c110f66; WORD $0x20f9 // movupd oword [rcx + 8*rdi + 32], xmm1
LONG $0x54110f66; WORD $0x30f9 // movupd oword [rcx + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_395
JMP LBB3_656
LBB3_396:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_663
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x45280f66; BYTE $0x70 // movapd xmm0, oword 112[rbp] /* [rip + .LCPI3_8] */
LBB3_398:
LONG $0x0c100f66; BYTE $0xfa // movupd xmm1, oword [rdx + 8*rdi]
LONG $0x54100f66; WORD $0x10fa // movupd xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc8540f66 // andpd xmm1, xmm0
LONG $0xd0540f66 // andpd xmm2, xmm0
LONG $0x0c110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm1
LONG $0x54110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm2
LONG $0x4c100f66; WORD $0x20fa // movupd xmm1, oword [rdx + 8*rdi + 32]
LONG $0x54100f66; WORD $0x30fa // movupd xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc8540f66 // andpd xmm1, xmm0
LONG $0xd0540f66 // andpd xmm2, xmm0
LONG $0x4c110f66; WORD $0x20f9 // movupd oword [rcx + 8*rdi + 32], xmm1
LONG $0x54110f66; WORD $0x30f9 // movupd oword [rcx + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_398
JMP LBB3_664
LBB3_399:
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_671
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_401:
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f80f66 // psubb xmm0, xmm1
LONG $0x147f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm2
LONG $0x447f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x203a // movdqu xmm0, oword [rdx + rdi + 32]
LONG $0x4c6f0ff3; WORD $0x303a // movdqu xmm1, oword [rdx + rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f80f66 // psubb xmm0, xmm1
LONG $0x547f0ff3; WORD $0x2039 // movdqu oword [rcx + rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x3039 // movdqu oword [rcx + rdi + 48], xmm0
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_401
JMP LBB3_672
LBB3_402:
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_679
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_404:
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f80f66 // psubb xmm0, xmm1
LONG $0x147f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm2
LONG $0x447f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x203a // movdqu xmm0, oword [rdx + rdi + 32]
LONG $0x4c6f0ff3; WORD $0x303a // movdqu xmm1, oword [rdx + rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f80f66 // psubb xmm0, xmm1
LONG $0x547f0ff3; WORD $0x2039 // movdqu oword [rcx + rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x3039 // movdqu oword [rcx + rdi + 48], xmm0
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_404
JMP LBB3_680
LBB3_405:
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_687
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI3_6] */
LBB3_407:
LONG $0x2c6f0ff3; BYTE $0x3a // movdqu xmm5, oword [rdx + rdi]
LONG $0x746f0ff3; WORD $0x103a // movdqu xmm6, oword [rdx + rdi + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5640f66 // pcmpgtb xmm0, xmm5
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce640f66 // pcmpgtb xmm1, xmm6
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x3c7f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm7
LONG $0x6c7f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x203a // movdqu xmm5, oword [rdx + rdi + 32]
LONG $0x746f0ff3; WORD $0x303a // movdqu xmm6, oword [rdx + rdi + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5640f66 // pcmpgtb xmm0, xmm5
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce640f66 // pcmpgtb xmm1, xmm6
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x7c7f0ff3; WORD $0x2039 // movdqu oword [rcx + rdi + 32], xmm7
LONG $0x6c7f0ff3; WORD $0x3039 // movdqu oword [rcx + rdi + 48], xmm5
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_407
JMP LBB3_688
LBB3_408:
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
QUAD $0x000090856f0f4466; BYTE $0x00 // movdqa xmm8, oword 144[rbp] /* [rip + .LCPI3_10] */
LBB3_410:
LONG $0x21380f66; WORD $0x3a64; BYTE $0x0c // pmovsxbd xmm4, dword [rdx + rdi + 12]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x08 // pmovsxbd xmm1, dword [rdx + rdi + 8]
LONG $0x21380f66; WORD $0x3a5c; BYTE $0x04 // pmovsxbd xmm3, dword [rdx + rdi + 4]
LONG $0x21380f66; WORD $0x3a14 // pmovsxbd xmm2, dword [rdx + rdi]
LONG $0xea6f0f66 // movdqa xmm5, xmm2
LONG $0xe5720f66; BYTE $0x07 // psrad xmm5, 7
LONG $0xf36f0f66 // movdqa xmm6, xmm3
LONG $0xe6720f66; BYTE $0x07 // psrad xmm6, 7
LONG $0xf96f0f66 // movdqa xmm7, xmm1
LONG $0xe7720f66; BYTE $0x07 // psrad xmm7, 7
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xe0720f66; BYTE $0x07 // psrad xmm0, 7
LONG $0xe0fe0f66 // paddd xmm4, xmm0
LONG $0xcffe0f66 // paddd xmm1, xmm7
LONG $0xdefe0f66 // paddd xmm3, xmm6
LONG $0xd5fe0f66 // paddd xmm2, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xdeef0f66 // pxor xmm3, xmm6
LONG $0xcfef0f66 // pxor xmm1, xmm7
LONG $0xe0ef0f66 // pxor xmm4, xmm0
LONG $0xdb0f4166; BYTE $0xe0 // pand xmm4, xmm8
LONG $0xdb0f4166; BYTE $0xc8 // pand xmm1, xmm8
LONG $0x2b380f66; BYTE $0xcc // packusdw xmm1, xmm4
LONG $0xdb0f4166; BYTE $0xd8 // pand xmm3, xmm8
LONG $0xdb0f4166; BYTE $0xd0 // pand xmm2, xmm8
LONG $0x2b380f66; BYTE $0xd3 // packusdw xmm2, xmm3
LONG $0xd1670f66 // packuswb xmm2, xmm1
LONG $0x147f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm2
LONG $0x21380f66; WORD $0x3a64; BYTE $0x1c // pmovsxbd xmm4, dword [rdx + rdi + 28]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x18 // pmovsxbd xmm1, dword [rdx + rdi + 24]
LONG $0x21380f66; WORD $0x3a5c; BYTE $0x14 // pmovsxbd xmm3, dword [rdx + rdi + 20]
LONG $0x21380f66; WORD $0x3a54; BYTE $0x10 // pmovsxbd xmm2, dword [rdx + rdi + 16]
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xe0720f66; BYTE $0x07 // psrad xmm0, 7
LONG $0xeb6f0f66 // movdqa xmm5, xmm3
LONG $0xe5720f66; BYTE $0x07 // psrad xmm5, 7
LONG $0xf16f0f66 // movdqa xmm6, xmm1
LONG $0xe6720f66; BYTE $0x07 // psrad xmm6, 7
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0xe7720f66; BYTE $0x07 // psrad xmm7, 7
LONG $0xe7fe0f66 // paddd xmm4, xmm7
LONG $0xcefe0f66 // paddd xmm1, xmm6
LONG $0xddfe0f66 // paddd xmm3, xmm5
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0xd0ef0f66 // pxor xmm2, xmm0
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xceef0f66 // pxor xmm1, xmm6
LONG $0xe7ef0f66 // pxor xmm4, xmm7
LONG $0xdb0f4166; BYTE $0xe0 // pand xmm4, xmm8
LONG $0xdb0f4166; BYTE $0xc8 // pand xmm1, xmm8
LONG $0x2b380f66; BYTE $0xcc // packusdw xmm1, xmm4
LONG $0xdb0f4166; BYTE $0xd8 // pand xmm3, xmm8
LONG $0xdb0f4166; BYTE $0xd0 // pand xmm2, xmm8
LONG $0x2b380f66; BYTE $0xd3 // packusdw xmm2, xmm3
LONG $0xd1670f66 // packuswb xmm2, xmm1
LONG $0x547f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_410
JMP LBB3_697
LBB3_411:
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
QUAD $0x000090856f0f4466; BYTE $0x00 // movdqa xmm8, oword 144[rbp] /* [rip + .LCPI3_10] */
LBB3_413:
LONG $0x21380f66; WORD $0x3a64; BYTE $0x0c // pmovsxbd xmm4, dword [rdx + rdi + 12]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x08 // pmovsxbd xmm1, dword [rdx + rdi + 8]
LONG $0x21380f66; WORD $0x3a5c; BYTE $0x04 // pmovsxbd xmm3, dword [rdx + rdi + 4]
LONG $0x21380f66; WORD $0x3a14 // pmovsxbd xmm2, dword [rdx + rdi]
LONG $0xea6f0f66 // movdqa xmm5, xmm2
LONG $0xe5720f66; BYTE $0x07 // psrad xmm5, 7
LONG $0xf36f0f66 // movdqa xmm6, xmm3
LONG $0xe6720f66; BYTE $0x07 // psrad xmm6, 7
LONG $0xf96f0f66 // movdqa xmm7, xmm1
LONG $0xe7720f66; BYTE $0x07 // psrad xmm7, 7
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xe0720f66; BYTE $0x07 // psrad xmm0, 7
LONG $0xe0fe0f66 // paddd xmm4, xmm0
LONG $0xcffe0f66 // paddd xmm1, xmm7
LONG $0xdefe0f66 // paddd xmm3, xmm6
LONG $0xd5fe0f66 // paddd xmm2, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xdeef0f66 // pxor xmm3, xmm6
LONG $0xcfef0f66 // pxor xmm1, xmm7
LONG $0xe0ef0f66 // pxor xmm4, xmm0
LONG $0xdb0f4166; BYTE $0xe0 // pand xmm4, xmm8
LONG $0xdb0f4166; BYTE $0xc8 // pand xmm1, xmm8
LONG $0x2b380f66; BYTE $0xcc // packusdw xmm1, xmm4
LONG $0xdb0f4166; BYTE $0xd8 // pand xmm3, xmm8
LONG $0xdb0f4166; BYTE $0xd0 // pand xmm2, xmm8
LONG $0x2b380f66; BYTE $0xd3 // packusdw xmm2, xmm3
LONG $0xd1670f66 // packuswb xmm2, xmm1
LONG $0x147f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm2
LONG $0x21380f66; WORD $0x3a64; BYTE $0x1c // pmovsxbd xmm4, dword [rdx + rdi + 28]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x18 // pmovsxbd xmm1, dword [rdx + rdi + 24]
LONG $0x21380f66; WORD $0x3a5c; BYTE $0x14 // pmovsxbd xmm3, dword [rdx + rdi + 20]
LONG $0x21380f66; WORD $0x3a54; BYTE $0x10 // pmovsxbd xmm2, dword [rdx + rdi + 16]
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xe0720f66; BYTE $0x07 // psrad xmm0, 7
LONG $0xeb6f0f66 // movdqa xmm5, xmm3
LONG $0xe5720f66; BYTE $0x07 // psrad xmm5, 7
LONG $0xf16f0f66 // movdqa xmm6, xmm1
LONG $0xe6720f66; BYTE $0x07 // psrad xmm6, 7
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0xe7720f66; BYTE $0x07 // psrad xmm7, 7
LONG $0xe7fe0f66 // paddd xmm4, xmm7
LONG $0xcefe0f66 // paddd xmm1, xmm6
LONG $0xddfe0f66 // paddd xmm3, xmm5
LONG $0xd0fe0f66 // paddd xmm2, xmm0
LONG $0xd0ef0f66 // pxor xmm2, xmm0
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xceef0f66 // pxor xmm1, xmm6
LONG $0xe7ef0f66 // pxor xmm4, xmm7
LONG $0xdb0f4166; BYTE $0xe0 // pand xmm4, xmm8
LONG $0xdb0f4166; BYTE $0xc8 // pand xmm1, xmm8
LONG $0x2b380f66; BYTE $0xcc // packusdw xmm1, xmm4
LONG $0xdb0f4166; BYTE $0xd8 // pand xmm3, xmm8
LONG $0xdb0f4166; BYTE $0xd0 // pand xmm2, xmm8
LONG $0x2b380f66; BYTE $0xd3 // packusdw xmm2, xmm3
LONG $0xd1670f66 // packuswb xmm2, xmm1
LONG $0x547f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm2
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_413
JMP LBB3_705
LBB3_421:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
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
LBB3_423:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fb0f66 // psubq xmm0, xmm1
LONG $0x147f0ff3; BYTE $0xf9 // movdqu oword [rcx + 8*rdi], xmm2
LONG $0x447f0ff3; WORD $0x10f9 // movdqu oword [rcx + 8*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fb0f66 // psubq xmm0, xmm1
LONG $0x547f0ff3; WORD $0x20f9 // movdqu oword [rcx + 8*rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x30f9 // movdqu oword [rcx + 8*rdi + 48], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_423
JMP LBB3_713
LBB3_424:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
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 $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0x4d6f0f66; BYTE $0x30 // movdqa xmm1, oword 48[rbp] /* [rip + .LCPI3_4] */
LBB3_426:
LONG $0x146f0ff3; BYTE $0xfa // movdqu xmm2, oword [rdx + 8*rdi]
LONG $0x5c6f0ff3; WORD $0x10fa // movdqu xmm3, oword [rdx + 8*rdi + 16]
LONG $0x29380f66; BYTE $0xd0 // pcmpeqq xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x147f0ff3; BYTE $0xf9 // movdqu oword [rcx + 8*rdi], xmm2
LONG $0x5c7f0ff3; WORD $0x10f9 // movdqu oword [rcx + 8*rdi + 16], xmm3
LONG $0x546f0ff3; WORD $0x20fa // movdqu xmm2, oword [rdx + 8*rdi + 32]
LONG $0x5c6f0ff3; WORD $0x30fa // movdqu xmm3, oword [rdx + 8*rdi + 48]
LONG $0x29380f66; BYTE $0xd0 // pcmpeqq xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x547f0ff3; WORD $0x20f9 // movdqu oword [rcx + 8*rdi + 32], xmm2
LONG $0x5c7f0ff3; WORD $0x30f9 // movdqu oword [rcx + 8*rdi + 48], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_426
JMP LBB3_721
LBB3_427:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB3_550
WORD $0xc031 // xor eax, eax
JMP LBB3_552
LBB3_429:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB3_560
WORD $0xc031 // xor eax, eax
JMP LBB3_562
LBB3_438:
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_728
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_440:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f90f66 // psubw xmm0, xmm1
LONG $0x147f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm2
LONG $0x447f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f90f66 // psubw xmm0, xmm1
LONG $0x547f0ff3; WORD $0x2079 // movdqu oword [rcx + 2*rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x3079 // movdqu oword [rcx + 2*rdi + 48], xmm0
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_440
JMP LBB3_729
LBB3_441:
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_736
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_443:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f90f66 // psubw xmm0, xmm1
LONG $0x147f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm2
LONG $0x447f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f90f66 // psubw xmm0, xmm1
LONG $0x547f0ff3; WORD $0x2079 // movdqu oword [rcx + 2*rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x3079 // movdqu oword [rcx + 2*rdi + 48], xmm0
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_443
JMP LBB3_737
LBB3_444:
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_744
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_446:
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f90f66 // psubw xmm0, xmm1
LONG $0x147f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm2
LONG $0x447f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x207a // movdqu xmm0, oword [rdx + 2*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x307a // movdqu xmm1, oword [rdx + 2*rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f90f66 // psubw xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f90f66 // psubw xmm0, xmm1
LONG $0x547f0ff3; WORD $0x2079 // movdqu oword [rcx + 2*rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x3079 // movdqu oword [rcx + 2*rdi + 48], xmm0
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_446
JMP LBB3_745
LBB3_447:
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_752
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0x4d6f0f66; BYTE $0x40 // movdqa xmm1, oword 64[rbp] /* [rip + .LCPI3_5] */
LBB3_449:
LONG $0x146f0ff3; BYTE $0x7a // movdqu xmm2, oword [rdx + 2*rdi]
LONG $0x5c6f0ff3; WORD $0x107a // movdqu xmm3, oword [rdx + 2*rdi + 16]
LONG $0xd0750f66 // pcmpeqw xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x147f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm2
LONG $0x5c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm3
LONG $0x546f0ff3; WORD $0x207a // movdqu xmm2, oword [rdx + 2*rdi + 32]
LONG $0x5c6f0ff3; WORD $0x307a // movdqu xmm3, oword [rdx + 2*rdi + 48]
LONG $0xd0750f66 // pcmpeqw xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x547f0ff3; WORD $0x2079 // movdqu oword [rcx + 2*rdi + 32], xmm2
LONG $0x5c7f0ff3; WORD $0x3079 // movdqu oword [rcx + 2*rdi + 48], xmm3
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_449
JMP LBB3_753
LBB3_450:
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_760
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x656f0f66; BYTE $0x40 // movdqa xmm4, oword 64[rbp] /* [rip + .LCPI3_5] */
LBB3_452:
LONG $0x2c6f0ff3; BYTE $0x7a // movdqu xmm5, oword [rdx + 2*rdi]
LONG $0x746f0ff3; WORD $0x107a // movdqu xmm6, oword [rdx + 2*rdi + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5650f66 // pcmpgtw xmm0, xmm5
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce650f66 // pcmpgtw xmm1, xmm6
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x3c7f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm7
LONG $0x6c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x207a // movdqu xmm5, oword [rdx + 2*rdi + 32]
LONG $0x746f0ff3; WORD $0x307a // movdqu xmm6, oword [rdx + 2*rdi + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5650f66 // pcmpgtw xmm0, xmm5
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce650f66 // pcmpgtw xmm1, xmm6
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x7c7f0ff3; WORD $0x2079 // movdqu oword [rcx + 2*rdi + 32], xmm7
LONG $0x6c7f0ff3; WORD $0x3079 // movdqu oword [rcx + 2*rdi + 48], xmm5
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB3_452
JMP LBB3_761
LBB3_453:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x04efc148 // shr rdi, 4
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x30f88348 // cmp rax, 48
JAE LBB3_570
WORD $0xc031 // xor eax, eax
JMP LBB3_572
LBB3_455:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
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 $0xc0ef0f66 // pxor xmm0, xmm0
LBB3_457:
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x08 // pmovsxwd xmm1, qword [rdx + 2*rdi + 8]
LONG $0x23380f66; WORD $0x7a14 // pmovsxwd xmm2, qword [rdx + 2*rdi]
LONG $0xda6f0f66 // movdqa xmm3, xmm2
LONG $0xe3720f66; BYTE $0x0f // psrad xmm3, 15
LONG $0xe16f0f66 // movdqa xmm4, xmm1
LONG $0xe4720f66; BYTE $0x0f // psrad xmm4, 15
LONG $0xccfe0f66 // paddd xmm1, xmm4
LONG $0xd3fe0f66 // paddd xmm2, xmm3
LONG $0xd3ef0f66 // pxor xmm2, xmm3
LONG $0xccef0f66 // pxor xmm1, xmm4
LONG $0x0e3a0f66; WORD $0xaac8 // pblendw xmm1, xmm0, 170
LONG $0x0e3a0f66; WORD $0xaad0 // pblendw xmm2, xmm0, 170
LONG $0x2b380f66; BYTE $0xd1 // packusdw xmm2, xmm1
LONG $0x147f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm2
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x18 // pmovsxwd xmm1, qword [rdx + 2*rdi + 24]
LONG $0x23380f66; WORD $0x7a54; BYTE $0x10 // pmovsxwd xmm2, qword [rdx + 2*rdi + 16]
LONG $0xda6f0f66 // movdqa xmm3, xmm2
LONG $0xe3720f66; BYTE $0x0f // psrad xmm3, 15
LONG $0xe16f0f66 // movdqa xmm4, xmm1
LONG $0xe4720f66; BYTE $0x0f // psrad xmm4, 15
LONG $0xccfe0f66 // paddd xmm1, xmm4
LONG $0xd3fe0f66 // paddd xmm2, xmm3
LONG $0xd3ef0f66 // pxor xmm2, xmm3
LONG $0xccef0f66 // pxor xmm1, xmm4
LONG $0x0e3a0f66; WORD $0xaac8 // pblendw xmm1, xmm0, 170
LONG $0x0e3a0f66; WORD $0xaad0 // pblendw xmm2, xmm0, 170
LONG $0x2b380f66; BYTE $0xd1 // packusdw xmm2, xmm1
LONG $0x547f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_457
JMP LBB3_770
LBB3_458:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x04efc148 // shr rdi, 4
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x30f88348 // cmp rax, 48
JAE LBB3_580
WORD $0xc031 // xor eax, eax
JMP LBB3_582
LBB3_460:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
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 $0xc0ef0f66 // pxor xmm0, xmm0
LBB3_462:
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x08 // pmovsxwd xmm1, qword [rdx + 2*rdi + 8]
LONG $0x23380f66; WORD $0x7a14 // pmovsxwd xmm2, qword [rdx + 2*rdi]
LONG $0xda6f0f66 // movdqa xmm3, xmm2
LONG $0xe3720f66; BYTE $0x0f // psrad xmm3, 15
LONG $0xe16f0f66 // movdqa xmm4, xmm1
LONG $0xe4720f66; BYTE $0x0f // psrad xmm4, 15
LONG $0xccfe0f66 // paddd xmm1, xmm4
LONG $0xd3fe0f66 // paddd xmm2, xmm3
LONG $0xd3ef0f66 // pxor xmm2, xmm3
LONG $0xccef0f66 // pxor xmm1, xmm4
LONG $0x0e3a0f66; WORD $0xaac8 // pblendw xmm1, xmm0, 170
LONG $0x0e3a0f66; WORD $0xaad0 // pblendw xmm2, xmm0, 170
LONG $0x2b380f66; BYTE $0xd1 // packusdw xmm2, xmm1
LONG $0x147f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm2
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x18 // pmovsxwd xmm1, qword [rdx + 2*rdi + 24]
LONG $0x23380f66; WORD $0x7a54; BYTE $0x10 // pmovsxwd xmm2, qword [rdx + 2*rdi + 16]
LONG $0xda6f0f66 // movdqa xmm3, xmm2
LONG $0xe3720f66; BYTE $0x0f // psrad xmm3, 15
LONG $0xe16f0f66 // movdqa xmm4, xmm1
LONG $0xe4720f66; BYTE $0x0f // psrad xmm4, 15
LONG $0xccfe0f66 // paddd xmm1, xmm4
LONG $0xd3fe0f66 // paddd xmm2, xmm3
LONG $0xd3ef0f66 // pxor xmm2, xmm3
LONG $0xccef0f66 // pxor xmm1, xmm4
LONG $0x0e3a0f66; WORD $0xaac8 // pblendw xmm1, xmm0, 170
LONG $0x0e3a0f66; WORD $0xaad0 // pblendw xmm2, xmm0, 170
LONG $0x2b380f66; BYTE $0xd1 // packusdw xmm2, xmm1
LONG $0x547f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_462
JMP LBB3_778
LBB3_463:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_785
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_465:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fb0f66 // psubq xmm0, xmm1
LONG $0x147f0ff3; BYTE $0xf9 // movdqu oword [rcx + 8*rdi], xmm2
LONG $0x447f0ff3; WORD $0x10f9 // movdqu oword [rcx + 8*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fb0f66 // psubq xmm0, xmm1
LONG $0x547f0ff3; WORD $0x20f9 // movdqu oword [rcx + 8*rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x30f9 // movdqu oword [rcx + 8*rdi + 48], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_465
JMP LBB3_786
LBB3_466:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_793
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x45280f66; BYTE $0x60 // movapd xmm0, oword 96[rbp] /* [rip + .LCPI3_7] */
LBB3_468:
LONG $0x0c100f66; BYTE $0xba // movupd xmm1, oword [rdx + 4*rdi]
LONG $0x54100f66; WORD $0x10ba // movupd xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0xd0570f66 // xorpd xmm2, xmm0
LONG $0x0c110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm1
LONG $0x54110f66; WORD $0x10b9 // movupd oword [rcx + 4*rdi + 16], xmm2
LONG $0x4c100f66; WORD $0x20ba // movupd xmm1, oword [rdx + 4*rdi + 32]
LONG $0x54100f66; WORD $0x30ba // movupd xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0xd0570f66 // xorpd xmm2, xmm0
LONG $0x4c110f66; WORD $0x20b9 // movupd oword [rcx + 4*rdi + 32], xmm1
LONG $0x54110f66; WORD $0x30b9 // movupd oword [rcx + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_468
JMP LBB3_794
LBB3_469:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_803
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_471:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fb0f66 // psubq xmm0, xmm1
LONG $0x147f0ff3; BYTE $0xf9 // movdqu oword [rcx + 8*rdi], xmm2
LONG $0x447f0ff3; WORD $0x10f9 // movdqu oword [rcx + 8*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fb0f66 // psubq xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fb0f66 // psubq xmm0, xmm1
LONG $0x547f0ff3; WORD $0x20f9 // movdqu oword [rcx + 8*rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x30f9 // movdqu oword [rcx + 8*rdi + 48], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_471
JMP LBB3_804
LBB3_472:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_811
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x45280f66; BYTE $0x60 // movapd xmm0, oword 96[rbp] /* [rip + .LCPI3_7] */
LBB3_474:
LONG $0x0c100f66; BYTE $0xba // movupd xmm1, oword [rdx + 4*rdi]
LONG $0x54100f66; WORD $0x10ba // movupd xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0xd0570f66 // xorpd xmm2, xmm0
LONG $0x0c110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm1
LONG $0x54110f66; WORD $0x10b9 // movupd oword [rcx + 4*rdi + 16], xmm2
LONG $0x4c100f66; WORD $0x20ba // movupd xmm1, oword [rdx + 4*rdi + 32]
LONG $0x54100f66; WORD $0x30ba // movupd xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8570f66 // xorpd xmm1, xmm0
LONG $0xd0570f66 // xorpd xmm2, xmm0
LONG $0x4c110f66; WORD $0x20b9 // movupd oword [rcx + 4*rdi + 32], xmm1
LONG $0x54110f66; WORD $0x30b9 // movupd oword [rcx + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_474
JMP LBB3_812
LBB3_475:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_821
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x656f0f66; BYTE $0x30 // movdqa xmm4, oword 48[rbp] /* [rip + .LCPI3_4] */
LBB3_477:
LONG $0x2c6f0ff3; BYTE $0xfa // movdqu xmm5, oword [rdx + 8*rdi]
LONG $0x746f0ff3; WORD $0x10fa // movdqu xmm6, oword [rdx + 8*rdi + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0x37380f66; BYTE $0xc5 // pcmpgtq xmm0, xmm5
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0x37380f66; BYTE $0xce // pcmpgtq xmm1, xmm6
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x15380f66; BYTE $0xfd // blendvpd xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xee // blendvpd xmm5, xmm6, xmm0
LONG $0x3c110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm7
LONG $0x6c110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x20fa // movdqu xmm5, oword [rdx + 8*rdi + 32]
LONG $0x746f0ff3; WORD $0x30fa // movdqu xmm6, oword [rdx + 8*rdi + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0x37380f66; BYTE $0xc5 // pcmpgtq xmm0, xmm5
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0x37380f66; BYTE $0xce // pcmpgtq xmm1, xmm6
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x15380f66; BYTE $0xfd // blendvpd xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xee // blendvpd xmm5, xmm6, xmm0
LONG $0x7c110f66; WORD $0x20f9 // movupd oword [rcx + 8*rdi + 32], xmm7
LONG $0x6c110f66; WORD $0x30f9 // movupd oword [rcx + 8*rdi + 48], xmm5
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_477
JMP LBB3_822
LBB3_478:
WORD $0xc689 // mov esi, eax
WORD $0xe683; BYTE $0xf8 // and esi, -8
WORD $0xff31 // xor edi, edi
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x4d6f0f66; BYTE $0x20 // movdqa xmm1, oword 32[rbp] /* [rip + .LCPI3_3] */
LBB3_479:
LONG $0x146f0ff3; BYTE $0xba // movdqu xmm2, oword [rdx + 4*rdi]
LONG $0x5c6f0ff3; WORD $0x10ba // movdqu xmm3, oword [rdx + 4*rdi + 16]
LONG $0xe26f0f66 // movdqa xmm4, xmm2
LONG $0xe4720f66; BYTE $0x1f // psrad xmm4, 31
LONG $0xe1eb0f66 // por xmm4, xmm1
LONG $0xeb6f0f66 // movdqa xmm5, xmm3
LONG $0xe5720f66; BYTE $0x1f // psrad xmm5, 31
LONG $0xe9eb0f66 // por xmm5, xmm1
WORD $0x5b0f; BYTE $0xe4 // cvtdq2ps xmm4, xmm4
WORD $0x5b0f; BYTE $0xed // cvtdq2ps xmm5, xmm5
LONG $0x04d0c20f // cmpneqps xmm2, xmm0
WORD $0x540f; BYTE $0xd4 // andps xmm2, xmm4
LONG $0x04d8c20f // cmpneqps xmm3, xmm0
WORD $0x540f; BYTE $0xdd // andps xmm3, xmm5
LONG $0xb914110f // movups oword [rcx + 4*rdi], xmm2
LONG $0xb95c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm3
LONG $0x08c78348 // add rdi, 8
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB3_479
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB3_923
JMP LBB3_481
LBB3_486:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_830
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_488:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xcb // blendvpd xmm1, xmm3, xmm0
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xdafb0f66 // psubq xmm3, xmm2
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x15380f66; BYTE $0xd3 // blendvpd xmm2, xmm3, xmm0
LONG $0x0c110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm1
LONG $0x54110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xcb // blendvpd xmm1, xmm3, xmm0
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xdafb0f66 // psubq xmm3, xmm2
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x15380f66; BYTE $0xd3 // blendvpd xmm2, xmm3, xmm0
LONG $0x4c110f66; WORD $0x20f9 // movupd oword [rcx + 8*rdi + 32], xmm1
LONG $0x54110f66; WORD $0x30f9 // movupd oword [rcx + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_488
JMP LBB3_831
LBB3_489:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_838
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x0000008085280f66 // movapd xmm0, oword 128[rbp] /* [rip + .LCPI3_9] */
LBB3_491:
LONG $0x0c100f66; BYTE $0xba // movupd xmm1, oword [rdx + 4*rdi]
LONG $0x54100f66; WORD $0x10ba // movupd xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8540f66 // andpd xmm1, xmm0
LONG $0xd0540f66 // andpd xmm2, xmm0
LONG $0x0c110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm1
LONG $0x54110f66; WORD $0x10b9 // movupd oword [rcx + 4*rdi + 16], xmm2
LONG $0x4c100f66; WORD $0x20ba // movupd xmm1, oword [rdx + 4*rdi + 32]
LONG $0x54100f66; WORD $0x30ba // movupd xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8540f66 // andpd xmm1, xmm0
LONG $0xd0540f66 // andpd xmm2, xmm0
LONG $0x4c110f66; WORD $0x20b9 // movupd oword [rcx + 4*rdi + 32], xmm1
LONG $0x54110f66; WORD $0x30b9 // movupd oword [rcx + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_491
JMP LBB3_839
LBB3_492:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_848
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_494:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xcb // blendvpd xmm1, xmm3, xmm0
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xdafb0f66 // psubq xmm3, xmm2
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x15380f66; BYTE $0xd3 // blendvpd xmm2, xmm3, xmm0
LONG $0x0c110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm1
LONG $0x54110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm2
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd9fb0f66 // psubq xmm3, xmm1
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xcb // blendvpd xmm1, xmm3, xmm0
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xdafb0f66 // psubq xmm3, xmm2
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x15380f66; BYTE $0xd3 // blendvpd xmm2, xmm3, xmm0
LONG $0x4c110f66; WORD $0x20f9 // movupd oword [rcx + 8*rdi + 32], xmm1
LONG $0x54110f66; WORD $0x30f9 // movupd oword [rcx + 8*rdi + 48], xmm2
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB3_494
JMP LBB3_849
LBB3_495:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_856
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x0000008085280f66 // movapd xmm0, oword 128[rbp] /* [rip + .LCPI3_9] */
LBB3_497:
LONG $0x0c100f66; BYTE $0xba // movupd xmm1, oword [rdx + 4*rdi]
LONG $0x54100f66; WORD $0x10ba // movupd xmm2, oword [rdx + 4*rdi + 16]
LONG $0xc8540f66 // andpd xmm1, xmm0
LONG $0xd0540f66 // andpd xmm2, xmm0
LONG $0x0c110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm1
LONG $0x54110f66; WORD $0x10b9 // movupd oword [rcx + 4*rdi + 16], xmm2
LONG $0x4c100f66; WORD $0x20ba // movupd xmm1, oword [rdx + 4*rdi + 32]
LONG $0x54100f66; WORD $0x30ba // movupd xmm2, oword [rdx + 4*rdi + 48]
LONG $0xc8540f66 // andpd xmm1, xmm0
LONG $0xd0540f66 // andpd xmm2, xmm0
LONG $0x4c110f66; WORD $0x20b9 // movupd oword [rcx + 4*rdi + 32], xmm1
LONG $0x54110f66; WORD $0x30b9 // movupd oword [rcx + 4*rdi + 48], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_497
JMP LBB3_857
LBB3_505:
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_866
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_507:
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f80f66 // psubb xmm0, xmm1
LONG $0x147f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm2
LONG $0x447f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x203a // movdqu xmm0, oword [rdx + rdi + 32]
LONG $0x4c6f0ff3; WORD $0x303a // movdqu xmm1, oword [rdx + rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0f80f66 // psubb xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1f80f66 // psubb xmm0, xmm1
LONG $0x547f0ff3; WORD $0x2039 // movdqu oword [rcx + rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x3039 // movdqu oword [rcx + rdi + 48], xmm0
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_507
JMP LBB3_867
LBB3_508:
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_874
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0x4d6f0f66; BYTE $0x50 // movdqa xmm1, oword 80[rbp] /* [rip + .LCPI3_6] */
LBB3_510:
LONG $0x146f0ff3; BYTE $0x3a // movdqu xmm2, oword [rdx + rdi]
LONG $0x5c6f0ff3; WORD $0x103a // movdqu xmm3, oword [rdx + rdi + 16]
LONG $0xd0740f66 // pcmpeqb xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x147f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm2
LONG $0x5c7f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm3
LONG $0x546f0ff3; WORD $0x203a // movdqu xmm2, oword [rdx + rdi + 32]
LONG $0x5c6f0ff3; WORD $0x303a // movdqu xmm3, oword [rdx + rdi + 48]
LONG $0xd0740f66 // pcmpeqb xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x547f0ff3; WORD $0x2039 // movdqu oword [rcx + rdi + 32], xmm2
LONG $0x5c7f0ff3; WORD $0x3039 // movdqu oword [rcx + rdi + 48], xmm3
LONG $0x40c78348 // add rdi, 64
LONG $0x02c08348 // add rax, 2
JNE LBB3_510
JMP LBB3_875
LBB3_511:
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_590
WORD $0xc031 // xor eax, eax
JMP LBB3_592
LBB3_513:
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_600
WORD $0xc031 // xor eax, eax
JMP LBB3_602
LBB3_515:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_882
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_517:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fa0f66 // psubd xmm0, xmm1
LONG $0x147f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm2
LONG $0x447f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fa0f66 // psubd xmm0, xmm1
LONG $0x547f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_517
JMP LBB3_883
LBB3_518:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_890
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_520:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fa0f66 // psubd xmm0, xmm1
LONG $0x147f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm2
LONG $0x447f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm0
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd0fa0f66 // psubd xmm2, xmm0
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc1fa0f66 // psubd xmm0, xmm1
LONG $0x547f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm2
LONG $0x447f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_520
JMP LBB3_891
LBB3_521:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_898
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x656f0f66; BYTE $0x20 // movdqa xmm4, oword 32[rbp] /* [rip + .LCPI3_3] */
LBB3_523:
LONG $0x2c6f0ff3; BYTE $0xba // movdqu xmm5, oword [rdx + 4*rdi]
LONG $0x746f0ff3; WORD $0x10ba // movdqu xmm6, oword [rdx + 4*rdi + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5660f66 // pcmpgtd xmm0, xmm5
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce660f66 // pcmpgtd xmm1, xmm6
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x14380f66; BYTE $0xfd // blendvps xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xee // blendvps xmm5, xmm6, xmm0
LONG $0xb93c110f // movups oword [rcx + 4*rdi], xmm7
LONG $0xb96c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x20ba // movdqu xmm5, oword [rdx + 4*rdi + 32]
LONG $0x746f0ff3; WORD $0x30ba // movdqu xmm6, oword [rdx + 4*rdi + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5660f66 // pcmpgtd xmm0, xmm5
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce660f66 // pcmpgtd xmm1, xmm6
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x14380f66; BYTE $0xfd // blendvps xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xee // blendvps xmm5, xmm6, xmm0
LONG $0xb97c110f; BYTE $0x20 // movups oword [rcx + 4*rdi + 32], xmm7
LONG $0xb96c110f; BYTE $0x30 // movups oword [rcx + 4*rdi + 48], xmm5
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_523
JMP LBB3_899
LBB3_524:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_907
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_526:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x1e380f66; BYTE $0xc0 // pabsd xmm0, xmm0
LONG $0x1e380f66; BYTE $0xc9 // pabsd xmm1, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x1e380f66; BYTE $0xc0 // pabsd xmm0, xmm0
LONG $0x1e380f66; BYTE $0xc9 // pabsd xmm1, xmm1
LONG $0x447f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_526
JMP LBB3_908
LBB3_527:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB3_915
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB3_529:
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x1e380f66; BYTE $0xc0 // pabsd xmm0, xmm0
LONG $0x1e380f66; BYTE $0xc9 // pabsd xmm1, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LONG $0x446f0ff3; WORD $0x20ba // movdqu xmm0, oword [rdx + 4*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30ba // movdqu xmm1, oword [rdx + 4*rdi + 48]
LONG $0x1e380f66; BYTE $0xc0 // pabsd xmm0, xmm0
LONG $0x1e380f66; BYTE $0xc9 // pabsd xmm1, xmm1
LONG $0x447f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB3_529
JMP LBB3_916
LBB3_367:
LONG $0xf8e78348 // and rdi, -8
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xc0570f66 // xorpd xmm0, xmm0
LBB3_368:
LONG $0x04110f66; BYTE $0x81 // movupd oword [rcx + 4*rax], xmm0
LONG $0x44110f66; WORD $0x1081 // movupd oword [rcx + 4*rax + 16], xmm0
LONG $0x44110f66; WORD $0x2081 // movupd oword [rcx + 4*rax + 32], xmm0
LONG $0x44110f66; WORD $0x3081 // movupd oword [rcx + 4*rax + 48], xmm0
LONG $0x44110f66; WORD $0x4081 // movupd oword [rcx + 4*rax + 64], xmm0
LONG $0x44110f66; WORD $0x5081 // movupd oword [rcx + 4*rax + 80], xmm0
LONG $0x44110f66; WORD $0x6081 // movupd oword [rcx + 4*rax + 96], xmm0
LONG $0x44110f66; WORD $0x7081 // movupd oword [rcx + 4*rax + 112], xmm0
QUAD $0x0000808184110f66; BYTE $0x00 // movupd oword [rcx + 4*rax + 128], xmm0
QUAD $0x0000908184110f66; BYTE $0x00 // movupd oword [rcx + 4*rax + 144], xmm0
QUAD $0x0000a08184110f66; BYTE $0x00 // movupd oword [rcx + 4*rax + 160], xmm0
QUAD $0x0000b08184110f66; BYTE $0x00 // movupd oword [rcx + 4*rax + 176], xmm0
QUAD $0x0000c08184110f66; BYTE $0x00 // movupd oword [rcx + 4*rax + 192], xmm0
QUAD $0x0000d08184110f66; BYTE $0x00 // movupd oword [rcx + 4*rax + 208], xmm0
QUAD $0x0000e08184110f66; BYTE $0x00 // movupd oword [rcx + 4*rax + 224], xmm0
QUAD $0x0000f08184110f66; BYTE $0x00 // movupd oword [rcx + 4*rax + 240], xmm0
LONG $0x40c08348 // add rax, 64
LONG $0x08c78348 // add rdi, 8
JNE LBB3_368
LBB3_369:
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB3_372
LONG $0x81048d48 // lea rax, [rcx + 4*rax]
LONG $0x10c08348 // add rax, 16
WORD $0xf748; BYTE $0xde // neg rsi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LBB3_371:
LONG $0x40110f66; BYTE $0xf0 // movupd oword [rax - 16], xmm0
LONG $0x00110f66 // movupd oword [rax], xmm0
LONG $0x20c08348 // add rax, 32
WORD $0xff48; BYTE $0xc6 // inc rsi
JNE LBB3_371
LBB3_372:
WORD $0x394c; BYTE $0xca // cmp rdx, r9
JE LBB3_923
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_923
LBB3_414:
LONG $0xf8e78348 // and rdi, -8
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xc0570f66 // xorpd xmm0, xmm0
LBB3_415:
LONG $0x04110f66; BYTE $0xc1 // movupd oword [rcx + 8*rax], xmm0
LONG $0x44110f66; WORD $0x10c1 // movupd oword [rcx + 8*rax + 16], xmm0
LONG $0x44110f66; WORD $0x20c1 // movupd oword [rcx + 8*rax + 32], xmm0
LONG $0x44110f66; WORD $0x30c1 // movupd oword [rcx + 8*rax + 48], xmm0
LONG $0x44110f66; WORD $0x40c1 // movupd oword [rcx + 8*rax + 64], xmm0
LONG $0x44110f66; WORD $0x50c1 // movupd oword [rcx + 8*rax + 80], xmm0
LONG $0x44110f66; WORD $0x60c1 // movupd oword [rcx + 8*rax + 96], xmm0
LONG $0x44110f66; WORD $0x70c1 // movupd oword [rcx + 8*rax + 112], xmm0
QUAD $0x000080c184110f66; BYTE $0x00 // movupd oword [rcx + 8*rax + 128], xmm0
QUAD $0x000090c184110f66; BYTE $0x00 // movupd oword [rcx + 8*rax + 144], xmm0
QUAD $0x0000a0c184110f66; BYTE $0x00 // movupd oword [rcx + 8*rax + 160], xmm0
QUAD $0x0000b0c184110f66; BYTE $0x00 // movupd oword [rcx + 8*rax + 176], xmm0
QUAD $0x0000c0c184110f66; BYTE $0x00 // movupd oword [rcx + 8*rax + 192], xmm0
QUAD $0x0000d0c184110f66; BYTE $0x00 // movupd oword [rcx + 8*rax + 208], xmm0
QUAD $0x0000e0c184110f66; BYTE $0x00 // movupd oword [rcx + 8*rax + 224], xmm0
QUAD $0x0000f0c184110f66; BYTE $0x00 // movupd oword [rcx + 8*rax + 240], xmm0
LONG $0x20c08348 // add rax, 32
LONG $0x08c78348 // add rdi, 8
JNE LBB3_415
LBB3_416:
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB3_419
LONG $0xc1048d48 // lea rax, [rcx + 8*rax]
LONG $0x10c08348 // add rax, 16
WORD $0xf748; BYTE $0xde // neg rsi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LBB3_418:
LONG $0x40110f66; BYTE $0xf0 // movupd oword [rax - 16], xmm0
LONG $0x00110f66 // movupd oword [rax], xmm0
LONG $0x20c08348 // add rax, 32
WORD $0xff48; BYTE $0xc6 // inc rsi
JNE LBB3_418
LBB3_419:
WORD $0x394c; BYTE $0xca // cmp rdx, r9
JE LBB3_923
LBB3_420:
QUAD $0x00000000d104c748 // mov qword [rcx + 8*rdx], 0
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd1 // cmp r9, rdx
JNE LBB3_420
JMP LBB3_923
LBB3_431:
LONG $0xf8e78348 // and rdi, -8
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xc0570f66 // xorpd xmm0, xmm0
LBB3_432:
LONG $0x04110f66; BYTE $0x41 // movupd oword [rcx + 2*rax], xmm0
LONG $0x44110f66; WORD $0x1041 // movupd oword [rcx + 2*rax + 16], xmm0
LONG $0x44110f66; WORD $0x2041 // movupd oword [rcx + 2*rax + 32], xmm0
LONG $0x44110f66; WORD $0x3041 // movupd oword [rcx + 2*rax + 48], xmm0
LONG $0x44110f66; WORD $0x4041 // movupd oword [rcx + 2*rax + 64], xmm0
LONG $0x44110f66; WORD $0x5041 // movupd oword [rcx + 2*rax + 80], xmm0
LONG $0x44110f66; WORD $0x6041 // movupd oword [rcx + 2*rax + 96], xmm0
LONG $0x44110f66; WORD $0x7041 // movupd oword [rcx + 2*rax + 112], xmm0
QUAD $0x0000804184110f66; BYTE $0x00 // movupd oword [rcx + 2*rax + 128], xmm0
QUAD $0x0000904184110f66; BYTE $0x00 // movupd oword [rcx + 2*rax + 144], xmm0
QUAD $0x0000a04184110f66; BYTE $0x00 // movupd oword [rcx + 2*rax + 160], xmm0
QUAD $0x0000b04184110f66; BYTE $0x00 // movupd oword [rcx + 2*rax + 176], xmm0
QUAD $0x0000c04184110f66; BYTE $0x00 // movupd oword [rcx + 2*rax + 192], xmm0
QUAD $0x0000d04184110f66; BYTE $0x00 // movupd oword [rcx + 2*rax + 208], xmm0
QUAD $0x0000e04184110f66; BYTE $0x00 // movupd oword [rcx + 2*rax + 224], xmm0
QUAD $0x0000f04184110f66; BYTE $0x00 // movupd oword [rcx + 2*rax + 240], xmm0
LONG $0x80e88348 // sub rax, -128
LONG $0x08c78348 // add rdi, 8
JNE LBB3_432
LBB3_433:
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB3_436
LONG $0x41048d48 // lea rax, [rcx + 2*rax]
LONG $0x10c08348 // add rax, 16
WORD $0xf748; BYTE $0xde // neg rsi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LBB3_435:
LONG $0x40110f66; BYTE $0xf0 // movupd oword [rax - 16], xmm0
LONG $0x00110f66 // movupd oword [rax], xmm0
LONG $0x20c08348 // add rax, 32
WORD $0xff48; BYTE $0xc6 // inc rsi
JNE LBB3_435
LBB3_436:
WORD $0x394c; BYTE $0xca // cmp rdx, r9
JE LBB3_923
LBB3_437:
LONG $0x5104c766; WORD $0x0000 // mov word [rcx + 2*rdx], 0
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd1 // cmp r9, rdx
JNE LBB3_437
JMP LBB3_923
LBB3_498:
LONG $0xf8e78348 // and rdi, -8
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xc0570f66 // xorpd xmm0, xmm0
LBB3_499:
LONG $0x04110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm0
LONG $0x44110f66; WORD $0x1001 // movupd oword [rcx + rax + 16], xmm0
LONG $0x44110f66; WORD $0x2001 // movupd oword [rcx + rax + 32], xmm0
LONG $0x44110f66; WORD $0x3001 // movupd oword [rcx + rax + 48], xmm0
LONG $0x44110f66; WORD $0x4001 // movupd oword [rcx + rax + 64], xmm0
LONG $0x44110f66; WORD $0x5001 // movupd oword [rcx + rax + 80], xmm0
LONG $0x44110f66; WORD $0x6001 // movupd oword [rcx + rax + 96], xmm0
LONG $0x44110f66; WORD $0x7001 // movupd oword [rcx + rax + 112], xmm0
QUAD $0x0000800184110f66; BYTE $0x00 // movupd oword [rcx + rax + 128], xmm0
QUAD $0x0000900184110f66; BYTE $0x00 // movupd oword [rcx + rax + 144], xmm0
QUAD $0x0000a00184110f66; BYTE $0x00 // movupd oword [rcx + rax + 160], xmm0
QUAD $0x0000b00184110f66; BYTE $0x00 // movupd oword [rcx + rax + 176], xmm0
QUAD $0x0000c00184110f66; BYTE $0x00 // movupd oword [rcx + rax + 192], xmm0
QUAD $0x0000d00184110f66; BYTE $0x00 // movupd oword [rcx + rax + 208], xmm0
QUAD $0x0000e00184110f66; BYTE $0x00 // movupd oword [rcx + rax + 224], xmm0
QUAD $0x0000f00184110f66; BYTE $0x00 // movupd oword [rcx + rax + 240], xmm0
LONG $0x01000548; WORD $0x0000 // add rax, 256
LONG $0x08c78348 // add rdi, 8
JNE LBB3_499
LBB3_500:
WORD $0x8548; BYTE $0xf6 // test rsi, rsi
JE LBB3_503
WORD $0x0148; BYTE $0xc8 // add rax, rcx
LONG $0x10c08348 // add rax, 16
WORD $0xf748; BYTE $0xde // neg rsi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LBB3_502:
LONG $0x40110f66; BYTE $0xf0 // movupd oword [rax - 16], xmm0
LONG $0x00110f66 // movupd oword [rax], xmm0
LONG $0x20c08348 // add rax, 32
WORD $0xff48; BYTE $0xc6 // inc rsi
JNE LBB3_502
LBB3_503:
WORD $0x394c; BYTE $0xca // cmp rdx, r9
JE LBB3_923
LBB3_504:
LONG $0x001104c6 // mov byte [rcx + rdx], 0
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd1 // cmp r9, rdx
JNE LBB3_504
LBB3_923:
RET
LBB3_530:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB3_531:
LONG $0x8204100f // movups xmm0, oword [rdx + 4*rax]
LONG $0x824c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rax + 16]
LONG $0x8104110f // movups oword [rcx + 4*rax], xmm0
LONG $0x814c110f; BYTE $0x10 // movups oword [rcx + 4*rax + 16], xmm1
LONG $0x8244100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rax + 32]
LONG $0x824c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rax + 48]
LONG $0x8144110f; BYTE $0x20 // movups oword [rcx + 4*rax + 32], xmm0
LONG $0x814c110f; BYTE $0x30 // movups oword [rcx + 4*rax + 48], xmm1
LONG $0x8244100f; BYTE $0x40 // movups xmm0, oword [rdx + 4*rax + 64]
LONG $0x824c100f; BYTE $0x50 // movups xmm1, oword [rdx + 4*rax + 80]
LONG $0x8144110f; BYTE $0x40 // movups oword [rcx + 4*rax + 64], xmm0
LONG $0x814c110f; BYTE $0x50 // movups oword [rcx + 4*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6082 // movupd xmm0, oword [rdx + 4*rax + 96]
LONG $0x4c100f66; WORD $0x7082 // movupd xmm1, oword [rdx + 4*rax + 112]
LONG $0x44110f66; WORD $0x6081 // movupd oword [rcx + 4*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7081 // movupd oword [rcx + 4*rax + 112], xmm1
LONG $0x20c08348 // add rax, 32
LONG $0x04c78348 // add rdi, 4
JNE LBB3_531
LBB3_532:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB3_535
QUAD $0x0000001085048d48 // lea rax, [4*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB3_534:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB3_534
LBB3_535:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_536
LBB3_540:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB3_541:
LONG $0x8204100f // movups xmm0, oword [rdx + 4*rax]
LONG $0x824c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rax + 16]
LONG $0x8104110f // movups oword [rcx + 4*rax], xmm0
LONG $0x814c110f; BYTE $0x10 // movups oword [rcx + 4*rax + 16], xmm1
LONG $0x8244100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rax + 32]
LONG $0x824c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rax + 48]
LONG $0x8144110f; BYTE $0x20 // movups oword [rcx + 4*rax + 32], xmm0
LONG $0x814c110f; BYTE $0x30 // movups oword [rcx + 4*rax + 48], xmm1
LONG $0x8244100f; BYTE $0x40 // movups xmm0, oword [rdx + 4*rax + 64]
LONG $0x824c100f; BYTE $0x50 // movups xmm1, oword [rdx + 4*rax + 80]
LONG $0x8144110f; BYTE $0x40 // movups oword [rcx + 4*rax + 64], xmm0
LONG $0x814c110f; BYTE $0x50 // movups oword [rcx + 4*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6082 // movupd xmm0, oword [rdx + 4*rax + 96]
LONG $0x4c100f66; WORD $0x7082 // movupd xmm1, oword [rdx + 4*rax + 112]
LONG $0x44110f66; WORD $0x6081 // movupd oword [rcx + 4*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7081 // movupd oword [rcx + 4*rax + 112], xmm1
LONG $0x20c08348 // add rax, 32
LONG $0x04c78348 // add rdi, 4
JNE LBB3_541
LBB3_542:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB3_545
QUAD $0x0000001085048d48 // lea rax, [4*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB3_544:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB3_544
LBB3_545:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_546
LBB3_550:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB3_551:
LONG $0xc204100f // movups xmm0, oword [rdx + 8*rax]
LONG $0xc24c100f; BYTE $0x10 // movups xmm1, oword [rdx + 8*rax + 16]
LONG $0xc104110f // movups oword [rcx + 8*rax], xmm0
LONG $0xc14c110f; BYTE $0x10 // movups oword [rcx + 8*rax + 16], xmm1
LONG $0xc244100f; BYTE $0x20 // movups xmm0, oword [rdx + 8*rax + 32]
LONG $0xc24c100f; BYTE $0x30 // movups xmm1, oword [rdx + 8*rax + 48]
LONG $0xc144110f; BYTE $0x20 // movups oword [rcx + 8*rax + 32], xmm0
LONG $0xc14c110f; BYTE $0x30 // movups oword [rcx + 8*rax + 48], xmm1
LONG $0xc244100f; BYTE $0x40 // movups xmm0, oword [rdx + 8*rax + 64]
LONG $0xc24c100f; BYTE $0x50 // movups xmm1, oword [rdx + 8*rax + 80]
LONG $0xc144110f; BYTE $0x40 // movups oword [rcx + 8*rax + 64], xmm0
LONG $0xc14c110f; BYTE $0x50 // movups oword [rcx + 8*rax + 80], xmm1
LONG $0x44100f66; WORD $0x60c2 // movupd xmm0, oword [rdx + 8*rax + 96]
LONG $0x4c100f66; WORD $0x70c2 // movupd xmm1, oword [rdx + 8*rax + 112]
LONG $0x44110f66; WORD $0x60c1 // movupd oword [rcx + 8*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x70c1 // movupd oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB3_551
LBB3_552:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB3_555
QUAD $0x00000010c5048d48 // lea rax, [8*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB3_554:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB3_554
LBB3_555:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_556
LBB3_560:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB3_561:
LONG $0xc204100f // movups xmm0, oword [rdx + 8*rax]
LONG $0xc24c100f; BYTE $0x10 // movups xmm1, oword [rdx + 8*rax + 16]
LONG $0xc104110f // movups oword [rcx + 8*rax], xmm0
LONG $0xc14c110f; BYTE $0x10 // movups oword [rcx + 8*rax + 16], xmm1
LONG $0xc244100f; BYTE $0x20 // movups xmm0, oword [rdx + 8*rax + 32]
LONG $0xc24c100f; BYTE $0x30 // movups xmm1, oword [rdx + 8*rax + 48]
LONG $0xc144110f; BYTE $0x20 // movups oword [rcx + 8*rax + 32], xmm0
LONG $0xc14c110f; BYTE $0x30 // movups oword [rcx + 8*rax + 48], xmm1
LONG $0xc244100f; BYTE $0x40 // movups xmm0, oword [rdx + 8*rax + 64]
LONG $0xc24c100f; BYTE $0x50 // movups xmm1, oword [rdx + 8*rax + 80]
LONG $0xc144110f; BYTE $0x40 // movups oword [rcx + 8*rax + 64], xmm0
LONG $0xc14c110f; BYTE $0x50 // movups oword [rcx + 8*rax + 80], xmm1
LONG $0x44100f66; WORD $0x60c2 // movupd xmm0, oword [rdx + 8*rax + 96]
LONG $0x4c100f66; WORD $0x70c2 // movupd xmm1, oword [rdx + 8*rax + 112]
LONG $0x44110f66; WORD $0x60c1 // movupd oword [rcx + 8*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x70c1 // movupd oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB3_561
LBB3_562:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB3_565
QUAD $0x00000010c5048d48 // lea rax, [8*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB3_564:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB3_564
LBB3_565:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_566
LBB3_570:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB3_571:
LONG $0x4204100f // movups xmm0, oword [rdx + 2*rax]
LONG $0x424c100f; BYTE $0x10 // movups xmm1, oword [rdx + 2*rax + 16]
LONG $0x4104110f // movups oword [rcx + 2*rax], xmm0
LONG $0x414c110f; BYTE $0x10 // movups oword [rcx + 2*rax + 16], xmm1
LONG $0x4244100f; BYTE $0x20 // movups xmm0, oword [rdx + 2*rax + 32]
LONG $0x424c100f; BYTE $0x30 // movups xmm1, oword [rdx + 2*rax + 48]
LONG $0x4144110f; BYTE $0x20 // movups oword [rcx + 2*rax + 32], xmm0
LONG $0x414c110f; BYTE $0x30 // movups oword [rcx + 2*rax + 48], xmm1
LONG $0x4244100f; BYTE $0x40 // movups xmm0, oword [rdx + 2*rax + 64]
LONG $0x424c100f; BYTE $0x50 // movups xmm1, oword [rdx + 2*rax + 80]
LONG $0x4144110f; BYTE $0x40 // movups oword [rcx + 2*rax + 64], xmm0
LONG $0x414c110f; BYTE $0x50 // movups oword [rcx + 2*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6042 // movupd xmm0, oword [rdx + 2*rax + 96]
LONG $0x4c100f66; WORD $0x7042 // movupd xmm1, oword [rdx + 2*rax + 112]
LONG $0x44110f66; WORD $0x6041 // movupd oword [rcx + 2*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7041 // movupd oword [rcx + 2*rax + 112], xmm1
LONG $0x40c08348 // add rax, 64
LONG $0x04c78348 // add rdi, 4
JNE LBB3_571
LBB3_572:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB3_575
WORD $0x0148; BYTE $0xc0 // add rax, rax
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB3_574:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB3_574
LBB3_575:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_576
LBB3_580:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB3_581:
LONG $0x4204100f // movups xmm0, oword [rdx + 2*rax]
LONG $0x424c100f; BYTE $0x10 // movups xmm1, oword [rdx + 2*rax + 16]
LONG $0x4104110f // movups oword [rcx + 2*rax], xmm0
LONG $0x414c110f; BYTE $0x10 // movups oword [rcx + 2*rax + 16], xmm1
LONG $0x4244100f; BYTE $0x20 // movups xmm0, oword [rdx + 2*rax + 32]
LONG $0x424c100f; BYTE $0x30 // movups xmm1, oword [rdx + 2*rax + 48]
LONG $0x4144110f; BYTE $0x20 // movups oword [rcx + 2*rax + 32], xmm0
LONG $0x414c110f; BYTE $0x30 // movups oword [rcx + 2*rax + 48], xmm1
LONG $0x4244100f; BYTE $0x40 // movups xmm0, oword [rdx + 2*rax + 64]
LONG $0x424c100f; BYTE $0x50 // movups xmm1, oword [rdx + 2*rax + 80]
LONG $0x4144110f; BYTE $0x40 // movups oword [rcx + 2*rax + 64], xmm0
LONG $0x414c110f; BYTE $0x50 // movups oword [rcx + 2*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6042 // movupd xmm0, oword [rdx + 2*rax + 96]
LONG $0x4c100f66; WORD $0x7042 // movupd xmm1, oword [rdx + 2*rax + 112]
LONG $0x44110f66; WORD $0x6041 // movupd oword [rcx + 2*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7041 // movupd oword [rcx + 2*rax + 112], xmm1
LONG $0x40c08348 // add rax, 64
LONG $0x04c78348 // add rdi, 4
JNE LBB3_581
LBB3_582:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB3_585
WORD $0x0148; BYTE $0xc0 // add rax, rax
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB3_584:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB3_584
LBB3_585:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_586
LBB3_590:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB3_591:
LONG $0x0204100f // movups xmm0, oword [rdx + rax]
LONG $0x024c100f; BYTE $0x10 // movups xmm1, oword [rdx + rax + 16]
LONG $0x0104110f // movups oword [rcx + rax], xmm0
LONG $0x014c110f; BYTE $0x10 // movups oword [rcx + rax + 16], xmm1
LONG $0x0244100f; BYTE $0x20 // movups xmm0, oword [rdx + rax + 32]
LONG $0x024c100f; BYTE $0x30 // movups xmm1, oword [rdx + rax + 48]
LONG $0x0144110f; BYTE $0x20 // movups oword [rcx + rax + 32], xmm0
LONG $0x014c110f; BYTE $0x30 // movups oword [rcx + rax + 48], xmm1
LONG $0x0244100f; BYTE $0x40 // movups xmm0, oword [rdx + rax + 64]
LONG $0x024c100f; BYTE $0x50 // movups xmm1, oword [rdx + rax + 80]
LONG $0x0144110f; BYTE $0x40 // movups oword [rcx + rax + 64], xmm0
LONG $0x014c110f; BYTE $0x50 // movups oword [rcx + rax + 80], xmm1
LONG $0x44100f66; WORD $0x6002 // movupd xmm0, oword [rdx + rax + 96]
LONG $0x4c100f66; WORD $0x7002 // movupd xmm1, oword [rdx + rax + 112]
LONG $0x44110f66; WORD $0x6001 // movupd oword [rcx + rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7001 // movupd oword [rcx + rax + 112], xmm1
LONG $0x80e88348 // sub rax, -128
LONG $0x04c78348 // add rdi, 4
JNE LBB3_591
LBB3_592:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB3_595
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB3_594:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB3_594
LBB3_595:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_596
LBB3_600:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB3_601:
LONG $0x0204100f // movups xmm0, oword [rdx + rax]
LONG $0x024c100f; BYTE $0x10 // movups xmm1, oword [rdx + rax + 16]
LONG $0x0104110f // movups oword [rcx + rax], xmm0
LONG $0x014c110f; BYTE $0x10 // movups oword [rcx + rax + 16], xmm1
LONG $0x0244100f; BYTE $0x20 // movups xmm0, oword [rdx + rax + 32]
LONG $0x024c100f; BYTE $0x30 // movups xmm1, oword [rdx + rax + 48]
LONG $0x0144110f; BYTE $0x20 // movups oword [rcx + rax + 32], xmm0
LONG $0x014c110f; BYTE $0x30 // movups oword [rcx + rax + 48], xmm1
LONG $0x0244100f; BYTE $0x40 // movups xmm0, oword [rdx + rax + 64]
LONG $0x024c100f; BYTE $0x50 // movups xmm1, oword [rdx + rax + 80]
LONG $0x0144110f; BYTE $0x40 // movups oword [rcx + rax + 64], xmm0
LONG $0x014c110f; BYTE $0x50 // movups oword [rcx + rax + 80], xmm1
LONG $0x44100f66; WORD $0x6002 // movupd xmm0, oword [rdx + rax + 96]
LONG $0x4c100f66; WORD $0x7002 // movupd xmm1, oword [rdx + rax + 112]
LONG $0x44110f66; WORD $0x6001 // movupd oword [rcx + rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7001 // movupd oword [rcx + rax + 112], xmm1
LONG $0x80e88348 // sub rax, -128
LONG $0x04c78348 // add rdi, 4
JNE LBB3_601
LBB3_602:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB3_605
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB3_604:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB3_604
LBB3_605:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_606
LBB3_610:
WORD $0xff31 // xor edi, edi
LBB3_611:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_613
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8fa0f66 // psubd xmm3, xmm0
LONG $0xd1fa0f66 // psubd xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm3
LONG $0x547f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm2
LBB3_613:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_614
LBB3_618:
WORD $0xff31 // xor edi, edi
LBB3_619:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_621
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2760f66 // pcmpeqd xmm0, xmm2
LONG $0x5d6f0f66; BYTE $0x20 // movdqa xmm3, oword 32[rbp] /* [rip + .LCPI3_3] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0xca760f66 // pcmpeqd xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LBB3_621:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_622
LBB3_626:
WORD $0xff31 // xor edi, edi
LBB3_627:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_629
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x55280f66; BYTE $0x00 // movapd xmm2, oword 0[rbp] /* [rip + .LCPI3_0] */
LONG $0xc2570f66 // xorpd xmm0, xmm2
LONG $0xca570f66 // xorpd xmm1, xmm2
LONG $0x04110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm0
LONG $0x4c110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm1
LBB3_629:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_630
LBB3_636:
WORD $0xff31 // xor edi, edi
LBB3_637:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_639
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x55280f66; BYTE $0x00 // movapd xmm2, oword 0[rbp] /* [rip + .LCPI3_0] */
LONG $0xc2570f66 // xorpd xmm0, xmm2
LONG $0xca570f66 // xorpd xmm1, xmm2
LONG $0x04110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm0
LONG $0x4c110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm1
LBB3_639:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_640
LBB3_646:
WORD $0xff31 // xor edi, edi
LBB3_647:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_649
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0x5d280f66; BYTE $0x00 // movapd xmm3, oword 0[rbp] /* [rip + .LCPI3_0] */
LONG $0xe0280f66 // movapd xmm4, xmm0
LONG $0xe3540f66 // andpd xmm4, xmm3
LONG $0x6d280f66; BYTE $0x10 // movapd xmm5, oword 16[rbp] /* [rip + .LCPI3_1] */
LONG $0xe5560f66 // orpd xmm4, xmm5
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xdd560f66 // orpd xmm3, xmm5
LONG $0xc2c20f66; BYTE $0x04 // cmpneqpd xmm0, xmm2
LONG $0xc4540f66 // andpd xmm0, xmm4
LONG $0xcac20f66; BYTE $0x04 // cmpneqpd xmm1, xmm2
LONG $0xcb540f66 // andpd xmm1, xmm3
LONG $0x04110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm0
LONG $0x4c110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm1
LBB3_649:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_650
LBB3_655:
WORD $0xff31 // xor edi, edi
LBB3_656:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_658
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x55280f66; BYTE $0x70 // movapd xmm2, oword 112[rbp] /* [rip + .LCPI3_8] */
LONG $0xc2540f66 // andpd xmm0, xmm2
LONG $0xca540f66 // andpd xmm1, xmm2
LONG $0x04110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm0
LONG $0x4c110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm1
LBB3_658:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_659
LBB3_663:
WORD $0xff31 // xor edi, edi
LBB3_664:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_666
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x55280f66; BYTE $0x70 // movapd xmm2, oword 112[rbp] /* [rip + .LCPI3_8] */
LONG $0xc2540f66 // andpd xmm0, xmm2
LONG $0xca540f66 // andpd xmm1, xmm2
LONG $0x04110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm0
LONG $0x4c110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm1
LBB3_666:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_667
LBB3_671:
WORD $0xff31 // xor edi, edi
LBB3_672:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_674
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8f80f66 // psubb xmm3, xmm0
LONG $0xd1f80f66 // psubb xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm3
LONG $0x547f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm2
LBB3_674:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_675
LBB3_679:
WORD $0xff31 // xor edi, edi
LBB3_680:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_682
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8f80f66 // psubb xmm3, xmm0
LONG $0xd1f80f66 // psubb xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm3
LONG $0x547f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm2
LBB3_682:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_683
LBB3_687:
WORD $0xff31 // xor edi, edi
LBB3_688:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_690
LONG $0x0c6f0ff3; BYTE $0x3a // movdqu xmm1, oword [rdx + rdi]
LONG $0x546f0ff3; WORD $0x103a // movdqu xmm2, oword [rdx + rdi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI3_6] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc1640f66 // pcmpgtb xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0xeb740f66 // pcmpeqb xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0xda740f66 // pcmpeqb xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x10380f66; BYTE $0xd5 // pblendvb xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xe3 // pblendvb xmm4, xmm3, xmm0
LONG $0x147f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm2
LONG $0x647f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm4
LBB3_690:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_691
LBB3_696:
WORD $0xff31 // xor edi, edi
LBB3_697:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_699
LONG $0x21380f66; WORD $0x3a5c; BYTE $0x0c // pmovsxbd xmm3, dword [rdx + rdi + 12]
LONG $0x21380f66; WORD $0x3a44; BYTE $0x08 // pmovsxbd xmm0, dword [rdx + rdi + 8]
LONG $0x21380f66; WORD $0x3a54; BYTE $0x04 // pmovsxbd xmm2, dword [rdx + rdi + 4]
LONG $0x21380f66; WORD $0x3a0c // pmovsxbd xmm1, dword [rdx + rdi]
LONG $0xe16f0f66 // movdqa xmm4, xmm1
LONG $0xe4720f66; BYTE $0x07 // psrad xmm4, 7
LONG $0xea6f0f66 // movdqa xmm5, xmm2
LONG $0xe5720f66; BYTE $0x07 // psrad xmm5, 7
LONG $0xf06f0f66 // movdqa xmm6, xmm0
LONG $0xe6720f66; BYTE $0x07 // psrad xmm6, 7
LONG $0xfb6f0f66 // movdqa xmm7, xmm3
LONG $0xe7720f66; BYTE $0x07 // psrad xmm7, 7
LONG $0xdffe0f66 // paddd xmm3, xmm7
LONG $0xc6fe0f66 // paddd xmm0, xmm6
LONG $0xd5fe0f66 // paddd xmm2, xmm5
LONG $0xccfe0f66 // paddd xmm1, xmm4
LONG $0xccef0f66 // pxor xmm1, xmm4
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xc6ef0f66 // pxor xmm0, xmm6
LONG $0xdfef0f66 // pxor xmm3, xmm7
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI3_10] */
LONG $0xdcdb0f66 // pand xmm3, xmm4
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0x2b380f66; BYTE $0xc3 // packusdw xmm0, xmm3
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x2b380f66; BYTE $0xca // packusdw xmm1, xmm2
LONG $0xc8670f66 // packuswb xmm1, xmm0
LONG $0x0c7f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm1
LBB3_699:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_700
LBB3_704:
WORD $0xff31 // xor edi, edi
LBB3_705:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_707
LONG $0x21380f66; WORD $0x3a5c; BYTE $0x0c // pmovsxbd xmm3, dword [rdx + rdi + 12]
LONG $0x21380f66; WORD $0x3a44; BYTE $0x08 // pmovsxbd xmm0, dword [rdx + rdi + 8]
LONG $0x21380f66; WORD $0x3a54; BYTE $0x04 // pmovsxbd xmm2, dword [rdx + rdi + 4]
LONG $0x21380f66; WORD $0x3a0c // pmovsxbd xmm1, dword [rdx + rdi]
LONG $0xe16f0f66 // movdqa xmm4, xmm1
LONG $0xe4720f66; BYTE $0x07 // psrad xmm4, 7
LONG $0xea6f0f66 // movdqa xmm5, xmm2
LONG $0xe5720f66; BYTE $0x07 // psrad xmm5, 7
LONG $0xf06f0f66 // movdqa xmm6, xmm0
LONG $0xe6720f66; BYTE $0x07 // psrad xmm6, 7
LONG $0xfb6f0f66 // movdqa xmm7, xmm3
LONG $0xe7720f66; BYTE $0x07 // psrad xmm7, 7
LONG $0xdffe0f66 // paddd xmm3, xmm7
LONG $0xc6fe0f66 // paddd xmm0, xmm6
LONG $0xd5fe0f66 // paddd xmm2, xmm5
LONG $0xccfe0f66 // paddd xmm1, xmm4
LONG $0xccef0f66 // pxor xmm1, xmm4
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xc6ef0f66 // pxor xmm0, xmm6
LONG $0xdfef0f66 // pxor xmm3, xmm7
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI3_10] */
LONG $0xdcdb0f66 // pand xmm3, xmm4
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0x2b380f66; BYTE $0xc3 // packusdw xmm0, xmm3
LONG $0xd4db0f66 // pand xmm2, xmm4
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x2b380f66; BYTE $0xca // packusdw xmm1, xmm2
LONG $0xc8670f66 // packuswb xmm1, xmm0
LONG $0x0c7f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm1
LBB3_707:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_708
LBB3_712:
WORD $0xff31 // xor edi, edi
LBB3_713:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_715
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8fb0f66 // psubq xmm3, xmm0
LONG $0xd1fb0f66 // psubq xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0xf9 // movdqu oword [rcx + 8*rdi], xmm3
LONG $0x547f0ff3; WORD $0x10f9 // movdqu oword [rcx + 8*rdi + 16], xmm2
LBB3_715:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_716
LBB3_720:
WORD $0xff31 // xor edi, edi
LBB3_721:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_723
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0x29380f66; BYTE $0xc2 // pcmpeqq xmm0, xmm2
LONG $0x5d6f0f66; BYTE $0x30 // movdqa xmm3, oword 48[rbp] /* [rip + .LCPI3_4] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0x29380f66; BYTE $0xca // pcmpeqq xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x047f0ff3; BYTE $0xf9 // movdqu oword [rcx + 8*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10f9 // movdqu oword [rcx + 8*rdi + 16], xmm1
LBB3_723:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_724
LBB3_728:
WORD $0xff31 // xor edi, edi
LBB3_729:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_731
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8f90f66 // psubw xmm3, xmm0
LONG $0xd1f90f66 // psubw xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm3
LONG $0x547f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm2
LBB3_731:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_732
LBB3_736:
WORD $0xff31 // xor edi, edi
LBB3_737:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_739
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8f90f66 // psubw xmm3, xmm0
LONG $0xd1f90f66 // psubw xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm3
LONG $0x547f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm2
LBB3_739:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_740
LBB3_744:
WORD $0xff31 // xor edi, edi
LBB3_745:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_747
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8f90f66 // psubw xmm3, xmm0
LONG $0xd1f90f66 // psubw xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm3
LONG $0x547f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm2
LBB3_747:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_748
LBB3_752:
WORD $0xff31 // xor edi, edi
LBB3_753:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_755
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2750f66 // pcmpeqw xmm0, xmm2
LONG $0x5d6f0f66; BYTE $0x40 // movdqa xmm3, oword 64[rbp] /* [rip + .LCPI3_5] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0xca750f66 // pcmpeqw xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LBB3_755:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_756
LBB3_760:
WORD $0xff31 // xor edi, edi
LBB3_761:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_763
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0x656f0f66; BYTE $0x40 // movdqa xmm4, oword 64[rbp] /* [rip + .LCPI3_5] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc1650f66 // pcmpgtw xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0xeb750f66 // pcmpeqw xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0xda750f66 // pcmpeqw xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x10380f66; BYTE $0xd5 // pblendvb xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xe3 // pblendvb xmm4, xmm3, xmm0
LONG $0x147f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm2
LONG $0x647f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm4
LBB3_763:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_764
LBB3_769:
WORD $0xff31 // xor edi, edi
LBB3_770:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_772
LONG $0x23380f66; WORD $0x7a44; BYTE $0x08 // pmovsxwd xmm0, qword [rdx + 2*rdi + 8]
LONG $0x23380f66; WORD $0x7a0c // pmovsxwd xmm1, qword [rdx + 2*rdi]
LONG $0xd16f0f66 // movdqa xmm2, xmm1
LONG $0xe2720f66; BYTE $0x0f // psrad xmm2, 15
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xe3720f66; BYTE $0x0f // psrad xmm3, 15
LONG $0xc3fe0f66 // paddd xmm0, xmm3
LONG $0xcafe0f66 // paddd xmm1, xmm2
LONG $0xcaef0f66 // pxor xmm1, xmm2
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0x0e3a0f66; WORD $0xaac2 // pblendw xmm0, xmm2, 170
LONG $0x0e3a0f66; WORD $0xaaca // pblendw xmm1, xmm2, 170
LONG $0x2b380f66; BYTE $0xc8 // packusdw xmm1, xmm0
LONG $0x0c7f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm1
LBB3_772:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_773
LBB3_777:
WORD $0xff31 // xor edi, edi
LBB3_778:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_780
LONG $0x23380f66; WORD $0x7a44; BYTE $0x08 // pmovsxwd xmm0, qword [rdx + 2*rdi + 8]
LONG $0x23380f66; WORD $0x7a0c // pmovsxwd xmm1, qword [rdx + 2*rdi]
LONG $0xd16f0f66 // movdqa xmm2, xmm1
LONG $0xe2720f66; BYTE $0x0f // psrad xmm2, 15
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xe3720f66; BYTE $0x0f // psrad xmm3, 15
LONG $0xc3fe0f66 // paddd xmm0, xmm3
LONG $0xcafe0f66 // paddd xmm1, xmm2
LONG $0xcaef0f66 // pxor xmm1, xmm2
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0x0e3a0f66; WORD $0xaac2 // pblendw xmm0, xmm2, 170
LONG $0x0e3a0f66; WORD $0xaaca // pblendw xmm1, xmm2, 170
LONG $0x2b380f66; BYTE $0xc8 // packusdw xmm1, xmm0
LONG $0x0c7f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm1
LBB3_780:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_781
LBB3_785:
WORD $0xff31 // xor edi, edi
LBB3_786:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_788
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8fb0f66 // psubq xmm3, xmm0
LONG $0xd1fb0f66 // psubq xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0xf9 // movdqu oword [rcx + 8*rdi], xmm3
LONG $0x547f0ff3; WORD $0x10f9 // movdqu oword [rcx + 8*rdi + 16], xmm2
LBB3_788:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_789
LBB3_793:
WORD $0xff31 // xor edi, edi
LBB3_794:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_796
LONG $0x04100f66; BYTE $0xba // movupd xmm0, oword [rdx + 4*rdi]
LONG $0x4c100f66; WORD $0x10ba // movupd xmm1, oword [rdx + 4*rdi + 16]
LONG $0x55280f66; BYTE $0x60 // movapd xmm2, oword 96[rbp] /* [rip + .LCPI3_7] */
LONG $0xc2570f66 // xorpd xmm0, xmm2
LONG $0xca570f66 // xorpd xmm1, xmm2
LONG $0x04110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm0
LONG $0x4c110f66; WORD $0x10b9 // movupd oword [rcx + 4*rdi + 16], xmm1
LBB3_796:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_797
LBB3_803:
WORD $0xff31 // xor edi, edi
LBB3_804:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_806
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8fb0f66 // psubq xmm3, xmm0
LONG $0xd1fb0f66 // psubq xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0xf9 // movdqu oword [rcx + 8*rdi], xmm3
LONG $0x547f0ff3; WORD $0x10f9 // movdqu oword [rcx + 8*rdi + 16], xmm2
LBB3_806:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_807
LBB3_811:
WORD $0xff31 // xor edi, edi
LBB3_812:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_814
LONG $0x04100f66; BYTE $0xba // movupd xmm0, oword [rdx + 4*rdi]
LONG $0x4c100f66; WORD $0x10ba // movupd xmm1, oword [rdx + 4*rdi + 16]
LONG $0x55280f66; BYTE $0x60 // movapd xmm2, oword 96[rbp] /* [rip + .LCPI3_7] */
LONG $0xc2570f66 // xorpd xmm0, xmm2
LONG $0xca570f66 // xorpd xmm1, xmm2
LONG $0x04110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm0
LONG $0x4c110f66; WORD $0x10b9 // movupd oword [rcx + 4*rdi + 16], xmm1
LBB3_814:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_815
LBB3_821:
WORD $0xff31 // xor edi, edi
LBB3_822:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_824
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0x656f0f66; BYTE $0x30 // movdqa xmm4, oword 48[rbp] /* [rip + .LCPI3_4] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0x37380f66; BYTE $0xc1 // pcmpgtq xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0x29380f66; BYTE $0xeb // pcmpeqq xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0x29380f66; BYTE $0xda // pcmpeqq xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x15380f66; BYTE $0xd5 // blendvpd xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xe3 // blendvpd xmm4, xmm3, xmm0
LONG $0x14110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm2
LONG $0x64110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm4
LBB3_824:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_825
LBB3_830:
WORD $0xff31 // xor edi, edi
LBB3_831:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_833
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xe1fb0f66 // psubq xmm4, xmm1
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xcc // blendvpd xmm1, xmm4, xmm0
LONG $0xdafb0f66 // psubq xmm3, xmm2
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x15380f66; BYTE $0xd3 // blendvpd xmm2, xmm3, xmm0
LONG $0x0c110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm1
LONG $0x54110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm2
LBB3_833:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_834
LBB3_838:
WORD $0xff31 // xor edi, edi
LBB3_839:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_841
LONG $0x04100f66; BYTE $0xba // movupd xmm0, oword [rdx + 4*rdi]
LONG $0x4c100f66; WORD $0x10ba // movupd xmm1, oword [rdx + 4*rdi + 16]
QUAD $0x0000008095280f66 // movapd xmm2, oword 128[rbp] /* [rip + .LCPI3_9] */
LONG $0xc2540f66 // andpd xmm0, xmm2
LONG $0xca540f66 // andpd xmm1, xmm2
LONG $0x04110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm0
LONG $0x4c110f66; WORD $0x10b9 // movupd oword [rcx + 4*rdi + 16], xmm1
LBB3_841:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_842
LBB3_848:
WORD $0xff31 // xor edi, edi
LBB3_849:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_851
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xe1fb0f66 // psubq xmm4, xmm1
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xcc // blendvpd xmm1, xmm4, xmm0
LONG $0xdafb0f66 // psubq xmm3, xmm2
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x15380f66; BYTE $0xd3 // blendvpd xmm2, xmm3, xmm0
LONG $0x0c110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm1
LONG $0x54110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm2
LBB3_851:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_852
LBB3_856:
WORD $0xff31 // xor edi, edi
LBB3_857:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_859
LONG $0x04100f66; BYTE $0xba // movupd xmm0, oword [rdx + 4*rdi]
LONG $0x4c100f66; WORD $0x10ba // movupd xmm1, oword [rdx + 4*rdi + 16]
QUAD $0x0000008095280f66 // movapd xmm2, oword 128[rbp] /* [rip + .LCPI3_9] */
LONG $0xc2540f66 // andpd xmm0, xmm2
LONG $0xca540f66 // andpd xmm1, xmm2
LONG $0x04110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm0
LONG $0x4c110f66; WORD $0x10b9 // movupd oword [rcx + 4*rdi + 16], xmm1
LBB3_859:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_860
LBB3_866:
WORD $0xff31 // xor edi, edi
LBB3_867:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_869
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8f80f66 // psubb xmm3, xmm0
LONG $0xd1f80f66 // psubb xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm3
LONG $0x547f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm2
LBB3_869:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_870
LBB3_874:
WORD $0xff31 // xor edi, edi
LBB3_875:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_877
LONG $0x046f0ff3; BYTE $0x3a // movdqu xmm0, oword [rdx + rdi]
LONG $0x4c6f0ff3; WORD $0x103a // movdqu xmm1, oword [rdx + rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2740f66 // pcmpeqb xmm0, xmm2
LONG $0x5d6f0f66; BYTE $0x50 // movdqa xmm3, oword 80[rbp] /* [rip + .LCPI3_6] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0xca740f66 // pcmpeqb xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x047f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm1
LBB3_877:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_878
LBB3_882:
WORD $0xff31 // xor edi, edi
LBB3_883:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_885
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8fa0f66 // psubd xmm3, xmm0
LONG $0xd1fa0f66 // psubd xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm3
LONG $0x547f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm2
LBB3_885:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_886
LBB3_890:
WORD $0xff31 // xor edi, edi
LBB3_891:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_893
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0xd8fa0f66 // psubd xmm3, xmm0
LONG $0xd1fa0f66 // psubd xmm2, xmm1
LONG $0x1c7f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm3
LONG $0x547f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm2
LBB3_893:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_894
LBB3_898:
WORD $0xff31 // xor edi, edi
LBB3_899:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_901
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0x656f0f66; BYTE $0x20 // movdqa xmm4, oword 32[rbp] /* [rip + .LCPI3_3] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc1660f66 // pcmpgtd xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0xeb760f66 // pcmpeqd xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0xda760f66 // pcmpeqd xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x14380f66; BYTE $0xd5 // blendvps xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xe3 // blendvps xmm4, xmm3, xmm0
LONG $0xb914110f // movups oword [rcx + 4*rdi], xmm2
LONG $0xb964110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm4
LBB3_901:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_902
LBB3_907:
WORD $0xff31 // xor edi, edi
LBB3_908:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_910
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x1e380f66; BYTE $0xc0 // pabsd xmm0, xmm0
LONG $0x1e380f66; BYTE $0xc9 // pabsd xmm1, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LBB3_910:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_911
LBB3_915:
WORD $0xff31 // xor edi, edi
LBB3_916:
LONG $0x01c0f641 // test r8b, 1
JE LBB3_918
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
LONG $0x1e380f66; BYTE $0xc0 // pabsd xmm0, xmm0
LONG $0x1e380f66; BYTE $0xc9 // pabsd xmm1, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LBB3_918:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB3_923
JMP LBB3_919
DATA LCDATA5<>+0x000(SB)/8, $0x8000000000000000
DATA LCDATA5<>+0x008(SB)/8, $0x8000000000000000
DATA LCDATA5<>+0x010(SB)/8, $0x3ff0000000000000
DATA LCDATA5<>+0x018(SB)/8, $0x3ff0000000000000
DATA LCDATA5<>+0x020(SB)/8, $0x7fffffff7fffffff
DATA LCDATA5<>+0x028(SB)/8, $0x7fffffff7fffffff
DATA LCDATA5<>+0x030(SB)/8, $0x8000000080000000
DATA LCDATA5<>+0x038(SB)/8, $0x8000000080000000
DATA LCDATA5<>+0x040(SB)/8, $0x0000000000000400
DATA LCDATA5<>+0x048(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x050(SB)/8, $0x0000000100000001
DATA LCDATA5<>+0x058(SB)/8, $0x0000000100000001
DATA LCDATA5<>+0x060(SB)/8, $0x4f0000004f000000
DATA LCDATA5<>+0x068(SB)/8, $0x4f0000004f000000
DATA LCDATA5<>+0x070(SB)/8, $0x0001000100010001
DATA LCDATA5<>+0x078(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x080(SB)/8, $0x0000000001010101
DATA LCDATA5<>+0x088(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x090(SB)/8, $0x0000000000000001
DATA LCDATA5<>+0x098(SB)/8, $0x0000000000000001
DATA LCDATA5<>+0x0a0(SB)/8, $0x0000000100000001
DATA LCDATA5<>+0x0a8(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x0b0(SB)/8, $0x0000000000010001
DATA LCDATA5<>+0x0b8(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x0c0(SB)/8, $0x0000000000000101
DATA LCDATA5<>+0x0c8(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x0d0(SB)/8, $0x3f8000003f800000
DATA LCDATA5<>+0x0d8(SB)/8, $0x3f8000003f800000
DATA LCDATA5<>+0x0e0(SB)/8, $0x0001000100010001
DATA LCDATA5<>+0x0e8(SB)/8, $0x0001000100010001
DATA LCDATA5<>+0x0f0(SB)/8, $0x0101010101010101
DATA LCDATA5<>+0x0f8(SB)/8, $0x0000000000000000
DATA LCDATA5<>+0x100(SB)/8, $0x0101010101010101
DATA LCDATA5<>+0x108(SB)/8, $0x0101010101010101
DATA LCDATA5<>+0x110(SB)/8, $0x3ff0000000000000
DATA LCDATA5<>+0x118(SB)/8, $0x43e0000000000000
DATA LCDATA5<>+0x120(SB)/8, $0xbff0000000000000
DATA LCDATA5<>+0x128(SB)/8, $0x5f0000003f800000
DATA LCDATA5<>+0x130(SB)/8, $0x00000000bf800000
GLOBL LCDATA5<>(SB), 8, $312
TEXT ยท_arithmetic_unary_diff_type_sse4(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_1655
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_1655
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_94
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_200
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_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_13
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_496
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_496
LBB4_13:
WORD $0xd231 // xor edx, edx
LBB4_1232:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1234
LBB4_1233:
WORD $0xc031 // xor eax, eax
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1233
LBB4_1234:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1235:
WORD $0xc031 // xor eax, eax
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
WORD $0xc031 // xor eax, eax
LONG $0x04917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 4], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], eax
WORD $0xc031 // xor eax, eax
LONG $0x08917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 8], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x08 // mov dword [r8 + 4*rdx + 8], eax
WORD $0xc031 // xor eax, eax
LONG $0x0c917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 12], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x0c // mov dword [r8 + 4*rdx + 12], eax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1235
JMP LBB4_1655
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_1655
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_106
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_205
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_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_499
WORD $0xf631 // xor esi, esi
JMP LBB4_1110
LBB4_26:
WORD $0xff83; BYTE $0x02 // cmp edi, 2
JE LBB4_78
WORD $0xff83; BYTE $0x03 // cmp edi, 3
JNE LBB4_1655
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_113
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_210
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_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_35
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_504
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_504
LBB4_35:
WORD $0xd231 // xor edx, edx
LBB4_1240:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1242
LONG $0x110c8a44 // mov r9b, byte [rcx + rdx]
WORD $0xff31 // xor edi, edi
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0x000001b8; BYTE $0x00 // mov eax, 1
WORD $0x4e0f; BYTE $0xc7 // cmovle eax, edi
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x01ca8348 // or rdx, 1
LBB4_1242:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1244:
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 $0xd2 // cmp r10, rdx
JNE LBB4_1244
JMP LBB4_1655
LBB4_36:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB4_86
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB4_1655
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_123
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_215
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_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_507
WORD $0xd231 // xor edx, edx
JMP LBB4_998
LBB4_46:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_135
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_220
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_327
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_330
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_510
WORD $0xd231 // xor edx, edx
JMP LBB4_1116
LBB4_54:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_147
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_225
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_333
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_336
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_513
WORD $0xd231 // xor edx, edx
JMP LBB4_1121
LBB4_62:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_157
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_230
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_339
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_342
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_516
WORD $0xd231 // xor edx, edx
JMP LBB4_1127
LBB4_70:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_167
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_235
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_345
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_348
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_519
WORD $0xd231 // xor edx, edx
JMP LBB4_1133
LBB4_78:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_178
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_240
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_351
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_354
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_85
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_524
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_524
LBB4_85:
WORD $0xd231 // xor edx, edx
LBB4_1249:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1251
LBB4_1250:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1250
LBB4_1251:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1252:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
WORD $0xc031 // xor eax, eax
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], eax
WORD $0xc031 // xor eax, eax
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x08 // mov dword [r8 + 4*rdx + 8], eax
WORD $0xc031 // xor eax, eax
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x0c // mov dword [r8 + 4*rdx + 12], eax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1252
JMP LBB4_1655
LBB4_86:
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JG LBB4_190
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JLE LBB4_245
WORD $0xfe83; BYTE $0x04 // cmp esi, 4
JE LBB4_357
WORD $0xfe83; BYTE $0x05 // cmp esi, 5
JE LBB4_360
WORD $0xfe83; BYTE $0x06 // cmp esi, 6
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_93
LONG $0x99148d4a // lea rdx, [rcx + 4*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_529
LONG $0x98148d4b // lea rdx, [r8 + 4*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_529
LBB4_93:
WORD $0xd231 // xor edx, edx
LBB4_1257:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1259
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_1259:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1261:
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_1261
JMP LBB4_1655
LBB4_94:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_250
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_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0xff728d48 // lea rsi, [rdx - 1]
WORD $0xd089 // mov eax, edx
WORD $0xe083; BYTE $0x03 // and eax, 3
LONG $0x03fe8348 // cmp rsi, 3
JAE LBB4_532
WORD $0xf631 // xor esi, esi
LBB4_101:
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1655
LONG $0xf0148d49 // lea rdx, [r8 + 8*rsi]
LONG $0xb10c8d48 // lea rcx, [rcx + 4*rsi]
WORD $0xf631 // xor esi, esi
QUAD $0x0000011085100ff2 // movsd xmm0, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_104
LBB4_103:
LONG $0x0c110ff2; BYTE $0xf2 // movsd qword [rdx + 8*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JE LBB4_1655
LBB4_104:
LONG $0x00b13c83 // cmp dword [rcx + 4*rsi], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_103
LONG $0xc9570f66 // xorpd xmm1, xmm1
JMP LBB4_103
LBB4_106:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_255
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_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_112
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_544
LONG $0xc0148d49 // lea rdx, [r8 + 8*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_544
LBB4_112:
WORD $0xd231 // xor edx, edx
LBB4_1266:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x01a8 // test al, 1
JE LBB4_1268
LONG $0x04100ff2; BYTE $0xd1 // movsd xmm0, qword [rcx + 8*rdx]
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xc8540f66 // andpd xmm1, xmm0
QUAD $0x0000011095100ff2 // movsd xmm2, qword 272[rbp] /* [rip + .LCPI4_2] */
LONG $0xd1560f66 // orpd xmm2, xmm1
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0xc8c20ff2; BYTE $0x00 // cmpeqsd xmm1, xmm0
LONG $0xca550f66 // andnpd xmm1, xmm2
LONG $0x130f4166; WORD $0xd00c // movlpd qword [r8 + 8*rdx], xmm1
LONG $0x01ca8348 // or rdx, 1
LBB4_1268:
WORD $0x0148; BYTE $0xc6 // add rsi, rax
JE LBB4_1655
LONG $0x45280f66; BYTE $0x00 // movapd xmm0, oword 0[rbp] /* [rip + .LCPI4_0] */
QUAD $0x000001108d100ff2 // movsd xmm1, qword 272[rbp] /* [rip + .LCPI4_2] */
LONG $0xd2570f66 // xorpd xmm2, xmm2
LBB4_1270:
LONG $0x1c100ff2; BYTE $0xd1 // movsd xmm3, qword [rcx + 8*rdx]
LONG $0xe3280f66 // movapd xmm4, xmm3
LONG $0xe0540f66 // andpd xmm4, xmm0
LONG $0xe1560f66 // orpd xmm4, xmm1
LONG $0xdac20ff2; BYTE $0x00 // cmpeqsd xmm3, xmm2
LONG $0xdc550f66 // andnpd xmm3, xmm4
LONG $0x130f4166; WORD $0xd01c // movlpd qword [r8 + 8*rdx], xmm3
LONG $0x5c100ff2; WORD $0x08d1 // movsd xmm3, qword [rcx + 8*rdx + 8]
LONG $0xe3280f66 // movapd xmm4, xmm3
LONG $0xe0540f66 // andpd xmm4, xmm0
LONG $0xe1560f66 // orpd xmm4, xmm1
LONG $0xdac20ff2; BYTE $0x00 // cmpeqsd xmm3, xmm2
LONG $0xdc550f66 // andnpd xmm3, xmm4
LONG $0x130f4166; WORD $0xd05c; BYTE $0x08 // movlpd qword [r8 + 8*rdx + 8], xmm3
LONG $0x02c28348 // add rdx, 2
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_1270
JMP LBB4_1655
LBB4_113:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_260
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_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0x01f98341 // cmp r9d, 1
JNE LBB4_547
WORD $0xc031 // xor eax, eax
LBB4_120:
WORD $0xc2f6; BYTE $0x01 // test dl, 1
JE LBB4_1655
LONG $0x00013c80 // cmp byte [rcx + rax], 0
JNE LBB4_982
LBB4_122:
LONG $0xc0570f66 // xorpd xmm0, xmm0
JMP LBB4_983
LBB4_123:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_265
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_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0xff728d48 // lea rsi, [rdx - 1]
WORD $0xd089 // mov eax, edx
WORD $0xe083; BYTE $0x03 // and eax, 3
LONG $0x03fe8348 // cmp rsi, 3
JAE LBB4_557
WORD $0xf631 // xor esi, esi
LBB4_130:
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1655
LONG $0xf0148d49 // lea rdx, [r8 + 8*rsi]
LONG $0xf10c8d48 // lea rcx, [rcx + 8*rsi]
WORD $0xf631 // xor esi, esi
QUAD $0x0000011085100ff2 // movsd xmm0, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_133
LBB4_132:
LONG $0x0c110ff2; BYTE $0xf2 // movsd qword [rdx + 8*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JE LBB4_1655
LBB4_133:
LONG $0xf13c8348; BYTE $0x00 // cmp qword [rcx + 8*rsi], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_132
LONG $0xc9570f66 // xorpd xmm1, xmm1
JMP LBB4_132
LBB4_135:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_270
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_392
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_395
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0xff728d48 // lea rsi, [rdx - 1]
WORD $0xd089 // mov eax, edx
WORD $0xe083; BYTE $0x03 // and eax, 3
LONG $0x03fe8348 // cmp rsi, 3
JAE LBB4_567
WORD $0xf631 // xor esi, esi
LBB4_142:
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1655
LONG $0xf0148d49 // lea rdx, [r8 + 8*rsi]
LONG $0x710c8d48 // lea rcx, [rcx + 2*rsi]
WORD $0xf631 // xor esi, esi
QUAD $0x0000011085100ff2 // movsd xmm0, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_145
LBB4_144:
LONG $0x0c110ff2; BYTE $0xf2 // movsd qword [rdx + 8*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JE LBB4_1655
LBB4_145:
LONG $0x713c8366; BYTE $0x00 // cmp word [rcx + 2*rsi], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_144
LONG $0xc9570f66 // xorpd xmm1, xmm1
JMP LBB4_144
LBB4_147:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_275
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_398
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_401
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0x01f98341 // cmp r9d, 1
JNE LBB4_577
WORD $0xc031 // xor eax, eax
LBB4_154:
WORD $0xc2f6; BYTE $0x01 // test dl, 1
JE LBB4_1655
LONG $0x413c8366; BYTE $0x00 // cmp word [rcx + 2*rax], 0
JE LBB4_122
LBB4_982:
QUAD $0x0000012085100ff2 // movsd xmm0, qword 288[rbp] /* [rip + .LCPI4_13] */
LBB4_983:
JLE LBB4_985
QUAD $0x0000011085100ff2 // movsd xmm0, qword 272[rbp] /* [rip + .LCPI4_2] */
LBB4_985:
LONG $0x110f41f2; WORD $0xc004 // movsd qword [r8 + 8*rax], xmm0
JMP LBB4_1655
LBB4_157:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_280
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_404
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_407
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0x01f98341 // cmp r9d, 1
JNE LBB4_587
WORD $0xc031 // xor eax, eax
LBB4_164:
WORD $0xc2f6; BYTE $0x01 // test dl, 1
JE LBB4_1655
LONG $0xc13c8348; BYTE $0x00 // cmp qword [rcx + 8*rax], 0
JE LBB4_122
JMP LBB4_982
LBB4_167:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_285
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_413
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_419
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0x01f98341 // cmp r9d, 1
JNE LBB4_597
WORD $0xc031 // xor eax, eax
LBB4_174:
WORD $0xc2f6; BYTE $0x01 // test dl, 1
JE LBB4_1655
LONG $0x0c100ff3; BYTE $0x81 // movss xmm1, dword [rcx + 4*rax]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
WORD $0x2e0f; BYTE $0xd1 // ucomiss xmm2, xmm1
JE LBB4_177
WORD $0x500f; BYTE $0xc9 // movmskps ecx, xmm1
WORD $0xe183; BYTE $0x01 // and ecx, 1
WORD $0xd9f7 // neg ecx
WORD $0xc983; BYTE $0x01 // or ecx, 1
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc12a0ff3 // cvtsi2ss xmm0, ecx
LONG $0xc05a0ff3 // cvtss2sd xmm0, xmm0
LBB4_177:
LONG $0x110f41f2; WORD $0xc004 // movsd qword [r8 + 8*rax], xmm0
JMP LBB4_1655
LBB4_178:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_293
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_422
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_425
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0xff728d48 // lea rsi, [rdx - 1]
WORD $0xd089 // mov eax, edx
WORD $0xe083; BYTE $0x03 // and eax, 3
LONG $0x03fe8348 // cmp rsi, 3
JAE LBB4_603
WORD $0xf631 // xor esi, esi
LBB4_185:
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1655
LONG $0xf0148d49 // lea rdx, [r8 + 8*rsi]
WORD $0x0148; BYTE $0xf1 // add rcx, rsi
WORD $0xf631 // xor esi, esi
QUAD $0x0000011085100ff2 // movsd xmm0, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_188
LBB4_187:
LONG $0x0c110ff2; BYTE $0xf2 // movsd qword [rdx + 8*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JE LBB4_1655
LBB4_188:
LONG $0x00313c80 // cmp byte [rcx + rsi], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_187
LONG $0xc9570f66 // xorpd xmm1, xmm1
JMP LBB4_187
LBB4_190:
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JLE LBB4_298
WORD $0xfe83; BYTE $0x09 // cmp esi, 9
JE LBB4_428
WORD $0xfe83; BYTE $0x0b // cmp esi, 11
JE LBB4_431
WORD $0xfe83; BYTE $0x0c // cmp esi, 12
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0x01f98341 // cmp r9d, 1
JNE LBB4_613
WORD $0xc031 // xor eax, eax
LBB4_197:
WORD $0xc2f6; BYTE $0x01 // test dl, 1
JE LBB4_1655
LONG $0x00813c83 // cmp dword [rcx + 4*rax], 0
JE LBB4_122
JMP LBB4_982
LBB4_200:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_434
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_204
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_625
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_625
LBB4_204:
WORD $0xd231 // xor edx, edx
LBB4_1275:
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_1277
LBB4_1276:
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_1276
LBB4_1277:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1278:
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_1278
JMP LBB4_1655
LBB4_205:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_437
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_209
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_630
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_630
LBB4_209:
WORD $0xd231 // xor edx, edx
LBB4_1283:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x01a8 // test al, 1
JE LBB4_1285
LONG $0x04100ff2; BYTE $0xd1 // movsd xmm0, qword [rcx + 8*rdx]
WORD $0x3145; BYTE $0xc9 // xor r9d, r9d
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0xc82e0f66 // ucomisd xmm1, xmm0
LONG $0x45540f66; BYTE $0x00 // andpd xmm0, oword 0[rbp] /* [rip + .LCPI4_0] */
QUAD $0x000001108d100ff2 // movsd xmm1, qword 272[rbp] /* [rip + .LCPI4_2] */
LONG $0xc8560f66 // orpd xmm1, xmm0
LONG $0xf92c0ff2 // cvttsd2si edi, xmm1
LONG $0xf9440f41 // cmove edi, r9d
LONG $0x103c8841 // mov byte [r8 + rdx], dil
LONG $0x01ca8348 // or rdx, 1
LBB4_1285:
WORD $0x0148; BYTE $0xc6 // add rsi, rax
JE LBB4_1655
WORD $0xf631 // xor esi, esi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
QUAD $0x0000011095100ff2 // movsd xmm2, qword 272[rbp] /* [rip + .LCPI4_2] */
LBB4_1287:
LONG $0x1c100ff2; BYTE $0xd1 // movsd xmm3, qword [rcx + 8*rdx]
LONG $0xc32e0f66 // ucomisd xmm0, xmm3
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xda560f66 // orpd xmm3, xmm2
LONG $0xfb2c0ff2 // cvttsd2si edi, xmm3
WORD $0x440f; BYTE $0xfe // cmove edi, esi
LONG $0x103c8841 // mov byte [r8 + rdx], dil
LONG $0x5c100ff2; WORD $0x08d1 // movsd xmm3, qword [rcx + 8*rdx + 8]
LONG $0xc32e0f66 // ucomisd xmm0, xmm3
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xda560f66 // orpd xmm3, xmm2
LONG $0xfb2c0ff2 // cvttsd2si 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_1287
JMP LBB4_1655
LBB4_210:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_440
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_214
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_635
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_635
LBB4_214:
WORD $0xf631 // xor esi, esi
LBB4_1292:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1294
LONG $0x313c8a40 // mov dil, byte [rcx + rsi]
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 $0x303c8841 // mov byte [r8 + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB4_1294:
WORD $0x014c; BYTE $0xd0 // add rax, r10
JE LBB4_1655
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LBB4_1296:
LONG $0x3104b60f // movzx eax, byte [rcx + rsi]
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 $0xc7 // cmovg eax, edi
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x3144b60f; BYTE $0x01 // movzx eax, byte [rcx + rsi + 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 $0xc7 // cmovg eax, edi
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB4_1296
JMP LBB4_1655
LBB4_215:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_443
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_219
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_640
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_640
LBB4_219:
WORD $0xd231 // xor edx, edx
LBB4_1301:
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_1303
LBB4_1302:
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_1302
LBB4_1303:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1304:
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_1304
JMP LBB4_1655
LBB4_220:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_446
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_224
LONG $0x41148d48 // lea rdx, [rcx + 2*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_645
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_645
LBB4_224:
WORD $0xd231 // xor edx, edx
LBB4_1309:
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_1311
LBB4_1310:
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_1310
LBB4_1311:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1312:
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_1312
JMP LBB4_1655
LBB4_225:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_449
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_229
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_650
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_650
LBB4_229:
WORD $0xf631 // xor esi, esi
LBB4_1317:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1319
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
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 $0x303c8841 // mov byte [r8 + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB4_1319:
WORD $0x014c; BYTE $0xd0 // add rax, r10
JE LBB4_1655
LONG $0x0001b941; WORD $0x0000 // mov r9d, 1
LBB4_1321:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
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
LONG $0xc14f0f41 // cmovg eax, r9d
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x7144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rsi + 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
LONG $0xc14f0f41 // cmovg eax, r9d
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB4_1321
JMP LBB4_1655
LBB4_230:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_452
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_234
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_655
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_655
LBB4_234:
WORD $0xf631 // xor esi, esi
LBB4_1326:
WORD $0x8948; BYTE $0xf2 // mov rdx, rsi
WORD $0xf748; BYTE $0xd2 // not rdx
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1328
LONG $0xf13c8b48 // mov rdi, qword [rcx + 8*rsi]
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
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
WORD $0x4e0f; BYTE $0xf8 // cmovle edi, eax
LONG $0x303c8841 // mov byte [r8 + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB4_1328:
WORD $0x014c; BYTE $0xd2 // add rdx, r10
JE LBB4_1655
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LBB4_1330:
LONG $0xf1048b48 // mov rax, qword [rcx + 8*rsi]
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 $0xc7 // cmovg eax, edi
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0xf1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rsi + 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 $0xc7 // cmovg eax, edi
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB4_1330
JMP LBB4_1655
LBB4_235:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_455
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_239
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_660
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_660
LBB4_239:
WORD $0xd231 // xor edx, edx
LBB4_1335:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1337
LONG $0x046e0f66; BYTE $0x91 // movd xmm0, dword [rcx + 4*rdx]
LONG $0xc77e0f66 // movd edi, xmm0
WORD $0xff85 // test edi, edi
WORD $0x990f; BYTE $0xd0 // setns al
WORD $0xc000 // add al, al
WORD $0xff04 // add al, -1
WORD $0xff31 // xor edi, edi
LONG $0xc9ef0f66 // pxor xmm1, xmm1
WORD $0x2e0f; BYTE $0xc8 // ucomiss xmm1, xmm0
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x440f; BYTE $0xc7 // cmove eax, edi
LONG $0x10048841 // mov byte [r8 + rdx], al
LONG $0x01ca8348 // or rdx, 1
LBB4_1337:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1655
WORD $0xf631 // xor esi, esi
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LBB4_1339:
LONG $0x0c6e0f66; BYTE $0x91 // movd xmm1, dword [rcx + 4*rdx]
LONG $0xc87e0f66 // movd eax, xmm1
WORD $0xc085 // test eax, eax
WORD $0x990f; BYTE $0xd0 // setns al
WORD $0xc000 // add al, al
WORD $0xff04 // add al, -1
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x440f; BYTE $0xc6 // cmove eax, esi
LONG $0x10048841 // mov byte [r8 + rdx], al
LONG $0x4c6e0f66; WORD $0x0491 // movd xmm1, dword [rcx + 4*rdx + 4]
LONG $0xc87e0f66 // movd eax, xmm1
WORD $0xc085 // test eax, eax
WORD $0x990f; BYTE $0xd0 // setns al
WORD $0xc000 // add al, al
WORD $0xff04 // add al, -1
WORD $0x2e0f; BYTE $0xc1 // ucomiss 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_1339
JMP LBB4_1655
LBB4_240:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_458
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_244
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_665
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_665
LBB4_244:
WORD $0xd231 // xor edx, edx
LBB4_1344:
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_1346
LBB4_1345:
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_1345
LBB4_1346:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1347:
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_1347
JMP LBB4_1655
LBB4_245:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB4_461
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_249
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_670
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_670
LBB4_249:
WORD $0xf631 // xor esi, esi
LBB4_1352:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1354
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
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 $0x303c8841 // mov byte [r8 + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB4_1354:
WORD $0x014c; BYTE $0xd0 // add rax, r10
JE LBB4_1655
LONG $0x0001b941; WORD $0x0000 // mov r9d, 1
LBB4_1356:
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
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
LONG $0xc14f0f41 // cmovg eax, r9d
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x04b1448b // mov eax, dword [rcx + 4*rsi + 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
LONG $0xc14f0f41 // cmovg eax, r9d
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB4_1356
JMP LBB4_1655
LBB4_250:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_464
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_673
WORD $0xd231 // xor edx, edx
JMP LBB4_1003
LBB4_255:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_467
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
QUAD $0x000000000000bb49; WORD $0x8000 // mov r11, -9223372036854775808
LONG $0x01f98341 // cmp r9d, 1
JNE LBB4_676
WORD $0xf631 // xor esi, esi
JMP LBB4_1008
LBB4_260:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_470
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_264
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_681
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_681
LBB4_264:
WORD $0xd231 // xor edx, edx
LBB4_1361:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1363
WORD $0x048a; BYTE $0x11 // mov al, 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 $0x000001b8; BYTE $0x00 // mov eax, 1
LONG $0xc74e0f48 // cmovle rax, rdi
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0x01ca8348 // or rdx, 1
LBB4_1363:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1365:
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 $0xd2 // cmp r10, rdx
JNE LBB4_1365
JMP LBB4_1655
LBB4_265:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_473
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_269
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_686
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_686
LBB4_269:
WORD $0xd231 // xor edx, edx
LBB4_1370:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1372
LBB4_1371:
WORD $0xc031 // xor eax, eax
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1371
LBB4_1372:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1373:
WORD $0xc031 // xor eax, eax
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
WORD $0xc031 // xor eax, eax
LONG $0xd17c8348; WORD $0x0008 // cmp qword [rcx + 8*rdx + 8], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rax
WORD $0xc031 // xor eax, eax
LONG $0xd17c8348; WORD $0x0010 // cmp qword [rcx + 8*rdx + 16], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x10 // mov qword [r8 + 8*rdx + 16], rax
WORD $0xc031 // xor eax, eax
LONG $0xd17c8348; WORD $0x0018 // cmp qword [rcx + 8*rdx + 24], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x18 // mov qword [r8 + 8*rdx + 24], rax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1373
JMP LBB4_1655
LBB4_270:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_476
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_689
WORD $0xd231 // xor edx, edx
JMP LBB4_1014
LBB4_275:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_479
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_692
WORD $0xd231 // xor edx, edx
JMP LBB4_1019
LBB4_280:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_482
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_284
LONG $0xd9148d4a // lea rdx, [rcx + 8*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_697
LONG $0xd8148d4b // lea rdx, [r8 + 8*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_697
LBB4_284:
WORD $0xd231 // xor edx, edx
LBB4_1378:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1380
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_1380:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1382:
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_1382
JMP LBB4_1655
LBB4_285:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_485
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x01f98341 // cmp r9d, 1
JNE LBB4_700
WORD $0xc031 // xor eax, eax
JMP LBB4_290
LBB4_293:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_488
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_297
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_710
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_710
LBB4_297:
WORD $0xd231 // xor edx, edx
LBB4_1387:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1389
LBB4_1388:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1388
LBB4_1389:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1390:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
WORD $0xc031 // xor eax, eax
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rax
WORD $0xc031 // xor eax, eax
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x10 // mov qword [r8 + 8*rdx + 16], rax
WORD $0xc031 // xor eax, eax
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x18 // mov qword [r8 + 8*rdx + 24], rax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1390
JMP LBB4_1655
LBB4_298:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB4_491
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB4_1655
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_713
WORD $0xd231 // xor edx, edx
JMP LBB4_1025
LBB4_303:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_716
WORD $0xd231 // xor edx, edx
JMP LBB4_1141
LBB4_306:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_719
WORD $0xd231 // xor edx, edx
JMP LBB4_1146
LBB4_309:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_722
WORD $0xf631 // xor esi, esi
JMP LBB4_1151
LBB4_312:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_725
WORD $0xf631 // xor esi, esi
JMP LBB4_1157
LBB4_315:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_317
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_730
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_730
LBB4_317:
WORD $0xd231 // xor edx, edx
LBB4_1395:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1397
LONG $0x110c8a44 // mov r9b, byte [rcx + rdx]
WORD $0xff31 // xor edi, edi
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0x000001b8; BYTE $0x00 // mov eax, 1
WORD $0x4e0f; BYTE $0xc7 // cmovle eax, edi
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x01ca8348 // or rdx, 1
LBB4_1397:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1399:
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 $0xd2 // cmp r10, rdx
JNE LBB4_1399
JMP LBB4_1655
LBB4_318:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_320
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_735
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_735
LBB4_320:
WORD $0xd231 // xor edx, edx
LBB4_1404:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1406
LONG $0x110c8a44 // mov r9b, byte [rcx + rdx]
WORD $0xff31 // xor edi, edi
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0x000001b8; BYTE $0x00 // mov eax, 1
WORD $0x4e0f; BYTE $0xc7 // cmovle eax, edi
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x01ca8348 // or rdx, 1
LBB4_1406:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1408:
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 $0xd2 // cmp r10, rdx
JNE LBB4_1408
JMP LBB4_1655
LBB4_321:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_738
WORD $0xd231 // xor edx, edx
JMP LBB4_1031
LBB4_324:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_741
WORD $0xd231 // xor edx, edx
JMP LBB4_1036
LBB4_327:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_329
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_746
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_746
LBB4_329:
WORD $0xd231 // xor edx, edx
LBB4_1413:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1415
LBB4_1414:
WORD $0xc031 // xor eax, eax
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1414
LBB4_1415:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1416:
WORD $0xc031 // xor eax, eax
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
WORD $0xc031 // xor eax, eax
LONG $0x517c8366; WORD $0x0002 // cmp word [rcx + 2*rdx + 2], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], ax
WORD $0xc031 // xor eax, eax
LONG $0x517c8366; WORD $0x0004 // cmp word [rcx + 2*rdx + 4], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0450 // mov word [r8 + 2*rdx + 4], ax
WORD $0xc031 // xor eax, eax
LONG $0x517c8366; WORD $0x0006 // cmp word [rcx + 2*rdx + 6], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0650 // mov word [r8 + 2*rdx + 6], ax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1416
JMP LBB4_1655
LBB4_330:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_332
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_751
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_751
LBB4_332:
WORD $0xd231 // xor edx, edx
LBB4_1421:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1423
LBB4_1422:
WORD $0xc031 // xor eax, eax
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1422
LBB4_1423:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1424:
WORD $0xc031 // xor eax, eax
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
WORD $0xc031 // xor eax, eax
LONG $0x517c8366; WORD $0x0002 // cmp word [rcx + 2*rdx + 2], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], ax
WORD $0xc031 // xor eax, eax
LONG $0x517c8366; WORD $0x0004 // cmp word [rcx + 2*rdx + 4], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0450 // mov word [r8 + 2*rdx + 4], ax
WORD $0xc031 // xor eax, eax
LONG $0x517c8366; WORD $0x0006 // cmp word [rcx + 2*rdx + 6], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0650 // mov word [r8 + 2*rdx + 6], ax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1424
JMP LBB4_1655
LBB4_333:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_335
LONG $0x59148d4a // lea rdx, [rcx + 2*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_756
LONG $0x58148d4b // lea rdx, [r8 + 2*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_756
LBB4_335:
WORD $0xd231 // xor edx, edx
LBB4_1429:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1431
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_1431:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1433:
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_1433
JMP LBB4_1655
LBB4_336:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_338
LONG $0x59148d4a // lea rdx, [rcx + 2*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_761
LONG $0x58148d4b // lea rdx, [r8 + 2*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_761
LBB4_338:
WORD $0xd231 // xor edx, edx
LBB4_1438:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1440
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_1440:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1442:
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_1442
JMP LBB4_1655
LBB4_339:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_764
WORD $0xd231 // xor edx, edx
JMP LBB4_1041
LBB4_342:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_767
WORD $0xd231 // xor edx, edx
JMP LBB4_1163
LBB4_345:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_770
WORD $0xf631 // xor esi, esi
JMP LBB4_1169
LBB4_348:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_773
WORD $0xf631 // xor esi, esi
JMP LBB4_1175
LBB4_351:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_353
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_778
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_778
LBB4_353:
WORD $0xd231 // xor edx, edx
LBB4_1447:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1449
LBB4_1448:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1448
LBB4_1449:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1450:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
WORD $0xc031 // xor eax, eax
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], ax
WORD $0xc031 // xor eax, eax
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0450 // mov word [r8 + 2*rdx + 4], ax
WORD $0xc031 // xor eax, eax
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0650 // mov word [r8 + 2*rdx + 6], ax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1450
JMP LBB4_1655
LBB4_354:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_356
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_783
LONG $0x50148d4b // lea rdx, [r8 + 2*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_783
LBB4_356:
WORD $0xd231 // xor edx, edx
LBB4_1455:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1457
LBB4_1456:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1456
LBB4_1457:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1458:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x04894166; BYTE $0x50 // mov word [r8 + 2*rdx], ax
WORD $0xc031 // xor eax, eax
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0250 // mov word [r8 + 2*rdx + 2], ax
WORD $0xc031 // xor eax, eax
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0450 // mov word [r8 + 2*rdx + 4], ax
WORD $0xc031 // xor eax, eax
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x44894166; WORD $0x0650 // mov word [r8 + 2*rdx + 6], ax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1458
JMP LBB4_1655
LBB4_357:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_786
WORD $0xd231 // xor edx, edx
JMP LBB4_1047
LBB4_360:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_789
WORD $0xd231 // xor edx, edx
JMP LBB4_1053
LBB4_363:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_792
WORD $0xd231 // xor edx, edx
JMP LBB4_1181
LBB4_366:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_795
WORD $0xd231 // xor edx, edx
JMP LBB4_1186
LBB4_369:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_798
WORD $0xd231 // xor edx, edx
JMP LBB4_1194
LBB4_372:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_801
WORD $0xd231 // xor edx, edx
JMP LBB4_1200
LBB4_375:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_377
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_806
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_806
LBB4_377:
WORD $0xd231 // xor edx, edx
LBB4_1463:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1465
WORD $0x048a; BYTE $0x11 // mov al, 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 $0x000001b8; BYTE $0x00 // mov eax, 1
LONG $0xc74e0f48 // cmovle rax, rdi
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0x01ca8348 // or rdx, 1
LBB4_1465:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1467:
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 $0xd2 // cmp r10, rdx
JNE LBB4_1467
JMP LBB4_1655
LBB4_378:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_380
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_811
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_811
LBB4_380:
WORD $0xd231 // xor edx, edx
LBB4_1472:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x01a8 // test al, 1
JE LBB4_1479
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
JNE LBB4_1475
LONG $0xc0ef0f66 // pxor xmm0, xmm0
JMP LBB4_1476
LBB4_381:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_383
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_816
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_816
LBB4_383:
WORD $0xd231 // xor edx, edx
LBB4_1494:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1496
LBB4_1495:
WORD $0xc031 // xor eax, eax
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1495
LBB4_1496:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1497:
WORD $0xc031 // xor eax, eax
LONG $0xd13c8348; BYTE $0x00 // cmp qword [rcx + 8*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
WORD $0xc031 // xor eax, eax
LONG $0xd17c8348; WORD $0x0008 // cmp qword [rcx + 8*rdx + 8], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rax
WORD $0xc031 // xor eax, eax
LONG $0xd17c8348; WORD $0x0010 // cmp qword [rcx + 8*rdx + 16], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x10 // mov qword [r8 + 8*rdx + 16], rax
WORD $0xc031 // xor eax, eax
LONG $0xd17c8348; WORD $0x0018 // cmp qword [rcx + 8*rdx + 24], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x18 // mov qword [r8 + 8*rdx + 24], rax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1497
JMP LBB4_1655
LBB4_384:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0xff728d48 // lea rsi, [rdx - 1]
WORD $0xd089 // mov eax, edx
WORD $0xe083; BYTE $0x03 // and eax, 3
LONG $0x03fe8348 // cmp rsi, 3
JAE LBB4_819
WORD $0xf631 // xor esi, esi
LBB4_387:
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1655
LONG $0xb0148d49 // lea rdx, [r8 + 4*rsi]
LONG $0xf10c8d48 // lea rcx, [rcx + 8*rsi]
WORD $0xf631 // xor esi, esi
QUAD $0x0000012885100ff3 // movss xmm0, dword 296[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_390
LBB4_389:
LONG $0x0c110ff3; BYTE $0xb2 // movss dword [rdx + 4*rsi], xmm1
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JE LBB4_1655
LBB4_390:
LONG $0xf13c8348; BYTE $0x00 // cmp qword [rcx + 8*rsi], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_389
LONG $0xc9570f66 // xorpd xmm1, xmm1
JMP LBB4_389
LBB4_392:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_829
WORD $0xd231 // xor edx, edx
JMP LBB4_1059
LBB4_395:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_832
WORD $0xd231 // xor edx, edx
JMP LBB4_1208
LBB4_398:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_835
WORD $0xd231 // xor edx, edx
JMP LBB4_1216
LBB4_401:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_838
WORD $0xd231 // xor edx, edx
JMP LBB4_1222
LBB4_404:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_406
LONG $0xd9148d4a // lea rdx, [rcx + 8*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_843
LONG $0xd8148d4b // lea rdx, [r8 + 8*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_843
LBB4_406:
WORD $0xd231 // xor edx, edx
LBB4_1502:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1504
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_1504:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1506:
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_1506
JMP LBB4_1655
LBB4_407:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0x01f98341 // cmp r9d, 1
JNE LBB4_846
WORD $0xc031 // xor eax, eax
LBB4_410:
WORD $0xc2f6; BYTE $0x01 // test dl, 1
JE LBB4_1655
LONG $0xc13c8348; BYTE $0x00 // cmp qword [rcx + 8*rax], 0
JNE LBB4_989
LONG $0xc0570f66 // xorpd xmm0, xmm0
JMP LBB4_990
LBB4_413:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xca // mov edx, r9d
LONG $0x01f98341 // cmp r9d, 1
JNE LBB4_856
WORD $0xc031 // xor eax, eax
JMP LBB4_416
LBB4_419:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_421
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_866
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_866
LBB4_421:
WORD $0xd231 // xor edx, edx
LBB4_869:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x01a8 // test al, 1
JE LBB4_871
LONG $0x04100ff3; BYTE $0x91 // movss xmm0, dword [rcx + 4*rdx]
WORD $0x500f; BYTE $0xf8 // movmskps edi, xmm0
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0xcf2a0ff3 // cvtsi2ss xmm1, edi
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
LONG $0xd0c20ff3; BYTE $0x00 // cmpeqss xmm2, xmm0
WORD $0x550f; BYTE $0xd1 // andnps xmm2, xmm1
LONG $0x110f41f3; WORD $0x9014 // movss dword [r8 + 4*rdx], xmm2
LONG $0x01ca8348 // or rdx, 1
LBB4_871:
WORD $0x0148; BYTE $0xc6 // add rsi, rax
JE LBB4_1655
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LBB4_873:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
WORD $0x500f; BYTE $0xf1 // movmskps esi, xmm1
WORD $0xe683; BYTE $0x01 // and esi, 1
WORD $0xdef7 // neg esi
WORD $0xce83; BYTE $0x01 // or esi, 1
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
LONG $0xd62a0ff3 // cvtsi2ss xmm2, esi
LONG $0xc8c20ff3; BYTE $0x00 // cmpeqss xmm1, xmm0
WORD $0x550f; BYTE $0xca // andnps xmm1, xmm2
LONG $0x110f41f3; WORD $0x900c // movss dword [r8 + 4*rdx], xmm1
LONG $0x4c100ff3; WORD $0x0491 // movss xmm1, dword [rcx + 4*rdx + 4]
WORD $0x500f; BYTE $0xf1 // movmskps esi, xmm1
WORD $0xe683; BYTE $0x01 // and esi, 1
WORD $0xdef7 // neg esi
WORD $0xce83; BYTE $0x01 // or esi, 1
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
LONG $0xd62a0ff3 // cvtsi2ss xmm2, esi
LONG $0xc8c20ff3; BYTE $0x00 // cmpeqss xmm1, xmm0
WORD $0x550f; BYTE $0xca // andnps xmm1, xmm2
LONG $0x110f41f3; WORD $0x904c; BYTE $0x04 // movss dword [r8 + 4*rdx + 4], xmm1
LONG $0x02c28348 // add rdx, 2
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JNE LBB4_873
JMP LBB4_1655
LBB4_422:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_424
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_876
LONG $0xd0148d4b // lea rdx, [r8 + 8*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_876
LBB4_424:
WORD $0xd231 // xor edx, edx
LBB4_1511:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1513
LBB4_1512:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1512
LBB4_1513:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1514:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0048949 // mov qword [r8 + 8*rdx], rax
WORD $0xc031 // xor eax, eax
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x08 // mov qword [r8 + 8*rdx + 8], rax
WORD $0xc031 // xor eax, eax
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x10 // mov qword [r8 + 8*rdx + 16], rax
WORD $0xc031 // xor eax, eax
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0xd0448949; BYTE $0x18 // mov qword [r8 + 8*rdx + 24], rax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1514
JMP LBB4_1655
LBB4_425:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_427
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_881
LONG $0x80148d49 // lea rdx, [r8 + 4*rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_881
LBB4_427:
WORD $0xd231 // xor edx, edx
LBB4_1519:
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_1524
QUAD $0x00000128856e0f66 // movd xmm0, dword 296[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_1522
LBB4_1521:
LONG $0x7e0f4166; WORD $0x900c // movd dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JE LBB4_1524
LBB4_1522:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xc86f0f66 // movdqa xmm1, xmm0
JNE LBB4_1521
LONG $0xc9ef0f66 // pxor xmm1, xmm1
JMP LBB4_1521
LBB4_428:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_884
WORD $0xd231 // xor edx, edx
JMP LBB4_1064
LBB4_431:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_887
WORD $0xd231 // xor edx, edx
JMP LBB4_1070
LBB4_434:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_436
LONG $0x81148d48 // lea rdx, [rcx + 4*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_892
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_892
LBB4_436:
WORD $0xd231 // xor edx, edx
LBB4_1539:
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_1541
LBB4_1540:
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_1540
LBB4_1541:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1542:
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_1542
JMP LBB4_1655
LBB4_437:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_439
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_897
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_897
LBB4_439:
WORD $0xd231 // xor edx, edx
LBB4_1547:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x01a8 // test al, 1
JE LBB4_1549
LONG $0x04100ff2; BYTE $0xd1 // movsd xmm0, qword [rcx + 8*rdx]
WORD $0x3145; BYTE $0xc9 // xor r9d, r9d
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0xc82e0f66 // ucomisd xmm1, xmm0
LONG $0x45540f66; BYTE $0x00 // andpd xmm0, oword 0[rbp] /* [rip + .LCPI4_0] */
QUAD $0x000001108d100ff2 // movsd xmm1, qword 272[rbp] /* [rip + .LCPI4_2] */
LONG $0xc8560f66 // orpd xmm1, xmm0
LONG $0xf92c0ff2 // cvttsd2si edi, xmm1
LONG $0xf9440f41 // cmove edi, r9d
LONG $0x103c8841 // mov byte [r8 + rdx], dil
LONG $0x01ca8348 // or rdx, 1
LBB4_1549:
WORD $0x0148; BYTE $0xc6 // add rsi, rax
JE LBB4_1655
WORD $0xf631 // xor esi, esi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
QUAD $0x0000011095100ff2 // movsd xmm2, qword 272[rbp] /* [rip + .LCPI4_2] */
LBB4_1551:
LONG $0x1c100ff2; BYTE $0xd1 // movsd xmm3, qword [rcx + 8*rdx]
LONG $0xc32e0f66 // ucomisd xmm0, xmm3
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xda560f66 // orpd xmm3, xmm2
LONG $0xfb2c0ff2 // cvttsd2si edi, xmm3
WORD $0x440f; BYTE $0xfe // cmove edi, esi
LONG $0x103c8841 // mov byte [r8 + rdx], dil
LONG $0x5c100ff2; WORD $0x08d1 // movsd xmm3, qword [rcx + 8*rdx + 8]
LONG $0xc32e0f66 // ucomisd xmm0, xmm3
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xda560f66 // orpd xmm3, xmm2
LONG $0xfb2c0ff2 // cvttsd2si 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_1551
JMP LBB4_1655
LBB4_440:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_442
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_902
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_902
LBB4_442:
WORD $0xf631 // xor esi, esi
LBB4_1556:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1558
LONG $0x313c8a40 // mov dil, byte [rcx + rsi]
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 $0x303c8841 // mov byte [r8 + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB4_1558:
WORD $0x014c; BYTE $0xd0 // add rax, r10
JE LBB4_1655
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LBB4_1560:
LONG $0x3104b60f // movzx eax, byte [rcx + rsi]
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 $0xc7 // cmovg eax, edi
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x3144b60f; BYTE $0x01 // movzx eax, byte [rcx + rsi + 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 $0xc7 // cmovg eax, edi
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB4_1560
JMP LBB4_1655
LBB4_443:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_445
LONG $0xc1148d48 // lea rdx, [rcx + 8*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_907
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_907
LBB4_445:
WORD $0xd231 // xor edx, edx
LBB4_1565:
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_1567
LBB4_1566:
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_1566
LBB4_1567:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1568:
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_1568
JMP LBB4_1655
LBB4_446:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_448
LONG $0x41148d48 // lea rdx, [rcx + 2*rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_912
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_912
LBB4_448:
WORD $0xd231 // xor edx, edx
LBB4_1573:
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_1575
LBB4_1574:
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_1574
LBB4_1575:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1576:
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_1576
JMP LBB4_1655
LBB4_449:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x10f98341 // cmp r9d, 16
JB LBB4_451
LONG $0x51148d4a // lea rdx, [rcx + 2*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_917
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_917
LBB4_451:
WORD $0xf631 // xor esi, esi
LBB4_1581:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1583
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
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 $0x303c8841 // mov byte [r8 + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB4_1583:
WORD $0x014c; BYTE $0xd0 // add rax, r10
JE LBB4_1655
LONG $0x0001b941; WORD $0x0000 // mov r9d, 1
LBB4_1585:
LONG $0x713cb70f // movzx edi, word [rcx + 2*rsi]
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
LONG $0xc14f0f41 // cmovg eax, r9d
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x7144b70f; BYTE $0x02 // movzx eax, word [rcx + 2*rsi + 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
LONG $0xc14f0f41 // cmovg eax, r9d
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB4_1585
JMP LBB4_1655
LBB4_452:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JB LBB4_454
LONG $0xd1148d4a // lea rdx, [rcx + 8*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_922
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_922
LBB4_454:
WORD $0xf631 // xor esi, esi
LBB4_1590:
WORD $0x8948; BYTE $0xf2 // mov rdx, rsi
WORD $0xf748; BYTE $0xd2 // not rdx
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1592
LONG $0xf13c8b48 // mov rdi, qword [rcx + 8*rsi]
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
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
WORD $0x4e0f; BYTE $0xf8 // cmovle edi, eax
LONG $0x303c8841 // mov byte [r8 + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB4_1592:
WORD $0x014c; BYTE $0xd2 // add rdx, r10
JE LBB4_1655
LONG $0x000001bf; BYTE $0x00 // mov edi, 1
LBB4_1594:
LONG $0xf1048b48 // mov rax, qword [rcx + 8*rsi]
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 $0xc7 // cmovg eax, edi
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0xf1448b48; BYTE $0x08 // mov rax, qword [rcx + 8*rsi + 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 $0xc7 // cmovg eax, edi
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB4_1594
JMP LBB4_1655
LBB4_455:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_457
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_927
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_927
LBB4_457:
WORD $0xd231 // xor edx, edx
LBB4_1599:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1601
LONG $0x046e0f66; BYTE $0x91 // movd xmm0, dword [rcx + 4*rdx]
LONG $0xc77e0f66 // movd edi, xmm0
WORD $0xff85 // test edi, edi
WORD $0x990f; BYTE $0xd0 // setns al
WORD $0xc000 // add al, al
WORD $0xff04 // add al, -1
WORD $0xff31 // xor edi, edi
LONG $0xc9ef0f66 // pxor xmm1, xmm1
WORD $0x2e0f; BYTE $0xc8 // ucomiss xmm1, xmm0
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x440f; BYTE $0xc7 // cmove eax, edi
LONG $0x10048841 // mov byte [r8 + rdx], al
LONG $0x01ca8348 // or rdx, 1
LBB4_1601:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1655
WORD $0xf631 // xor esi, esi
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LBB4_1603:
LONG $0x0c6e0f66; BYTE $0x91 // movd xmm1, dword [rcx + 4*rdx]
LONG $0xc87e0f66 // movd eax, xmm1
WORD $0xc085 // test eax, eax
WORD $0x990f; BYTE $0xd0 // setns al
WORD $0xc000 // add al, al
WORD $0xff04 // add al, -1
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
WORD $0xb60f; BYTE $0xc0 // movzx eax, al
WORD $0x440f; BYTE $0xc6 // cmove eax, esi
LONG $0x10048841 // mov byte [r8 + rdx], al
LONG $0x4c6e0f66; WORD $0x0491 // movd xmm1, dword [rcx + 4*rdx + 4]
LONG $0xc87e0f66 // movd eax, xmm1
WORD $0xc085 // test eax, eax
WORD $0x990f; BYTE $0xd0 // setns al
WORD $0xc000 // add al, al
WORD $0xff04 // add al, -1
WORD $0x2e0f; BYTE $0xc1 // ucomiss 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_1603
JMP LBB4_1655
LBB4_458:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x20f98341 // cmp r9d, 32
JB LBB4_460
LONG $0x01148d48 // lea rdx, [rcx + rax]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_932
LONG $0x00148d49 // lea rdx, [r8 + rax]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_932
LBB4_460:
WORD $0xd231 // xor edx, edx
LBB4_1608:
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_1610
LBB4_1609:
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_1609
LBB4_1610:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1611:
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_1611
JMP LBB4_1655
LBB4_461:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_463
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_937
LONG $0x10148d4b // lea rdx, [r8 + r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_937
LBB4_463:
WORD $0xf631 // xor esi, esi
LBB4_1616:
WORD $0x8948; BYTE $0xf0 // mov rax, rsi
WORD $0xf748; BYTE $0xd0 // not rax
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1618
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
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 $0x303c8841 // mov byte [r8 + rsi], dil
LONG $0x01ce8348 // or rsi, 1
LBB4_1618:
WORD $0x014c; BYTE $0xd0 // add rax, r10
JE LBB4_1655
LONG $0x0001b941; WORD $0x0000 // mov r9d, 1
LBB4_1620:
WORD $0x3c8b; BYTE $0xb1 // mov edi, dword [rcx + 4*rsi]
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
LONG $0xc14f0f41 // cmovg eax, r9d
LONG $0x30048841 // mov byte [r8 + rsi], al
LONG $0x04b1448b // mov eax, dword [rcx + 4*rsi + 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
LONG $0xc14f0f41 // cmovg eax, r9d
LONG $0x30448841; BYTE $0x01 // mov byte [r8 + rsi + 1], al
LONG $0x02c68348 // add rsi, 2
WORD $0x3949; BYTE $0xf2 // cmp r10, rsi
JNE LBB4_1620
JMP LBB4_1655
LBB4_464:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_466
LONG $0x91148d4a // lea rdx, [rcx + 4*r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_942
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_942
LBB4_466:
WORD $0xd231 // xor edx, edx
LBB4_1625:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1627
LBB4_1626:
WORD $0xc031 // xor eax, eax
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1626
LBB4_1627:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1628:
WORD $0xc031 // xor eax, eax
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
WORD $0xc031 // xor eax, eax
LONG $0x04917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 4], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], eax
WORD $0xc031 // xor eax, eax
LONG $0x08917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 8], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x08 // mov dword [r8 + 4*rdx + 8], eax
WORD $0xc031 // xor eax, eax
LONG $0x0c917c83; BYTE $0x00 // cmp dword [rcx + 4*rdx + 12], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x0c // mov dword [r8 + 4*rdx + 12], eax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1628
JMP LBB4_1655
LBB4_467:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
WORD $0x3145; BYTE $0xd2 // xor r10d, r10d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_945
WORD $0xf631 // xor esi, esi
JMP LBB4_1080
LBB4_470:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_472
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_950
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_950
LBB4_472:
WORD $0xd231 // xor edx, edx
LBB4_1633:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1635
LONG $0x110c8a44 // mov r9b, byte [rcx + rdx]
WORD $0xff31 // xor edi, edi
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0xd7950f40 // setne dil
WORD $0xdff7 // neg edi
WORD $0x8445; BYTE $0xc9 // test r9b, r9b
LONG $0x000001b8; BYTE $0x00 // mov eax, 1
WORD $0x4e0f; BYTE $0xc7 // cmovle eax, edi
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x01ca8348 // or rdx, 1
LBB4_1635:
WORD $0x014c; BYTE $0xd6 // add rsi, r10
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1637:
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 $0xd2 // cmp r10, rdx
JNE LBB4_1637
JMP LBB4_1655
LBB4_473:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_953
WORD $0xd231 // xor edx, edx
JMP LBB4_1086
LBB4_476:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_956
WORD $0xd231 // xor edx, edx
JMP LBB4_1091
LBB4_479:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_959
WORD $0xd231 // xor edx, edx
JMP LBB4_1096
LBB4_482:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x04f98341 // cmp r9d, 4
JAE LBB4_962
WORD $0xd231 // xor edx, edx
JMP LBB4_1102
LBB4_485:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8944; BYTE $0xc8 // mov eax, r9d
LONG $0x08f98341 // cmp r9d, 8
JAE LBB4_965
WORD $0xd231 // xor edx, edx
JMP LBB4_968
LBB4_488:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xca // mov r10d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_490
LONG $0x11148d4a // lea rdx, [rcx + r10]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_974
LONG $0x90148d4b // lea rdx, [r8 + 4*r10]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_974
LBB4_490:
WORD $0xd231 // xor edx, edx
LBB4_1642:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
WORD $0x014c; BYTE $0xd6 // add rsi, r10
WORD $0x894c; BYTE $0xd7 // mov rdi, r10
LONG $0x03e78348 // and rdi, 3
JE LBB4_1644
LBB4_1643:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
LONG $0x01c28348 // add rdx, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB4_1643
LBB4_1644:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
LBB4_1645:
WORD $0xc031 // xor eax, eax
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90048941 // mov dword [r8 + 4*rdx], eax
WORD $0xc031 // xor eax, eax
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x04 // mov dword [r8 + 4*rdx + 4], eax
WORD $0xc031 // xor eax, eax
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x08 // mov dword [r8 + 4*rdx + 8], eax
WORD $0xc031 // xor eax, eax
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
WORD $0x950f; BYTE $0xd0 // setne al
LONG $0x90448941; BYTE $0x0c // mov dword [r8 + 4*rdx + 12], eax
LONG $0x04c28348 // add rdx, 4
WORD $0x3949; BYTE $0xd2 // cmp r10, rdx
JNE LBB4_1645
JMP LBB4_1655
LBB4_491:
WORD $0x8545; BYTE $0xc9 // test r9d, r9d
JLE LBB4_1655
WORD $0x8945; BYTE $0xcb // mov r11d, r9d
LONG $0x08f98341 // cmp r9d, 8
JB LBB4_493
LONG $0x99148d4a // lea rdx, [rcx + 4*r11]
WORD $0x394c; BYTE $0xc2 // cmp rdx, r8
JBE LBB4_979
LONG $0x98148d4b // lea rdx, [r8 + 4*r11]
WORD $0x3948; BYTE $0xca // cmp rdx, rcx
JBE LBB4_979
LBB4_493:
WORD $0xd231 // xor edx, edx
LBB4_1650:
WORD $0x8948; BYTE $0xd6 // mov rsi, rdx
WORD $0xf748; BYTE $0xd6 // not rsi
LONG $0x01c3f641 // test r11b, 1
JE LBB4_1652
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_1652:
WORD $0x014c; BYTE $0xde // add rsi, r11
JE LBB4_1655
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1654:
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_1654
JMP LBB4_1655
LBB4_1524:
LONG $0x03fe8348 // cmp rsi, 3
JB LBB4_1655
QUAD $0x00000128856e0f66 // movd xmm0, dword 296[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_1527
LBB4_1526:
LONG $0x7e0f4166; WORD $0x904c; BYTE $0x0c // movd dword [r8 + 4*rdx + 12], xmm1
LONG $0x04c28348 // add rdx, 4
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1655
LBB4_1527:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xc86f0f66 // movdqa xmm1, xmm0
JNE LBB4_1528
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x7e0f4166; WORD $0x900c // movd dword [r8 + 4*rdx], xmm1
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xc86f0f66 // movdqa xmm1, xmm0
JE LBB4_1532
LBB4_1529:
LONG $0x7e0f4166; WORD $0x904c; BYTE $0x04 // movd dword [r8 + 4*rdx + 4], xmm1
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xc86f0f66 // movdqa xmm1, xmm0
JNE LBB4_1530
LBB4_1533:
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x7e0f4166; WORD $0x904c; BYTE $0x08 // movd dword [r8 + 4*rdx + 8], xmm1
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xc86f0f66 // movdqa xmm1, xmm0
JNE LBB4_1526
JMP LBB4_1534
LBB4_1528:
LONG $0x7e0f4166; WORD $0x900c // movd dword [r8 + 4*rdx], xmm1
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xc86f0f66 // movdqa xmm1, xmm0
JNE LBB4_1529
LBB4_1532:
LONG $0xc9ef0f66 // pxor xmm1, xmm1
LONG $0x7e0f4166; WORD $0x904c; BYTE $0x04 // movd dword [r8 + 4*rdx + 4], xmm1
LONG $0x02117c80; BYTE $0x00 // cmp byte [rcx + rdx + 2], 0
LONG $0xc86f0f66 // movdqa xmm1, xmm0
JE LBB4_1533
LBB4_1530:
LONG $0x7e0f4166; WORD $0x904c; BYTE $0x08 // movd dword [r8 + 4*rdx + 8], xmm1
LONG $0x03117c80; BYTE $0x00 // cmp byte [rcx + rdx + 3], 0
LONG $0xc86f0f66 // movdqa xmm1, xmm0
JNE LBB4_1526
LBB4_1534:
LONG $0xc9ef0f66 // pxor xmm1, xmm1
JMP LBB4_1526
LBB4_499:
WORD $0x8944; BYTE $0xde // mov esi, r11d
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_1106
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x55280f66; BYTE $0x10 // movapd xmm2, oword 16[rbp] /* [rip + .LCPI4_1] */
LBB4_501:
LONG $0x2c100f66; BYTE $0xf9 // movupd xmm5, oword [rcx + 8*rdi]
LONG $0x74100f66; WORD $0x10f9 // movupd xmm6, oword [rcx + 8*rdi + 16]
LONG $0xdd280f66 // movapd xmm3, xmm5
LONG $0xd8c20f66; BYTE $0x00 // cmpeqpd xmm3, xmm0
LONG $0xe8dbc60f // shufps xmm3, xmm3, 232
LONG $0xe6280f66 // movapd xmm4, xmm6
LONG $0xe0c20f66; BYTE $0x00 // cmpeqpd xmm4, xmm0
LONG $0xe9540f66 // andpd xmm5, xmm1
LONG $0xea560f66 // orpd xmm5, xmm2
LONG $0xf1540f66 // andpd xmm6, xmm1
LONG $0xf2560f66 // orpd xmm6, xmm2
LONG $0xfd700f66; BYTE $0xee // pshufd xmm7, xmm5, 238
LONG $0x2c0f48f2; BYTE $0xc7 // cvttsd2si rax, xmm7
LONG $0x2c0f48f2; BYTE $0xdd // cvttsd2si rbx, xmm5
LONG $0xeb6e0f66 // movd xmm5, ebx
LONG $0x223a0f66; WORD $0x01e8 // pinsrd xmm5, eax, 1
LONG $0xfe700f66; BYTE $0xee // pshufd xmm7, xmm6, 238
LONG $0x2c0f48f2; BYTE $0xc7 // cvttsd2si rax, xmm7
LONG $0x2c0f48f2; BYTE $0xde // cvttsd2si rbx, xmm6
LONG $0xe8e4c60f // shufps xmm4, xmm4, 232
LONG $0xf36e0f66 // movd xmm6, ebx
LONG $0x223a0f66; WORD $0x01f0 // pinsrd xmm6, eax, 1
WORD $0x550f; BYTE $0xdd // andnps xmm3, xmm5
WORD $0x550f; BYTE $0xe6 // andnps xmm4, xmm6
WORD $0x160f; BYTE $0xdc // movlhps xmm3, xmm4
LONG $0x1c110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm3
LONG $0x6c100f66; WORD $0x20f9 // movupd xmm5, oword [rcx + 8*rdi + 32]
LONG $0x74100f66; WORD $0x30f9 // movupd xmm6, oword [rcx + 8*rdi + 48]
LONG $0xdd280f66 // movapd xmm3, xmm5
LONG $0xd8c20f66; BYTE $0x00 // cmpeqpd xmm3, xmm0
LONG $0xe8dbc60f // shufps xmm3, xmm3, 232
LONG $0xe6280f66 // movapd xmm4, xmm6
LONG $0xe0c20f66; BYTE $0x00 // cmpeqpd xmm4, xmm0
LONG $0xe8e4c60f // shufps xmm4, xmm4, 232
LONG $0xe9540f66 // andpd xmm5, xmm1
LONG $0xea560f66 // orpd xmm5, xmm2
LONG $0xf1540f66 // andpd xmm6, xmm1
LONG $0xfd700f66; BYTE $0xee // pshufd xmm7, xmm5, 238
LONG $0x2c0f48f2; BYTE $0xc7 // cvttsd2si rax, xmm7
LONG $0xf2560f66 // orpd xmm6, xmm2
LONG $0x2c0f48f2; BYTE $0xdd // cvttsd2si rbx, xmm5
LONG $0xeb6e0f66 // movd xmm5, ebx
LONG $0x223a0f66; WORD $0x01e8 // pinsrd xmm5, eax, 1
WORD $0x550f; BYTE $0xdd // andnps xmm3, xmm5
LONG $0xee700f66; BYTE $0xee // pshufd xmm5, xmm6, 238
LONG $0x2c0f48f2; BYTE $0xc5 // cvttsd2si rax, xmm5
LONG $0x2c0f48f2; BYTE $0xde // cvttsd2si rbx, xmm6
LONG $0xeb6e0f66 // movd xmm5, ebx
LONG $0x223a0f66; WORD $0x01e8 // pinsrd xmm5, eax, 1
WORD $0x550f; BYTE $0xe5 // andnps xmm4, xmm5
WORD $0x160f; BYTE $0xdc // movlhps xmm3, xmm4
LONG $0x5c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB4_501
JMP LBB4_1107
LBB4_507:
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_994
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
QUAD $0x000000a08d6f0f66 // movdqa xmm1, oword 160[rbp] /* [rip + .LCPI4_16] */
LBB4_509:
LONG $0x146f0ff3; BYTE $0xf1 // movdqu xmm2, oword [rcx + 8*rsi]
LONG $0x5c6f0ff3; WORD $0x10f1 // movdqu xmm3, oword [rcx + 8*rsi + 16]
LONG $0x29380f66; BYTE $0xd0 // pcmpeqq xmm2, xmm0
LONG $0xd2700f66; BYTE $0xe8 // pshufd xmm2, xmm2, 232
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xdb700f66; BYTE $0xe8 // pshufd xmm3, xmm3, 232
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0xd36c0f66 // punpcklqdq xmm2, xmm3
LONG $0x7f0f41f3; WORD $0xb014 // movdqu oword [r8 + 4*rsi], xmm2
LONG $0x546f0ff3; WORD $0x20f1 // movdqu xmm2, oword [rcx + 8*rsi + 32]
LONG $0x5c6f0ff3; WORD $0x30f1 // movdqu xmm3, oword [rcx + 8*rsi + 48]
LONG $0x29380f66; BYTE $0xd0 // pcmpeqq xmm2, xmm0
LONG $0xd2700f66; BYTE $0xe8 // pshufd xmm2, xmm2, 232
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xdb700f66; BYTE $0xe8 // pshufd xmm3, xmm3, 232
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0xd36c0f66 // punpcklqdq xmm2, xmm3
LONG $0x7f0f41f3; WORD $0xb054; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm2
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_509
JMP LBB4_995
LBB4_510:
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_1112
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0x556f0f66; BYTE $0x50 // movdqa xmm2, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_512:
LONG $0x1c7e0ff3; BYTE $0x71 // movq xmm3, qword [rcx + 2*rsi]
LONG $0x647e0ff3; WORD $0x0871 // movq xmm4, qword [rcx + 2*rsi + 8]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x33380f66; BYTE $0xdb // pmovzxwd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x33380f66; BYTE $0xe4 // pmovzxwd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xb01c // movdqu oword [r8 + 4*rsi], xmm3
LONG $0x7f0f41f3; WORD $0xb064; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm4
LONG $0x5c7e0ff3; WORD $0x1071 // movq xmm3, qword [rcx + 2*rsi + 16]
LONG $0x647e0ff3; WORD $0x1871 // movq xmm4, qword [rcx + 2*rsi + 24]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x33380f66; BYTE $0xdb // pmovzxwd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x33380f66; BYTE $0xe4 // pmovzxwd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xb05c; BYTE $0x20 // movdqu oword [r8 + 4*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xb064; BYTE $0x30 // movdqu oword [r8 + 4*rsi + 48], xmm4
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_512
JMP LBB4_1113
LBB4_513:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1117
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x5065280f // movaps xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_515:
LONG $0x2c7e0ff3; BYTE $0x71 // movq xmm5, qword [rcx + 2*rsi]
LONG $0x747e0ff3; WORD $0x0871 // movq xmm6, qword [rcx + 2*rsi + 8]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0x23380f66; BYTE $0xc0 // pmovsxwd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0x23380f66; BYTE $0xc9 // pmovsxwd xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x23380f66; BYTE $0xed // pmovsxwd xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x23380f66; BYTE $0xf6 // pmovsxwd xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x2c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm5
LONG $0x74110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm6
LONG $0x6c7e0ff3; WORD $0x1071 // movq xmm5, qword [rcx + 2*rsi + 16]
LONG $0x747e0ff3; WORD $0x1871 // movq xmm6, qword [rcx + 2*rsi + 24]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0x23380f66; BYTE $0xc0 // pmovsxwd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0x23380f66; BYTE $0xc9 // pmovsxwd xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x23380f66; BYTE $0xed // pmovsxwd xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x23380f66; BYTE $0xf6 // pmovsxwd xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x6c110f41; WORD $0x20b0 // movups oword [r8 + 4*rsi + 32], xmm5
LONG $0x74110f41; WORD $0x30b0 // movups oword [r8 + 4*rsi + 48], xmm6
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_515
JMP LBB4_1118
LBB4_516:
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_1123
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xa0a5280f; WORD $0x0000; BYTE $0x00 // movaps xmm4, oword 160[rbp] /* [rip + .LCPI4_16] */
LBB4_518:
LONG $0x2c6f0ff3; BYTE $0xf1 // movdqu xmm5, oword [rcx + 8*rsi]
LONG $0x746f0ff3; WORD $0x10f1 // movdqu xmm6, oword [rcx + 8*rsi + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xed700f66; BYTE $0xe8 // pshufd xmm5, xmm5, 232
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf6700f66; BYTE $0xe8 // pshufd xmm6, xmm6, 232
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
WORD $0x160f; BYTE $0xee // movlhps xmm5, xmm6
LONG $0x2c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm5
LONG $0x6c6f0ff3; WORD $0x20f1 // movdqu xmm5, oword [rcx + 8*rsi + 32]
LONG $0x746f0ff3; WORD $0x30f1 // movdqu xmm6, oword [rcx + 8*rsi + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xed700f66; BYTE $0xe8 // pshufd xmm5, xmm5, 232
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf6700f66; BYTE $0xe8 // pshufd xmm6, xmm6, 232
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
WORD $0x160f; BYTE $0xee // movlhps xmm5, xmm6
LONG $0x6c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm5
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_518
JMP LBB4_1124
LBB4_519:
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_1129
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0x556f0f66; BYTE $0x50 // movdqa xmm2, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0x605d280f // movaps xmm3, oword 96[rbp] /* [rip + .LCPI4_10] */
LONG $0x3065280f // movaps xmm4, oword 48[rbp] /* [rip + .LCPI4_4] */
LBB4_521:
LONG $0x2c6f0ff3; BYTE $0xb1 // movdqu xmm5, oword [rcx + 4*rsi]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xe0720f66; BYTE $0x1f // psrad xmm0, 31
LONG $0xc2eb0f66 // por xmm0, xmm2
WORD $0x5b0f; BYTE $0xf0 // cvtdq2ps xmm6, xmm0
WORD $0x280f; BYTE $0xc6 // movaps xmm0, xmm6
LONG $0x01c3c20f // cmpltps xmm0, xmm3
LONG $0xfe5b0ff3 // cvttps2dq xmm7, xmm6
WORD $0x5c0f; BYTE $0xf3 // subps xmm6, xmm3
LONG $0xf65b0ff3 // cvttps2dq xmm6, xmm6
WORD $0x570f; BYTE $0xf4 // xorps xmm6, xmm4
LONG $0x14380f66; BYTE $0xf7 // blendvps xmm6, xmm7, xmm0
LONG $0x04e9c20f // cmpneqps xmm5, xmm1
WORD $0x540f; BYTE $0xee // andps xmm5, xmm6
LONG $0x2c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm5
LONG $0x6c6f0ff3; WORD $0x10b1 // movdqu xmm5, oword [rcx + 4*rsi + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xe0720f66; BYTE $0x1f // psrad xmm0, 31
LONG $0xc2eb0f66 // por xmm0, xmm2
WORD $0x5b0f; BYTE $0xf0 // cvtdq2ps xmm6, xmm0
WORD $0x280f; BYTE $0xc6 // movaps xmm0, xmm6
LONG $0x01c3c20f // cmpltps xmm0, xmm3
LONG $0xfe5b0ff3 // cvttps2dq xmm7, xmm6
WORD $0x5c0f; BYTE $0xf3 // subps xmm6, xmm3
LONG $0xf65b0ff3 // cvttps2dq xmm6, xmm6
WORD $0x570f; BYTE $0xf4 // xorps xmm6, xmm4
LONG $0x14380f66; BYTE $0xf7 // blendvps xmm6, xmm7, xmm0
LONG $0x04e9c20f // cmpneqps xmm5, xmm1
WORD $0x540f; BYTE $0xee // andps xmm5, xmm6
LONG $0x6c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm5
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_521
JMP LBB4_1130
LBB4_532:
WORD $0xe283; BYTE $0xfc // and edx, -4
WORD $0xf631 // xor esi, esi
QUAD $0x0000011085100ff2 // movsd xmm0, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_534
LBB4_533:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x18 // movsd qword [r8 + 8*rsi + 24], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JE LBB4_101
LBB4_534:
LONG $0x00b13c83 // cmp dword [rcx + 4*rsi], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_535
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf00c // movsd qword [r8 + 8*rsi], xmm1
LONG $0x04b17c83; BYTE $0x00 // cmp dword [rcx + 4*rsi + 4], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JE LBB4_539
LBB4_536:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm1
LONG $0x08b17c83; BYTE $0x00 // cmp dword [rcx + 4*rsi + 8], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_537
LBB4_540:
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm1
LONG $0x0cb17c83; BYTE $0x00 // cmp dword [rcx + 4*rsi + 12], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_533
JMP LBB4_541
LBB4_535:
LONG $0x110f41f2; WORD $0xf00c // movsd qword [r8 + 8*rsi], xmm1
LONG $0x04b17c83; BYTE $0x00 // cmp dword [rcx + 4*rsi + 4], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_536
LBB4_539:
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm1
LONG $0x08b17c83; BYTE $0x00 // cmp dword [rcx + 4*rsi + 8], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JE LBB4_540
LBB4_537:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm1
LONG $0x0cb17c83; BYTE $0x00 // cmp dword [rcx + 4*rsi + 12], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_533
LBB4_541:
LONG $0xc9570f66 // xorpd xmm1, xmm1
JMP LBB4_533
LBB4_547:
WORD $0xd689 // mov esi, edx
WORD $0xe683; BYTE $0xfe // and esi, -2
WORD $0xc031 // xor eax, eax
QUAD $0x0000012085100ff2 // movsd xmm0, qword 288[rbp] /* [rip + .LCPI4_13] */
QUAD $0x000001108d100ff2 // movsd xmm1, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_549
LBB4_548:
LONG $0x110f41f2; WORD $0xc05c; BYTE $0x08 // movsd qword [r8 + 8*rax + 8], xmm3
LONG $0x02c08348 // add rax, 2
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_120
LBB4_549:
LONG $0x00013c80 // cmp byte [rcx + rax], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JNE LBB4_550
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xd9280f66 // movapd xmm3, xmm1
JLE LBB4_554
LBB4_551:
LONG $0x110f41f2; WORD $0xc01c // movsd qword [r8 + 8*rax], xmm3
LONG $0x01017c80; BYTE $0x00 // cmp byte [rcx + rax + 1], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JNE LBB4_552
LBB4_555:
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_548
JMP LBB4_556
LBB4_550:
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_551
LBB4_554:
LONG $0xda280f66 // movapd xmm3, xmm2
LONG $0x110f41f2; WORD $0xc01c // movsd qword [r8 + 8*rax], xmm3
LONG $0x01017c80; BYTE $0x00 // cmp byte [rcx + rax + 1], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JE LBB4_555
LBB4_552:
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_548
LBB4_556:
LONG $0xda280f66 // movapd xmm3, xmm2
JMP LBB4_548
LBB4_557:
WORD $0xe283; BYTE $0xfc // and edx, -4
WORD $0xf631 // xor esi, esi
QUAD $0x0000011085100ff2 // movsd xmm0, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_559
LBB4_558:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x18 // movsd qword [r8 + 8*rsi + 24], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JE LBB4_130
LBB4_559:
LONG $0xf13c8348; BYTE $0x00 // cmp qword [rcx + 8*rsi], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_560
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf00c // movsd qword [r8 + 8*rsi], xmm1
LONG $0xf17c8348; WORD $0x0008 // cmp qword [rcx + 8*rsi + 8], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JE LBB4_564
LBB4_561:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm1
LONG $0xf17c8348; WORD $0x0010 // cmp qword [rcx + 8*rsi + 16], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_562
LBB4_565:
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm1
LONG $0xf17c8348; WORD $0x0018 // cmp qword [rcx + 8*rsi + 24], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_558
JMP LBB4_566
LBB4_560:
LONG $0x110f41f2; WORD $0xf00c // movsd qword [r8 + 8*rsi], xmm1
LONG $0xf17c8348; WORD $0x0008 // cmp qword [rcx + 8*rsi + 8], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_561
LBB4_564:
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm1
LONG $0xf17c8348; WORD $0x0010 // cmp qword [rcx + 8*rsi + 16], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JE LBB4_565
LBB4_562:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm1
LONG $0xf17c8348; WORD $0x0018 // cmp qword [rcx + 8*rsi + 24], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_558
LBB4_566:
LONG $0xc9570f66 // xorpd xmm1, xmm1
JMP LBB4_558
LBB4_567:
WORD $0xe283; BYTE $0xfc // and edx, -4
WORD $0xf631 // xor esi, esi
QUAD $0x0000011085100ff2 // movsd xmm0, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_569
LBB4_568:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x18 // movsd qword [r8 + 8*rsi + 24], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JE LBB4_142
LBB4_569:
LONG $0x713c8366; BYTE $0x00 // cmp word [rcx + 2*rsi], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_570
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf00c // movsd qword [r8 + 8*rsi], xmm1
LONG $0x717c8366; WORD $0x0002 // cmp word [rcx + 2*rsi + 2], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JE LBB4_574
LBB4_571:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm1
LONG $0x717c8366; WORD $0x0004 // cmp word [rcx + 2*rsi + 4], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_572
LBB4_575:
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm1
LONG $0x717c8366; WORD $0x0006 // cmp word [rcx + 2*rsi + 6], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_568
JMP LBB4_576
LBB4_570:
LONG $0x110f41f2; WORD $0xf00c // movsd qword [r8 + 8*rsi], xmm1
LONG $0x717c8366; WORD $0x0002 // cmp word [rcx + 2*rsi + 2], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_571
LBB4_574:
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm1
LONG $0x717c8366; WORD $0x0004 // cmp word [rcx + 2*rsi + 4], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JE LBB4_575
LBB4_572:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm1
LONG $0x717c8366; WORD $0x0006 // cmp word [rcx + 2*rsi + 6], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_568
LBB4_576:
LONG $0xc9570f66 // xorpd xmm1, xmm1
JMP LBB4_568
LBB4_577:
WORD $0xd689 // mov esi, edx
WORD $0xe683; BYTE $0xfe // and esi, -2
WORD $0xc031 // xor eax, eax
QUAD $0x0000012085100ff2 // movsd xmm0, qword 288[rbp] /* [rip + .LCPI4_13] */
QUAD $0x000001108d100ff2 // movsd xmm1, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_579
LBB4_578:
LONG $0x110f41f2; WORD $0xc05c; BYTE $0x08 // movsd qword [r8 + 8*rax + 8], xmm3
LONG $0x02c08348 // add rax, 2
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_154
LBB4_579:
LONG $0x413c8366; BYTE $0x00 // cmp word [rcx + 2*rax], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JNE LBB4_580
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xd9280f66 // movapd xmm3, xmm1
JLE LBB4_584
LBB4_581:
LONG $0x110f41f2; WORD $0xc01c // movsd qword [r8 + 8*rax], xmm3
LONG $0x417c8366; WORD $0x0002 // cmp word [rcx + 2*rax + 2], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JNE LBB4_582
LBB4_585:
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_578
JMP LBB4_586
LBB4_580:
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_581
LBB4_584:
LONG $0xda280f66 // movapd xmm3, xmm2
LONG $0x110f41f2; WORD $0xc01c // movsd qword [r8 + 8*rax], xmm3
LONG $0x417c8366; WORD $0x0002 // cmp word [rcx + 2*rax + 2], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JE LBB4_585
LBB4_582:
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_578
LBB4_586:
LONG $0xda280f66 // movapd xmm3, xmm2
JMP LBB4_578
LBB4_587:
WORD $0xd689 // mov esi, edx
WORD $0xe683; BYTE $0xfe // and esi, -2
WORD $0xc031 // xor eax, eax
QUAD $0x0000012085100ff2 // movsd xmm0, qword 288[rbp] /* [rip + .LCPI4_13] */
QUAD $0x000001108d100ff2 // movsd xmm1, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_589
LBB4_588:
LONG $0x110f41f2; WORD $0xc05c; BYTE $0x08 // movsd qword [r8 + 8*rax + 8], xmm3
LONG $0x02c08348 // add rax, 2
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_164
LBB4_589:
LONG $0xc13c8348; BYTE $0x00 // cmp qword [rcx + 8*rax], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JNE LBB4_590
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xd9280f66 // movapd xmm3, xmm1
JLE LBB4_594
LBB4_591:
LONG $0x110f41f2; WORD $0xc01c // movsd qword [r8 + 8*rax], xmm3
LONG $0xc17c8348; WORD $0x0008 // cmp qword [rcx + 8*rax + 8], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JNE LBB4_592
LBB4_595:
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_588
JMP LBB4_596
LBB4_590:
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_591
LBB4_594:
LONG $0xda280f66 // movapd xmm3, xmm2
LONG $0x110f41f2; WORD $0xc01c // movsd qword [r8 + 8*rax], xmm3
LONG $0xc17c8348; WORD $0x0008 // cmp qword [rcx + 8*rax + 8], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JE LBB4_595
LBB4_592:
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_588
LBB4_596:
LONG $0xda280f66 // movapd xmm3, xmm2
JMP LBB4_588
LBB4_597:
WORD $0xd689 // mov esi, edx
WORD $0xe683; BYTE $0xfe // and esi, -2
WORD $0xc031 // xor eax, eax
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
JMP LBB4_599
LBB4_598:
LONG $0x110f41f2; WORD $0xc04c; BYTE $0x08 // movsd qword [r8 + 8*rax + 8], xmm1
LONG $0x02c08348 // add rax, 2
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_174
LBB4_599:
LONG $0x14100ff3; BYTE $0x81 // movss xmm2, dword [rcx + 4*rax]
LONG $0xc9570f66 // xorpd xmm1, xmm1
WORD $0x2e0f; BYTE $0xc2 // ucomiss xmm0, xmm2
LONG $0xdb570f66 // xorpd xmm3, xmm3
JE LBB4_601
WORD $0x500f; BYTE $0xfa // movmskps edi, xmm2
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
LONG $0xd72a0ff3 // cvtsi2ss xmm2, edi
WORD $0x570f; BYTE $0xdb // xorps xmm3, xmm3
LONG $0xda5a0ff3 // cvtss2sd xmm3, xmm2
LBB4_601:
LONG $0x110f41f2; WORD $0xc01c // movsd qword [r8 + 8*rax], xmm3
LONG $0x54100ff3; WORD $0x0481 // movss xmm2, dword [rcx + 4*rax + 4]
WORD $0x2e0f; BYTE $0xc2 // ucomiss xmm0, xmm2
JE LBB4_598
WORD $0x500f; BYTE $0xfa // movmskps edi, xmm2
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0xcf2a0ff3 // cvtsi2ss xmm1, edi
LONG $0xc95a0ff3 // cvtss2sd xmm1, xmm1
JMP LBB4_598
LBB4_603:
WORD $0xe283; BYTE $0xfc // and edx, -4
WORD $0xf631 // xor esi, esi
QUAD $0x0000011085100ff2 // movsd xmm0, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_605
LBB4_604:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x18 // movsd qword [r8 + 8*rsi + 24], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JE LBB4_185
LBB4_605:
LONG $0x00313c80 // cmp byte [rcx + rsi], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_606
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf00c // movsd qword [r8 + 8*rsi], xmm1
LONG $0x01317c80; BYTE $0x00 // cmp byte [rcx + rsi + 1], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JE LBB4_610
LBB4_607:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm1
LONG $0x02317c80; BYTE $0x00 // cmp byte [rcx + rsi + 2], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_608
LBB4_611:
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm1
LONG $0x03317c80; BYTE $0x00 // cmp byte [rcx + rsi + 3], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_604
JMP LBB4_612
LBB4_606:
LONG $0x110f41f2; WORD $0xf00c // movsd qword [r8 + 8*rsi], xmm1
LONG $0x01317c80; BYTE $0x00 // cmp byte [rcx + rsi + 1], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_607
LBB4_610:
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x08 // movsd qword [r8 + 8*rsi + 8], xmm1
LONG $0x02317c80; BYTE $0x00 // cmp byte [rcx + rsi + 2], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JE LBB4_611
LBB4_608:
LONG $0x110f41f2; WORD $0xf04c; BYTE $0x10 // movsd qword [r8 + 8*rsi + 16], xmm1
LONG $0x03317c80; BYTE $0x00 // cmp byte [rcx + rsi + 3], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_604
LBB4_612:
LONG $0xc9570f66 // xorpd xmm1, xmm1
JMP LBB4_604
LBB4_613:
WORD $0xd689 // mov esi, edx
WORD $0xe683; BYTE $0xfe // and esi, -2
WORD $0xc031 // xor eax, eax
QUAD $0x0000012085100ff2 // movsd xmm0, qword 288[rbp] /* [rip + .LCPI4_13] */
QUAD $0x000001108d100ff2 // movsd xmm1, qword 272[rbp] /* [rip + .LCPI4_2] */
JMP LBB4_615
LBB4_614:
LONG $0x110f41f2; WORD $0xc05c; BYTE $0x08 // movsd qword [r8 + 8*rax + 8], xmm3
LONG $0x02c08348 // add rax, 2
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_197
LBB4_615:
LONG $0x00813c83 // cmp dword [rcx + 4*rax], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JNE LBB4_616
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xd9280f66 // movapd xmm3, xmm1
JLE LBB4_620
LBB4_617:
LONG $0x110f41f2; WORD $0xc01c // movsd qword [r8 + 8*rax], xmm3
LONG $0x04817c83; BYTE $0x00 // cmp dword [rcx + 4*rax + 4], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JNE LBB4_618
LBB4_621:
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_614
JMP LBB4_622
LBB4_616:
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_617
LBB4_620:
LONG $0xda280f66 // movapd xmm3, xmm2
LONG $0x110f41f2; WORD $0xc01c // movsd qword [r8 + 8*rax], xmm3
LONG $0x04817c83; BYTE $0x00 // cmp dword [rcx + 4*rax + 4], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JE LBB4_621
LBB4_618:
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_614
LBB4_622:
LONG $0xda280f66 // movapd xmm3, xmm2
JMP LBB4_614
LBB4_673:
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_999
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x00000090956f0f66 // movdqa xmm2, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_675:
LONG $0x1c7e0ff3; BYTE $0xb1 // movq xmm3, qword [rcx + 4*rsi]
LONG $0x647e0ff3; WORD $0x08b1 // movq xmm4, qword [rcx + 4*rsi + 8]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x35380f66; BYTE $0xdb // pmovzxdq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x35380f66; BYTE $0xe4 // pmovzxdq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf01c // movdqu oword [r8 + 8*rsi], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm4
LONG $0x5c7e0ff3; WORD $0x10b1 // movq xmm3, qword [rcx + 4*rsi + 16]
LONG $0x647e0ff3; WORD $0x18b1 // movq xmm4, qword [rcx + 4*rsi + 24]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x35380f66; BYTE $0xdb // pmovzxdq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x35380f66; BYTE $0xe4 // pmovzxdq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf05c; BYTE $0x20 // movdqu oword [r8 + 8*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x30 // movdqu oword [r8 + 8*rsi + 48], xmm4
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_675
JMP LBB4_1000
LBB4_676:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfe // and esi, -2
LONG $0xfe468d48 // lea rax, [rsi - 2]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
WORD $0xd149; BYTE $0xe9 // shr r9, 1
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1004
WORD $0x894d; BYTE $0xce // mov r14, r9
LONG $0xfee68349 // and r14, -2
WORD $0xf749; BYTE $0xde // neg r14
WORD $0xff31 // xor edi, edi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x55280f66; BYTE $0x10 // movapd xmm2, oword 16[rbp] /* [rip + .LCPI4_1] */
QUAD $0x000001189d100ff2 // movsd xmm3, qword 280[rbp] /* [rip + .LCPI4_6] */
LBB4_678:
LONG $0x24100f66; BYTE $0xf9 // movupd xmm4, oword [rcx + 8*rdi]
LONG $0xec280f66 // movapd xmm5, xmm4
LONG $0xe9540f66 // andpd xmm5, xmm1
LONG $0xea560f66 // orpd xmm5, xmm2
LONG $0xf5280f66 // movapd xmm6, xmm5
LONG $0xf35c0ff2 // subsd xmm6, xmm3
LONG $0x2c0f48f2; BYTE $0xde // cvttsd2si rbx, xmm6
WORD $0x314c; BYTE $0xdb // xor rbx, r11
LONG $0x2c0f48f2; BYTE $0xd5 // cvttsd2si rdx, xmm5
LONG $0xeb2e0f66 // ucomisd xmm5, xmm3
LONG $0xd3430f48 // cmovae rdx, rbx
LONG $0xed700f66; BYTE $0xee // pshufd xmm5, xmm5, 238
LONG $0xf56f0f66 // movdqa xmm6, xmm5
LONG $0xf35c0ff2 // subsd xmm6, xmm3
LONG $0x2c0f48f2; BYTE $0xde // cvttsd2si rbx, xmm6
WORD $0x314c; BYTE $0xdb // xor rbx, r11
LONG $0x2c0f48f2; BYTE $0xc5 // cvttsd2si rax, xmm5
LONG $0xeb2e0f66 // ucomisd xmm5, xmm3
LONG $0xc3430f48 // cmovae rax, rbx
LONG $0x6e0f4866; BYTE $0xea // movq xmm5, rdx
LONG $0x6e0f4866; BYTE $0xf0 // movq xmm6, rax
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0xe0c20f66; BYTE $0x04 // cmpneqpd xmm4, xmm0
LONG $0xe5540f66 // andpd xmm4, xmm5
LONG $0x110f4166; WORD $0xf824 // movupd oword [r8 + 8*rdi], xmm4
LONG $0x64100f66; WORD $0x10f9 // movupd xmm4, oword [rcx + 8*rdi + 16]
LONG $0xec280f66 // movapd xmm5, xmm4
LONG $0xe9540f66 // andpd xmm5, xmm1
LONG $0xea560f66 // orpd xmm5, xmm2
LONG $0xf5280f66 // movapd xmm6, xmm5
LONG $0xf35c0ff2 // subsd xmm6, xmm3
LONG $0x2c0f48f2; BYTE $0xc6 // cvttsd2si rax, xmm6
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2c0f48f2; BYTE $0xd5 // cvttsd2si rdx, xmm5
LONG $0xeb2e0f66 // ucomisd xmm5, xmm3
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0xed700f66; BYTE $0xee // pshufd xmm5, xmm5, 238
LONG $0xf56f0f66 // movdqa xmm6, xmm5
LONG $0xf35c0ff2 // subsd xmm6, xmm3
LONG $0x2c0f48f2; BYTE $0xc6 // cvttsd2si rax, xmm6
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2c0f48f2; BYTE $0xdd // cvttsd2si rbx, xmm5
LONG $0xeb2e0f66 // ucomisd xmm5, xmm3
LONG $0xd8430f48 // cmovae rbx, rax
LONG $0x6e0f4866; BYTE $0xea // movq xmm5, rdx
LONG $0x6e0f4866; BYTE $0xf3 // movq xmm6, rbx
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0xe0c20f66; BYTE $0x04 // cmpneqpd xmm4, xmm0
LONG $0xe5540f66 // andpd xmm4, xmm5
LONG $0x110f4166; WORD $0xf864; BYTE $0x10 // movupd oword [r8 + 8*rdi + 16], xmm4
LONG $0x04c78348 // add rdi, 4
LONG $0x02c68349 // add r14, 2
JNE LBB4_678
JMP LBB4_1005
LBB4_689:
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_1010
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x00000090956f0f66 // movdqa xmm2, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_691:
LONG $0x1c6e0f66; BYTE $0x71 // movd xmm3, dword [rcx + 2*rsi]
LONG $0x646e0f66; WORD $0x0471 // movd xmm4, dword [rcx + 2*rsi + 4]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x34380f66; BYTE $0xdb // pmovzxwq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x34380f66; BYTE $0xe4 // pmovzxwq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf01c // movdqu oword [r8 + 8*rsi], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm4
LONG $0x5c6e0f66; WORD $0x0871 // movd xmm3, dword [rcx + 2*rsi + 8]
LONG $0x646e0f66; WORD $0x0c71 // movd xmm4, dword [rcx + 2*rsi + 12]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x34380f66; BYTE $0xdb // pmovzxwq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x34380f66; BYTE $0xe4 // pmovzxwq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf05c; BYTE $0x20 // movdqu oword [r8 + 8*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x30 // movdqu oword [r8 + 8*rsi + 48], xmm4
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_691
JMP LBB4_1011
LBB4_692:
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_1015
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_694:
LONG $0x2c6e0f66; BYTE $0x71 // movd xmm5, dword [rcx + 2*rsi]
LONG $0x746e0f66; WORD $0x0471 // movd xmm6, dword [rcx + 2*rsi + 4]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0x24380f66; BYTE $0xc0 // pmovsxwq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0x24380f66; BYTE $0xc9 // pmovsxwq xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x24380f66; BYTE $0xed // pmovsxwq xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x24380f66; BYTE $0xf6 // pmovsxwq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf02c // movupd oword [r8 + 8*rsi], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm6
LONG $0x6c6e0f66; WORD $0x0871 // movd xmm5, dword [rcx + 2*rsi + 8]
LONG $0x746e0f66; WORD $0x0c71 // movd xmm6, dword [rcx + 2*rsi + 12]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0x24380f66; BYTE $0xc0 // pmovsxwq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0x24380f66; BYTE $0xc9 // pmovsxwq xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x24380f66; BYTE $0xed // pmovsxwq xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x24380f66; BYTE $0xf6 // pmovsxwq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf06c; BYTE $0x20 // movupd oword [r8 + 8*rsi + 32], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x30 // movupd oword [r8 + 8*rsi + 48], xmm6
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_694
JMP LBB4_1016
LBB4_700:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xfe // and esi, -2
WORD $0xc031 // xor eax, eax
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
QUAD $0x0000012c8d100ff3 // movss xmm1, dword 300[rbp] /* [rip + .LCPI4_9] */
QUAD $0x000000000000b949; WORD $0x8000 // mov r9, -9223372036854775808
JMP LBB4_703
LBB4_701:
WORD $0x500f; BYTE $0xd2 // movmskps edx, xmm2
WORD $0xe283; BYTE $0x01 // and edx, 1
WORD $0xdaf7 // neg edx
WORD $0xca83; BYTE $0x01 // or edx, 1
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
LONG $0xd22a0ff3 // cvtsi2ss xmm2, edx
WORD $0x280f; BYTE $0xda // movaps xmm3, xmm2
LONG $0xd95c0ff3 // subss xmm3, xmm1
LONG $0x2c0f48f3; BYTE $0xfb // cvttss2si rdi, xmm3
WORD $0x314c; BYTE $0xcf // xor rdi, r9
LONG $0x2c0f48f3; BYTE $0xd2 // cvttss2si rdx, xmm2
WORD $0x2e0f; BYTE $0xd1 // ucomiss 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_290
LBB4_703:
LONG $0x14100ff3; BYTE $0x81 // movss xmm2, dword [rcx + 4*rax]
WORD $0x2e0f; BYTE $0xc2 // ucomiss xmm0, xmm2
JNE LBB4_705
WORD $0xd231 // xor edx, edx
JMP LBB4_706
LBB4_705:
WORD $0x500f; BYTE $0xd2 // movmskps edx, xmm2
WORD $0xe283; BYTE $0x01 // and edx, 1
WORD $0xdaf7 // neg edx
WORD $0xca83; BYTE $0x01 // or edx, 1
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
LONG $0xd22a0ff3 // cvtsi2ss xmm2, edx
WORD $0x280f; BYTE $0xda // movaps xmm3, xmm2
LONG $0xd95c0ff3 // subss xmm3, xmm1
LONG $0x2c0f48f3; BYTE $0xfb // cvttss2si rdi, xmm3
WORD $0x314c; BYTE $0xcf // xor rdi, r9
LONG $0x2c0f48f3; BYTE $0xd2 // cvttss2si rdx, xmm2
WORD $0x2e0f; BYTE $0xd1 // ucomiss xmm2, xmm1
LONG $0xd7430f48 // cmovae rdx, rdi
LBB4_706:
LONG $0xc0148949 // mov qword [r8 + 8*rax], rdx
LONG $0x54100ff3; WORD $0x0481 // movss xmm2, dword [rcx + 4*rax + 4]
WORD $0x2e0f; BYTE $0xc2 // ucomiss xmm0, xmm2
JNE LBB4_701
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_703
LBB4_290:
LONG $0x01c2f641 // test r10b, 1
JE LBB4_1655
LONG $0x04100ff3; BYTE $0x81 // movss xmm0, dword [rcx + 4*rax]
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
WORD $0x2e0f; BYTE $0xc8 // ucomiss xmm1, xmm0
JNE LBB4_993
WORD $0xc931 // xor ecx, ecx
LONG $0xc00c8949 // mov qword [r8 + 8*rax], rcx
JMP LBB4_1655
LBB4_713:
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_1021
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_715:
LONG $0x2c7e0ff3; BYTE $0xb1 // movq xmm5, qword [rcx + 4*rsi]
LONG $0x747e0ff3; WORD $0x08b1 // movq xmm6, qword [rcx + 4*rsi + 8]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0x25380f66; BYTE $0xc0 // pmovsxdq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0x25380f66; BYTE $0xc9 // pmovsxdq xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x25380f66; BYTE $0xed // pmovsxdq xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x25380f66; BYTE $0xf6 // pmovsxdq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf02c // movupd oword [r8 + 8*rsi], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm6
LONG $0x6c7e0ff3; WORD $0x10b1 // movq xmm5, qword [rcx + 4*rsi + 16]
LONG $0x747e0ff3; WORD $0x18b1 // movq xmm6, qword [rcx + 4*rsi + 24]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0x25380f66; BYTE $0xc0 // pmovsxdq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0x25380f66; BYTE $0xc9 // pmovsxdq xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x25380f66; BYTE $0xed // pmovsxdq xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x25380f66; BYTE $0xf6 // pmovsxdq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf06c; BYTE $0x20 // movupd oword [r8 + 8*rsi + 32], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x30 // movupd oword [r8 + 8*rsi + 48], xmm6
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_715
JMP LBB4_1022
LBB4_716:
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_1137
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0x556f0f66; BYTE $0x70 // movdqa xmm2, oword 112[rbp] /* [rip + .LCPI4_11] */
LBB4_718:
LONG $0x1c6f0ff3; BYTE $0xb1 // movdqu xmm3, oword [rcx + 4*rsi]
LONG $0x646f0ff3; WORD $0x10b1 // movdqu xmm4, oword [rcx + 4*rsi + 16]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0xdc6c0f66 // punpcklqdq xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x701c // movdqu oword [r8 + 2*rsi], xmm3
LONG $0x5c6f0ff3; WORD $0x20b1 // movdqu xmm3, oword [rcx + 4*rsi + 32]
LONG $0x646f0ff3; WORD $0x30b1 // movdqu xmm4, oword [rcx + 4*rsi + 48]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0xdc6c0f66 // punpcklqdq xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x705c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm3
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_718
JMP LBB4_1138
LBB4_719:
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_1142
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0x556f0f66; BYTE $0x70 // movdqa xmm2, oword 112[rbp] /* [rip + .LCPI4_11] */
LBB4_721:
LONG $0x1c6f0ff3; BYTE $0xb1 // movdqu xmm3, oword [rcx + 4*rsi]
LONG $0x646f0ff3; WORD $0x10b1 // movdqu xmm4, oword [rcx + 4*rsi + 16]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0xdc6c0f66 // punpcklqdq xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x701c // movdqu oword [r8 + 2*rsi], xmm3
LONG $0x5c6f0ff3; WORD $0x20b1 // movdqu xmm3, oword [rcx + 4*rsi + 32]
LONG $0x646f0ff3; WORD $0x30b1 // movdqu xmm4, oword [rcx + 4*rsi + 48]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0xdc6c0f66 // punpcklqdq xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x705c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm3
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_721
JMP LBB4_1143
LBB4_722:
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_1147
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0x5d280f66; BYTE $0x00 // movapd xmm3, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x65280f66; BYTE $0x10 // movapd xmm4, oword 16[rbp] /* [rip + .LCPI4_1] */
LBB4_724:
LONG $0x2c100f66; BYTE $0xf9 // movupd xmm5, oword [rcx + 8*rdi]
LONG $0x74100f66; WORD $0x10f9 // movupd xmm6, oword [rcx + 8*rdi + 16]
LONG $0xc5280f66 // movapd xmm0, xmm5
LONG $0xc2c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce280f66 // movapd xmm1, xmm6
LONG $0xcac20f66; BYTE $0x00 // cmpeqpd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xeb540f66 // andpd xmm5, xmm3
LONG $0xec560f66 // orpd xmm5, xmm4
LONG $0xf3540f66 // andpd xmm6, xmm3
LONG $0xf4560f66 // orpd xmm6, xmm4
LONG $0xede60f66 // cvttpd2dq xmm5, xmm5
LONG $0xed700ff2; BYTE $0xe8 // pshuflw xmm5, xmm5, 232
LONG $0xf6e60f66 // cvttpd2dq xmm6, xmm6
LONG $0xf6700ff2; BYTE $0xe8 // pshuflw xmm6, xmm6, 232
LONG $0x10380f66; BYTE $0xea // pblendvb xmm5, xmm2, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf2 // pblendvb xmm6, xmm2, xmm0
LONG $0x7e0f4166; WORD $0x782c // movd dword [r8 + 2*rdi], xmm5
LONG $0x7e0f4166; WORD $0x7874; BYTE $0x04 // movd dword [r8 + 2*rdi + 4], xmm6
LONG $0x6c100f66; WORD $0x20f9 // movupd xmm5, oword [rcx + 8*rdi + 32]
LONG $0x74100f66; WORD $0x30f9 // movupd xmm6, oword [rcx + 8*rdi + 48]
LONG $0xc5280f66 // movapd xmm0, xmm5
LONG $0xc2c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce280f66 // movapd xmm1, xmm6
LONG $0xcac20f66; BYTE $0x00 // cmpeqpd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xeb540f66 // andpd xmm5, xmm3
LONG $0xec560f66 // orpd xmm5, xmm4
LONG $0xf3540f66 // andpd xmm6, xmm3
LONG $0xf4560f66 // orpd xmm6, xmm4
LONG $0xede60f66 // cvttpd2dq xmm5, xmm5
LONG $0xed700ff2; BYTE $0xe8 // pshuflw xmm5, xmm5, 232
LONG $0xf6e60f66 // cvttpd2dq xmm6, xmm6
LONG $0xf6700ff2; BYTE $0xe8 // pshuflw xmm6, xmm6, 232
LONG $0x10380f66; BYTE $0xea // pblendvb xmm5, xmm2, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf2 // pblendvb xmm6, xmm2, xmm0
LONG $0x7e0f4166; WORD $0x786c; BYTE $0x08 // movd dword [r8 + 2*rdi + 8], xmm5
LONG $0x7e0f4166; WORD $0x7874; BYTE $0x0c // movd dword [r8 + 2*rdi + 12], xmm6
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB4_724
JMP LBB4_1148
LBB4_725:
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_1153
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0x5d280f66; BYTE $0x00 // movapd xmm3, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x65280f66; BYTE $0x10 // movapd xmm4, oword 16[rbp] /* [rip + .LCPI4_1] */
LBB4_727:
LONG $0x2c100f66; BYTE $0xf9 // movupd xmm5, oword [rcx + 8*rdi]
LONG $0x74100f66; WORD $0x10f9 // movupd xmm6, oword [rcx + 8*rdi + 16]
LONG $0xc5280f66 // movapd xmm0, xmm5
LONG $0xc2c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce280f66 // movapd xmm1, xmm6
LONG $0xcac20f66; BYTE $0x00 // cmpeqpd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xeb540f66 // andpd xmm5, xmm3
LONG $0xec560f66 // orpd xmm5, xmm4
LONG $0xf3540f66 // andpd xmm6, xmm3
LONG $0xf4560f66 // orpd xmm6, xmm4
LONG $0xede60f66 // cvttpd2dq xmm5, xmm5
LONG $0xed700ff2; BYTE $0xe8 // pshuflw xmm5, xmm5, 232
LONG $0xf6e60f66 // cvttpd2dq xmm6, xmm6
LONG $0xf6700ff2; BYTE $0xe8 // pshuflw xmm6, xmm6, 232
LONG $0x10380f66; BYTE $0xea // pblendvb xmm5, xmm2, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf2 // pblendvb xmm6, xmm2, xmm0
LONG $0x7e0f4166; WORD $0x782c // movd dword [r8 + 2*rdi], xmm5
LONG $0x7e0f4166; WORD $0x7874; BYTE $0x04 // movd dword [r8 + 2*rdi + 4], xmm6
LONG $0x6c100f66; WORD $0x20f9 // movupd xmm5, oword [rcx + 8*rdi + 32]
LONG $0x74100f66; WORD $0x30f9 // movupd xmm6, oword [rcx + 8*rdi + 48]
LONG $0xc5280f66 // movapd xmm0, xmm5
LONG $0xc2c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce280f66 // movapd xmm1, xmm6
LONG $0xcac20f66; BYTE $0x00 // cmpeqpd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xeb540f66 // andpd xmm5, xmm3
LONG $0xec560f66 // orpd xmm5, xmm4
LONG $0xf3540f66 // andpd xmm6, xmm3
LONG $0xf4560f66 // orpd xmm6, xmm4
LONG $0xede60f66 // cvttpd2dq xmm5, xmm5
LONG $0xed700ff2; BYTE $0xe8 // pshuflw xmm5, xmm5, 232
LONG $0xf6e60f66 // cvttpd2dq xmm6, xmm6
LONG $0xf6700ff2; BYTE $0xe8 // pshuflw xmm6, xmm6, 232
LONG $0x10380f66; BYTE $0xea // pblendvb xmm5, xmm2, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf2 // pblendvb xmm6, xmm2, xmm0
LONG $0x7e0f4166; WORD $0x786c; BYTE $0x08 // movd dword [r8 + 2*rdi + 8], xmm5
LONG $0x7e0f4166; WORD $0x7874; BYTE $0x0c // movd dword [r8 + 2*rdi + 12], xmm6
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB4_727
JMP LBB4_1154
LBB4_738:
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_1027
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x000000b0956f0f66 // movdqa xmm2, oword 176[rbp] /* [rip + .LCPI4_17] */
LBB4_740:
LONG $0x1c6f0ff3; BYTE $0xf1 // movdqu xmm3, oword [rcx + 8*rsi]
LONG $0x646f0ff3; WORD $0x10f1 // movdqu xmm4, oword [rcx + 8*rsi + 16]
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0x29380f66; BYTE $0xe0 // pcmpeqq xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7e0f4166; WORD $0x701c // movd dword [r8 + 2*rsi], xmm3
LONG $0x7e0f4166; WORD $0x7064; BYTE $0x04 // movd dword [r8 + 2*rsi + 4], xmm4
LONG $0x5c6f0ff3; WORD $0x20f1 // movdqu xmm3, oword [rcx + 8*rsi + 32]
LONG $0x646f0ff3; WORD $0x30f1 // movdqu xmm4, oword [rcx + 8*rsi + 48]
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0x29380f66; BYTE $0xe0 // pcmpeqq xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7e0f4166; WORD $0x705c; BYTE $0x08 // movd dword [r8 + 2*rsi + 8], xmm3
LONG $0x7e0f4166; WORD $0x7064; BYTE $0x0c // movd dword [r8 + 2*rsi + 12], xmm4
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_740
JMP LBB4_1028
LBB4_741:
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_1032
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x000000b0956f0f66 // movdqa xmm2, oword 176[rbp] /* [rip + .LCPI4_17] */
LBB4_743:
LONG $0x1c6f0ff3; BYTE $0xf1 // movdqu xmm3, oword [rcx + 8*rsi]
LONG $0x646f0ff3; WORD $0x10f1 // movdqu xmm4, oword [rcx + 8*rsi + 16]
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0x29380f66; BYTE $0xe0 // pcmpeqq xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7e0f4166; WORD $0x701c // movd dword [r8 + 2*rsi], xmm3
LONG $0x7e0f4166; WORD $0x7064; BYTE $0x04 // movd dword [r8 + 2*rsi + 4], xmm4
LONG $0x5c6f0ff3; WORD $0x20f1 // movdqu xmm3, oword [rcx + 8*rsi + 32]
LONG $0x646f0ff3; WORD $0x30f1 // movdqu xmm4, oword [rcx + 8*rsi + 48]
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0x29380f66; BYTE $0xe0 // pcmpeqq xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7e0f4166; WORD $0x705c; BYTE $0x08 // movd dword [r8 + 2*rsi + 8], xmm3
LONG $0x7e0f4166; WORD $0x7064; BYTE $0x0c // movd dword [r8 + 2*rsi + 12], xmm4
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_743
JMP LBB4_1033
LBB4_764:
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_1037
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x000000b0a56f0f66 // movdqa xmm4, oword 176[rbp] /* [rip + .LCPI4_17] */
LBB4_766:
LONG $0x2c6f0ff3; BYTE $0xf1 // movdqu xmm5, oword [rcx + 8*rsi]
LONG $0x746f0ff3; WORD $0x10f1 // movdqu xmm6, oword [rcx + 8*rsi + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x702c // movd dword [r8 + 2*rsi], xmm5
LONG $0x7e0f4166; WORD $0x7074; BYTE $0x04 // movd dword [r8 + 2*rsi + 4], xmm6
LONG $0x6c6f0ff3; WORD $0x20f1 // movdqu xmm5, oword [rcx + 8*rsi + 32]
LONG $0x746f0ff3; WORD $0x30f1 // movdqu xmm6, oword [rcx + 8*rsi + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x706c; BYTE $0x08 // movd dword [r8 + 2*rsi + 8], xmm5
LONG $0x7e0f4166; WORD $0x7074; BYTE $0x0c // movd dword [r8 + 2*rsi + 12], xmm6
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_766
JMP LBB4_1038
LBB4_767:
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_1159
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x000000b0a56f0f66 // movdqa xmm4, oword 176[rbp] /* [rip + .LCPI4_17] */
LBB4_769:
LONG $0x2c6f0ff3; BYTE $0xf1 // movdqu xmm5, oword [rcx + 8*rsi]
LONG $0x746f0ff3; WORD $0x10f1 // movdqu xmm6, oword [rcx + 8*rsi + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x702c // movd dword [r8 + 2*rsi], xmm5
LONG $0x7e0f4166; WORD $0x7074; BYTE $0x04 // movd dword [r8 + 2*rsi + 4], xmm6
LONG $0x6c6f0ff3; WORD $0x20f1 // movdqu xmm5, oword [rcx + 8*rsi + 32]
LONG $0x746f0ff3; WORD $0x30f1 // movdqu xmm6, oword [rcx + 8*rsi + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x706c; BYTE $0x08 // movd dword [r8 + 2*rsi + 8], xmm5
LONG $0x7e0f4166; WORD $0x7074; BYTE $0x0c // movd dword [r8 + 2*rsi + 12], xmm6
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_769
JMP LBB4_1160
LBB4_770:
WORD $0xc689 // mov esi, eax
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB4_1165
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0x760f4566; BYTE $0xc0 // pcmpeqd xmm8, xmm8
LONG $0x756f0f66; BYTE $0x70 // movdqa xmm6, oword 112[rbp] /* [rip + .LCPI4_11] */
LBB4_772:
LONG $0xb904100f // movups xmm0, oword [rcx + 4*rdi]
LONG $0xb94c100f; BYTE $0x10 // movups xmm1, oword [rcx + 4*rdi + 16]
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0x660f4166; BYTE $0xc0 // pcmpgtd xmm0, xmm8
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0x660f4166; BYTE $0xc8 // pcmpgtd xmm1, xmm8
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xfd6c0f66 // punpcklqdq xmm7, xmm5
LONG $0x7f0f41f3; WORD $0x783c // movdqu oword [r8 + 2*rdi], xmm7
LONG $0xb944100f; BYTE $0x20 // movups xmm0, oword [rcx + 4*rdi + 32]
LONG $0xb94c100f; BYTE $0x30 // movups xmm1, oword [rcx + 4*rdi + 48]
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0x660f4166; BYTE $0xc0 // pcmpgtd xmm0, xmm8
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0x660f4166; BYTE $0xc8 // pcmpgtd xmm1, xmm8
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0xef6c0f66 // punpcklqdq xmm5, xmm7
LONG $0x7f0f41f3; WORD $0x786c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm5
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB4_772
JMP LBB4_1166
LBB4_773:
WORD $0xc689 // mov esi, eax
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8568d48 // lea rdx, [rsi - 8]
WORD $0x8949; BYTE $0xd1 // mov r9, rdx
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xd2 // test rdx, rdx
JE LBB4_1171
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0x760f4566; BYTE $0xc0 // pcmpeqd xmm8, xmm8
LONG $0x756f0f66; BYTE $0x70 // movdqa xmm6, oword 112[rbp] /* [rip + .LCPI4_11] */
LBB4_775:
LONG $0xb904100f // movups xmm0, oword [rcx + 4*rdi]
LONG $0xb94c100f; BYTE $0x10 // movups xmm1, oword [rcx + 4*rdi + 16]
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0x660f4166; BYTE $0xc0 // pcmpgtd xmm0, xmm8
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0x660f4166; BYTE $0xc8 // pcmpgtd xmm1, xmm8
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xfd6c0f66 // punpcklqdq xmm7, xmm5
LONG $0x7f0f41f3; WORD $0x783c // movdqu oword [r8 + 2*rdi], xmm7
LONG $0xb944100f; BYTE $0x20 // movups xmm0, oword [rcx + 4*rdi + 32]
LONG $0xb94c100f; BYTE $0x30 // movups xmm1, oword [rcx + 4*rdi + 48]
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0x660f4166; BYTE $0xc0 // pcmpgtd xmm0, xmm8
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0x660f4166; BYTE $0xc8 // pcmpgtd xmm1, xmm8
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0xef6c0f66 // punpcklqdq xmm5, xmm7
LONG $0x7f0f41f3; WORD $0x786c; BYTE $0x10 // movdqu oword [r8 + 2*rdi + 16], xmm5
LONG $0x10c78348 // add rdi, 16
LONG $0x02c28348 // add rdx, 2
JNE LBB4_775
JMP LBB4_1172
LBB4_786:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1043
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x656f0f66; BYTE $0x70 // movdqa xmm4, oword 112[rbp] /* [rip + .LCPI4_11] */
LBB4_788:
LONG $0x2c6f0ff3; BYTE $0xb1 // movdqu xmm5, oword [rcx + 4*rsi]
LONG $0x746f0ff3; WORD $0x10b1 // movdqu xmm6, oword [rcx + 4*rsi + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x702c // movdqu oword [r8 + 2*rsi], xmm5
LONG $0x6c6f0ff3; WORD $0x20b1 // movdqu xmm5, oword [rcx + 4*rsi + 32]
LONG $0x746f0ff3; WORD $0x30b1 // movdqu xmm6, oword [rcx + 4*rsi + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x706c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm5
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_788
JMP LBB4_1044
LBB4_789:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1049
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x656f0f66; BYTE $0x70 // movdqa xmm4, oword 112[rbp] /* [rip + .LCPI4_11] */
LBB4_791:
LONG $0x2c6f0ff3; BYTE $0xb1 // movdqu xmm5, oword [rcx + 4*rsi]
LONG $0x746f0ff3; WORD $0x10b1 // movdqu xmm6, oword [rcx + 4*rsi + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x702c // movdqu oword [r8 + 2*rsi], xmm5
LONG $0x6c6f0ff3; WORD $0x20b1 // movdqu xmm5, oword [rcx + 4*rsi + 32]
LONG $0x746f0ff3; WORD $0x30b1 // movdqu xmm6, oword [rcx + 4*rsi + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x706c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm5
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_791
JMP LBB4_1050
LBB4_792:
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_1177
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x00000090956f0f66 // movdqa xmm2, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_794:
LONG $0x1c7e0ff3; BYTE $0xb1 // movq xmm3, qword [rcx + 4*rsi]
LONG $0x647e0ff3; WORD $0x08b1 // movq xmm4, qword [rcx + 4*rsi + 8]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x35380f66; BYTE $0xdb // pmovzxdq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x35380f66; BYTE $0xe4 // pmovzxdq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf01c // movdqu oword [r8 + 8*rsi], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm4
LONG $0x5c7e0ff3; WORD $0x10b1 // movq xmm3, qword [rcx + 4*rsi + 16]
LONG $0x647e0ff3; WORD $0x18b1 // movq xmm4, qword [rcx + 4*rsi + 24]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x35380f66; BYTE $0xdb // pmovzxdq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x35380f66; BYTE $0xe4 // pmovzxdq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf05c; BYTE $0x20 // movdqu oword [r8 + 8*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x30 // movdqu oword [r8 + 8*rsi + 48], xmm4
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_794
JMP LBB4_1178
LBB4_795:
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_1182
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
QUAD $0x000000d08d6f0f66 // movdqa xmm1, oword 208[rbp] /* [rip + .LCPI4_19] */
LBB4_797:
LONG $0x146f0ff3; BYTE $0xb1 // movdqu xmm2, oword [rcx + 4*rsi]
LONG $0x5c6f0ff3; WORD $0x10b1 // movdqu xmm3, oword [rcx + 4*rsi + 16]
LONG $0xd0760f66 // pcmpeqd xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0xb014 // movdqu oword [r8 + 4*rsi], xmm2
LONG $0x7f0f41f3; WORD $0xb05c; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm3
LONG $0x546f0ff3; WORD $0x20b1 // movdqu xmm2, oword [rcx + 4*rsi + 32]
LONG $0x5c6f0ff3; WORD $0x30b1 // movdqu xmm3, oword [rcx + 4*rsi + 48]
LONG $0xd0760f66 // pcmpeqd xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0xb054; BYTE $0x20 // movdqu oword [r8 + 4*rsi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xb05c; BYTE $0x30 // movdqu oword [r8 + 4*rsi + 48], xmm3
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_797
JMP LBB4_1183
LBB4_798:
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_1190
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x55280f66; BYTE $0x10 // movapd xmm2, oword 16[rbp] /* [rip + .LCPI4_1] */
LBB4_800:
LONG $0x1c100f66; BYTE $0xf1 // movupd xmm3, oword [rcx + 8*rsi]
LONG $0x64100f66; WORD $0x10f1 // movupd xmm4, oword [rcx + 8*rsi + 16]
LONG $0xeb280f66 // movapd xmm5, xmm3
LONG $0xe9540f66 // andpd xmm5, xmm1
LONG $0xea560f66 // orpd xmm5, xmm2
LONG $0xf4280f66 // movapd xmm6, xmm4
LONG $0xf1540f66 // andpd xmm6, xmm1
LONG $0xf2560f66 // orpd xmm6, xmm2
LONG $0x2c0f48f2; BYTE $0xdd // cvttsd2si rbx, xmm5
LONG $0x6e0f4866; BYTE $0xfb // movq xmm7, rbx
LONG $0xed700f66; BYTE $0xee // pshufd xmm5, xmm5, 238
LONG $0x2c0f48f2; BYTE $0xdd // cvttsd2si rbx, xmm5
LONG $0x6e0f4866; BYTE $0xeb // movq xmm5, rbx
LONG $0xfd6c0f66 // punpcklqdq xmm7, xmm5
LONG $0x2c0f48f2; BYTE $0xde // cvttsd2si rbx, xmm6
LONG $0x6e0f4866; BYTE $0xeb // movq xmm5, rbx
LONG $0xf6700f66; BYTE $0xee // pshufd xmm6, xmm6, 238
LONG $0x2c0f48f2; BYTE $0xde // cvttsd2si rbx, xmm6
LONG $0x6e0f4866; BYTE $0xf3 // movq xmm6, rbx
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0xd8c20f66; BYTE $0x04 // cmpneqpd xmm3, xmm0
LONG $0xdf540f66 // andpd xmm3, xmm7
LONG $0xe0c20f66; BYTE $0x04 // cmpneqpd xmm4, xmm0
LONG $0xe5540f66 // andpd xmm4, xmm5
LONG $0x110f4166; WORD $0xf01c // movupd oword [r8 + 8*rsi], xmm3
LONG $0x110f4166; WORD $0xf064; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm4
LONG $0x5c100f66; WORD $0x20f1 // movupd xmm3, oword [rcx + 8*rsi + 32]
LONG $0x64100f66; WORD $0x30f1 // movupd xmm4, oword [rcx + 8*rsi + 48]
LONG $0xeb280f66 // movapd xmm5, xmm3
LONG $0xe9540f66 // andpd xmm5, xmm1
LONG $0xea560f66 // orpd xmm5, xmm2
LONG $0xf4280f66 // movapd xmm6, xmm4
LONG $0xf1540f66 // andpd xmm6, xmm1
LONG $0xf2560f66 // orpd xmm6, xmm2
LONG $0x2c0f48f2; BYTE $0xdd // cvttsd2si rbx, xmm5
LONG $0x6e0f4866; BYTE $0xfb // movq xmm7, rbx
LONG $0xed700f66; BYTE $0xee // pshufd xmm5, xmm5, 238
LONG $0x2c0f48f2; BYTE $0xdd // cvttsd2si rbx, xmm5
LONG $0x6e0f4866; BYTE $0xeb // movq xmm5, rbx
LONG $0xfd6c0f66 // punpcklqdq xmm7, xmm5
LONG $0x2c0f48f2; BYTE $0xde // cvttsd2si rbx, xmm6
LONG $0x6e0f4866; BYTE $0xeb // movq xmm5, rbx
LONG $0xf6700f66; BYTE $0xee // pshufd xmm6, xmm6, 238
LONG $0x2c0f48f2; BYTE $0xde // cvttsd2si rbx, xmm6
LONG $0x6e0f4866; BYTE $0xf3 // movq xmm6, rbx
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0xd8c20f66; BYTE $0x04 // cmpneqpd xmm3, xmm0
LONG $0xdf540f66 // andpd xmm3, xmm7
LONG $0xe0c20f66; BYTE $0x04 // cmpneqpd xmm4, xmm0
LONG $0xe5540f66 // andpd xmm4, xmm5
LONG $0x110f4166; WORD $0xf05c; BYTE $0x20 // movupd oword [r8 + 8*rsi + 32], xmm3
LONG $0x110f4166; WORD $0xf064; BYTE $0x30 // movupd oword [r8 + 8*rsi + 48], xmm4
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_800
JMP LBB4_1191
LBB4_801:
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_1196
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0x570f4566; BYTE $0xc0 // xorpd xmm8, xmm8
LONG $0x4d5a0f66; BYTE $0x10 // cvtpd2ps xmm1, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0x4d280f44; BYTE $0x20 // movaps xmm9, oword 32[rbp] /* [rip + .LCPI4_3] */
LONG $0xd9160ff3 // movshdup xmm3, xmm1
LONG $0xd9540f41 // andps xmm3, xmm9
LONG $0xc9540f41 // andps xmm1, xmm9
LBB4_803:
LONG $0x24100f66; BYTE $0xf1 // movupd xmm4, oword [rcx + 8*rsi]
LONG $0x74100f66; WORD $0x10f1 // movupd xmm6, oword [rcx + 8*rsi + 16]
WORD $0x570f; BYTE $0xed // xorps xmm5, xmm5
LONG $0xec5a0ff2 // cvtsd2ss xmm5, xmm4
LONG $0xc20f4166; WORD $0x00e0 // cmpeqpd xmm4, xmm8
LONG $0xe8e4c60f // shufps xmm4, xmm4, 232
WORD $0x570f; BYTE $0xff // xorps xmm7, xmm7
LONG $0xfe5a0ff2 // cvtsd2ss xmm7, xmm6
LONG $0xc20f4166; WORD $0x00f0 // cmpeqpd xmm6, xmm8
LONG $0xe8f6c60f // shufps xmm6, xmm6, 232
LONG $0x44100ff2; WORD $0x08f1 // movsd xmm0, qword [rcx + 8*rsi + 8]
LONG $0xc05a0ff2 // cvtsd2ss xmm0, xmm0
LONG $0xd1280f41 // movaps xmm2, xmm9
WORD $0x550f; BYTE $0xd0 // andnps xmm2, xmm0
WORD $0x560f; BYTE $0xd3 // orps xmm2, xmm3
LONG $0xc1280f41 // movaps xmm0, xmm9
WORD $0x550f; BYTE $0xc5 // andnps xmm0, xmm5
WORD $0x560f; BYTE $0xc1 // orps xmm0, xmm1
WORD $0x140f; BYTE $0xc2 // unpcklps xmm0, xmm2
WORD $0x550f; BYTE $0xe0 // andnps xmm4, xmm0
LONG $0x44100ff2; WORD $0x18f1 // movsd xmm0, qword [rcx + 8*rsi + 24]
LONG $0xc05a0ff2 // cvtsd2ss xmm0, xmm0
LONG $0xd1280f41 // movaps xmm2, xmm9
WORD $0x550f; BYTE $0xd0 // andnps xmm2, xmm0
WORD $0x560f; BYTE $0xd3 // orps xmm2, xmm3
LONG $0xc1280f41 // movaps xmm0, xmm9
WORD $0x550f; BYTE $0xc7 // andnps xmm0, xmm7
WORD $0x560f; BYTE $0xc1 // orps xmm0, xmm1
WORD $0x140f; BYTE $0xc2 // unpcklps xmm0, xmm2
WORD $0x550f; BYTE $0xf0 // andnps xmm6, xmm0
WORD $0x160f; BYTE $0xe6 // movlhps xmm4, xmm6
LONG $0x24110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm4
LONG $0x64100f66; WORD $0x20f1 // movupd xmm4, oword [rcx + 8*rsi + 32]
LONG $0x44100f66; WORD $0x30f1 // movupd xmm0, oword [rcx + 8*rsi + 48]
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
LONG $0xd45a0ff2 // cvtsd2ss xmm2, xmm4
LONG $0xc20f4166; WORD $0x00e0 // cmpeqpd xmm4, xmm8
LONG $0xe8e4c60f // shufps xmm4, xmm4, 232
WORD $0x570f; BYTE $0xed // xorps xmm5, xmm5
LONG $0xe85a0ff2 // cvtsd2ss xmm5, xmm0
LONG $0xc20f4166; WORD $0x00c0 // cmpeqpd xmm0, xmm8
LONG $0x74100ff2; WORD $0x28f1 // movsd xmm6, qword [rcx + 8*rsi + 40]
LONG $0xf65a0ff2 // cvtsd2ss xmm6, xmm6
LONG $0xe8c0c60f // shufps xmm0, xmm0, 232
LONG $0xf9280f41 // movaps xmm7, xmm9
WORD $0x550f; BYTE $0xfe // andnps xmm7, xmm6
WORD $0x560f; BYTE $0xfb // orps xmm7, xmm3
LONG $0xf1280f41 // movaps xmm6, xmm9
WORD $0x550f; BYTE $0xf2 // andnps xmm6, xmm2
WORD $0x560f; BYTE $0xf1 // orps xmm6, xmm1
WORD $0x140f; BYTE $0xf7 // unpcklps xmm6, xmm7
WORD $0x550f; BYTE $0xe6 // andnps xmm4, xmm6
LONG $0x54100ff2; WORD $0x38f1 // movsd xmm2, qword [rcx + 8*rsi + 56]
LONG $0xd25a0ff2 // cvtsd2ss xmm2, xmm2
LONG $0xf1280f41 // movaps xmm6, xmm9
WORD $0x550f; BYTE $0xf2 // andnps xmm6, xmm2
WORD $0x560f; BYTE $0xf3 // orps xmm6, xmm3
LONG $0xd1280f41 // movaps xmm2, xmm9
WORD $0x550f; BYTE $0xd5 // andnps xmm2, xmm5
WORD $0x560f; BYTE $0xd1 // orps xmm2, xmm1
WORD $0x140f; BYTE $0xd6 // unpcklps xmm2, xmm6
WORD $0x550f; BYTE $0xc2 // andnps xmm0, xmm2
WORD $0x160f; BYTE $0xe0 // movlhps xmm4, xmm0
LONG $0x64110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm4
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_803
JMP LBB4_1197
LBB4_819:
WORD $0xe283; BYTE $0xfc // and edx, -4
WORD $0xf631 // xor esi, esi
QUAD $0x0000012885100ff3 // movss xmm0, dword 296[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_821
LBB4_820:
LONG $0x110f41f3; WORD $0xb04c; BYTE $0x0c // movss dword [r8 + 4*rsi + 12], xmm1
LONG $0x04c68348 // add rsi, 4
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JE LBB4_387
LBB4_821:
LONG $0xf13c8348; BYTE $0x00 // cmp qword [rcx + 8*rsi], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_822
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f3; WORD $0xb00c // movss dword [r8 + 4*rsi], xmm1
LONG $0xf17c8348; WORD $0x0008 // cmp qword [rcx + 8*rsi + 8], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JE LBB4_826
LBB4_823:
LONG $0x110f41f3; WORD $0xb04c; BYTE $0x04 // movss dword [r8 + 4*rsi + 4], xmm1
LONG $0xf17c8348; WORD $0x0010 // cmp qword [rcx + 8*rsi + 16], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_824
LBB4_827:
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f3; WORD $0xb04c; BYTE $0x08 // movss dword [r8 + 4*rsi + 8], xmm1
LONG $0xf17c8348; WORD $0x0018 // cmp qword [rcx + 8*rsi + 24], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_820
JMP LBB4_828
LBB4_822:
LONG $0x110f41f3; WORD $0xb00c // movss dword [r8 + 4*rsi], xmm1
LONG $0xf17c8348; WORD $0x0008 // cmp qword [rcx + 8*rsi + 8], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_823
LBB4_826:
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0x110f41f3; WORD $0xb04c; BYTE $0x04 // movss dword [r8 + 4*rsi + 4], xmm1
LONG $0xf17c8348; WORD $0x0010 // cmp qword [rcx + 8*rsi + 16], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JE LBB4_827
LBB4_824:
LONG $0x110f41f3; WORD $0xb04c; BYTE $0x08 // movss dword [r8 + 4*rsi + 8], xmm1
LONG $0xf17c8348; WORD $0x0018 // cmp qword [rcx + 8*rsi + 24], 0
LONG $0xc8280f66 // movapd xmm1, xmm0
JNE LBB4_820
LBB4_828:
LONG $0xc9570f66 // xorpd xmm1, xmm1
JMP LBB4_820
LBB4_829:
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_1055
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x00000090956f0f66 // movdqa xmm2, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_831:
LONG $0x1c6e0f66; BYTE $0x71 // movd xmm3, dword [rcx + 2*rsi]
LONG $0x646e0f66; WORD $0x0471 // movd xmm4, dword [rcx + 2*rsi + 4]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x34380f66; BYTE $0xdb // pmovzxwq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x34380f66; BYTE $0xe4 // pmovzxwq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf01c // movdqu oword [r8 + 8*rsi], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm4
LONG $0x5c6e0f66; WORD $0x0871 // movd xmm3, dword [rcx + 2*rsi + 8]
LONG $0x646e0f66; WORD $0x0c71 // movd xmm4, dword [rcx + 2*rsi + 12]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x34380f66; BYTE $0xdb // pmovzxwq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x34380f66; BYTE $0xe4 // pmovzxwq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf05c; BYTE $0x20 // movdqu oword [r8 + 8*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x30 // movdqu oword [r8 + 8*rsi + 48], xmm4
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_831
JMP LBB4_1056
LBB4_832:
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_1204
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0x556f0f66; BYTE $0x50 // movdqa xmm2, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_834:
LONG $0x1c7e0ff3; BYTE $0x71 // movq xmm3, qword [rcx + 2*rsi]
LONG $0x647e0ff3; WORD $0x0871 // movq xmm4, qword [rcx + 2*rsi + 8]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x33380f66; BYTE $0xdb // pmovzxwd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
WORD $0x5b0f; BYTE $0xdb // cvtdq2ps xmm3, xmm3
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x33380f66; BYTE $0xe4 // pmovzxwd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
WORD $0x5b0f; BYTE $0xe4 // cvtdq2ps xmm4, xmm4
LONG $0x1c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm3
LONG $0x64110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm4
LONG $0x5c7e0ff3; WORD $0x1071 // movq xmm3, qword [rcx + 2*rsi + 16]
LONG $0x647e0ff3; WORD $0x1871 // movq xmm4, qword [rcx + 2*rsi + 24]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x33380f66; BYTE $0xdb // pmovzxwd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
WORD $0x5b0f; BYTE $0xdb // cvtdq2ps xmm3, xmm3
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x33380f66; BYTE $0xe4 // pmovzxwd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
WORD $0x5b0f; BYTE $0xe4 // cvtdq2ps xmm4, xmm4
LONG $0x5c110f41; WORD $0x20b0 // movups oword [r8 + 4*rsi + 32], xmm3
LONG $0x64110f41; WORD $0x30b0 // movups oword [r8 + 4*rsi + 48], xmm4
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_834
JMP LBB4_1205
LBB4_835:
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_1212
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_837:
LONG $0x2c6e0f66; BYTE $0x71 // movd xmm5, dword [rcx + 2*rsi]
LONG $0x746e0f66; WORD $0x0471 // movd xmm6, dword [rcx + 2*rsi + 4]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0x24380f66; BYTE $0xc0 // pmovsxwq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0x24380f66; BYTE $0xc9 // pmovsxwq xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x24380f66; BYTE $0xed // pmovsxwq xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x24380f66; BYTE $0xf6 // pmovsxwq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf02c // movupd oword [r8 + 8*rsi], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm6
LONG $0x6c6e0f66; WORD $0x0871 // movd xmm5, dword [rcx + 2*rsi + 8]
LONG $0x746e0f66; WORD $0x0c71 // movd xmm6, dword [rcx + 2*rsi + 12]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0x24380f66; BYTE $0xc0 // pmovsxwq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0x24380f66; BYTE $0xc9 // pmovsxwq xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x24380f66; BYTE $0xed // pmovsxwq xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x24380f66; BYTE $0xf6 // pmovsxwq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf06c; BYTE $0x20 // movupd oword [r8 + 8*rsi + 32], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x30 // movupd oword [r8 + 8*rsi + 48], xmm6
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_837
JMP LBB4_1213
LBB4_838:
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_1218
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xd0a5280f; WORD $0x0000; BYTE $0x00 // movaps xmm4, oword 208[rbp] /* [rip + .LCPI4_19] */
LBB4_840:
LONG $0x2c7e0ff3; BYTE $0x71 // movq xmm5, qword [rcx + 2*rsi]
LONG $0x747e0ff3; WORD $0x0871 // movq xmm6, qword [rcx + 2*rsi + 8]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0x23380f66; BYTE $0xc0 // pmovsxwd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0x23380f66; BYTE $0xc9 // pmovsxwd xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x23380f66; BYTE $0xed // pmovsxwd xmm5, xmm5
WORD $0x5b0f; BYTE $0xed // cvtdq2ps xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x23380f66; BYTE $0xf6 // pmovsxwd xmm6, xmm6
WORD $0x5b0f; BYTE $0xf6 // cvtdq2ps xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x2c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm5
LONG $0x74110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm6
LONG $0x6c7e0ff3; WORD $0x1071 // movq xmm5, qword [rcx + 2*rsi + 16]
LONG $0x747e0ff3; WORD $0x1871 // movq xmm6, qword [rcx + 2*rsi + 24]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0x23380f66; BYTE $0xc0 // pmovsxwd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0x23380f66; BYTE $0xc9 // pmovsxwd xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x23380f66; BYTE $0xed // pmovsxwd xmm5, xmm5
WORD $0x5b0f; BYTE $0xed // cvtdq2ps xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x23380f66; BYTE $0xf6 // pmovsxwd xmm6, xmm6
WORD $0x5b0f; BYTE $0xf6 // cvtdq2ps xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x6c110f41; WORD $0x20b0 // movups oword [r8 + 4*rsi + 32], xmm5
LONG $0x74110f41; WORD $0x30b0 // movups oword [r8 + 4*rsi + 48], xmm6
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_840
JMP LBB4_1219
LBB4_846:
WORD $0xd689 // mov esi, edx
WORD $0xe683; BYTE $0xfe // and esi, -2
WORD $0xc031 // xor eax, eax
QUAD $0x0000013085100ff3 // movss xmm0, dword 304[rbp] /* [rip + .LCPI4_14] */
QUAD $0x000001288d100ff3 // movss xmm1, dword 296[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_848
LBB4_847:
LONG $0x110f41f3; WORD $0x805c; BYTE $0x04 // movss dword [r8 + 4*rax + 4], xmm3
LONG $0x02c08348 // add rax, 2
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_410
LBB4_848:
LONG $0xc13c8348; BYTE $0x00 // cmp qword [rcx + 8*rax], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JNE LBB4_849
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xd9280f66 // movapd xmm3, xmm1
JLE LBB4_853
LBB4_850:
LONG $0x110f41f3; WORD $0x801c // movss dword [r8 + 4*rax], xmm3
LONG $0xc17c8348; WORD $0x0008 // cmp qword [rcx + 8*rax + 8], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JNE LBB4_851
LBB4_854:
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_847
JMP LBB4_855
LBB4_849:
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_850
LBB4_853:
LONG $0xda280f66 // movapd xmm3, xmm2
LONG $0x110f41f3; WORD $0x801c // movss dword [r8 + 4*rax], xmm3
LONG $0xc17c8348; WORD $0x0008 // cmp qword [rcx + 8*rax + 8], 0
LONG $0xd0280f66 // movapd xmm2, xmm0
JE LBB4_854
LBB4_851:
LONG $0xd9280f66 // movapd xmm3, xmm1
JG LBB4_847
LBB4_855:
LONG $0xda280f66 // movapd xmm3, xmm2
JMP LBB4_847
LBB4_856:
WORD $0xd689 // mov esi, edx
WORD $0xe683; BYTE $0xfe // and esi, -2
WORD $0xc031 // xor eax, eax
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
JMP LBB4_859
LBB4_857:
WORD $0x500f; BYTE $0xf9 // movmskps edi, xmm1
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0xcf2a0ff3 // cvtsi2ss xmm1, edi
LONG $0x2c0f48f3; BYTE $0xf9 // cvttss2si rdi, xmm1
LONG $0xc07c8949; BYTE $0x08 // mov qword [r8 + 8*rax + 8], rdi
LONG $0x02c08348 // add rax, 2
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_416
LBB4_859:
LONG $0x0c100ff3; BYTE $0x81 // movss xmm1, dword [rcx + 4*rax]
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
JNE LBB4_861
WORD $0xff31 // xor edi, edi
JMP LBB4_862
LBB4_861:
WORD $0x500f; BYTE $0xf9 // movmskps edi, xmm1
WORD $0xe783; BYTE $0x01 // and edi, 1
WORD $0xdff7 // neg edi
WORD $0xcf83; BYTE $0x01 // or edi, 1
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0xcf2a0ff3 // cvtsi2ss xmm1, edi
LONG $0x2c0f48f3; BYTE $0xf9 // cvttss2si rdi, xmm1
LBB4_862:
LONG $0xc03c8949 // mov qword [r8 + 8*rax], rdi
LONG $0x4c100ff3; WORD $0x0481 // movss xmm1, dword [rcx + 4*rax + 4]
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
JNE LBB4_857
WORD $0xff31 // xor edi, edi
LONG $0xc07c8949; BYTE $0x08 // mov qword [r8 + 8*rax + 8], rdi
LONG $0x02c08348 // add rax, 2
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JNE LBB4_859
LBB4_416:
WORD $0xc2f6; BYTE $0x01 // test dl, 1
JE LBB4_1655
LONG $0x04100ff3; BYTE $0x81 // movss xmm0, dword [rcx + 4*rax]
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
WORD $0x2e0f; BYTE $0xc8 // ucomiss xmm1, xmm0
JNE LBB4_1104
WORD $0xc931 // xor ecx, ecx
JMP LBB4_1105
LBB4_884:
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_1060
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_886:
LONG $0x2c7e0ff3; BYTE $0xb1 // movq xmm5, qword [rcx + 4*rsi]
LONG $0x747e0ff3; WORD $0x08b1 // movq xmm6, qword [rcx + 4*rsi + 8]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0x25380f66; BYTE $0xc0 // pmovsxdq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0x25380f66; BYTE $0xc9 // pmovsxdq xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x25380f66; BYTE $0xed // pmovsxdq xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x25380f66; BYTE $0xf6 // pmovsxdq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf02c // movupd oword [r8 + 8*rsi], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm6
LONG $0x6c7e0ff3; WORD $0x10b1 // movq xmm5, qword [rcx + 4*rsi + 16]
LONG $0x747e0ff3; WORD $0x18b1 // movq xmm6, qword [rcx + 4*rsi + 24]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0x25380f66; BYTE $0xc0 // pmovsxdq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0x25380f66; BYTE $0xc9 // pmovsxdq xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x25380f66; BYTE $0xed // pmovsxdq xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x25380f66; BYTE $0xf6 // pmovsxdq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf06c; BYTE $0x20 // movupd oword [r8 + 8*rsi + 32], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x30 // movupd oword [r8 + 8*rsi + 48], xmm6
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_886
JMP LBB4_1061
LBB4_887:
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_1066
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xd0a5280f; WORD $0x0000; BYTE $0x00 // movaps xmm4, oword 208[rbp] /* [rip + .LCPI4_19] */
LBB4_889:
LONG $0x2c6f0ff3; BYTE $0xb1 // movdqu xmm5, oword [rcx + 4*rsi]
LONG $0x746f0ff3; WORD $0x10b1 // movdqu xmm6, oword [rcx + 4*rsi + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
WORD $0x5b0f; BYTE $0xed // cvtdq2ps xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
WORD $0x5b0f; BYTE $0xf6 // cvtdq2ps xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x2c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm5
LONG $0x74110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm6
LONG $0x6c6f0ff3; WORD $0x20b1 // movdqu xmm5, oword [rcx + 4*rsi + 32]
LONG $0x746f0ff3; WORD $0x30b1 // movdqu xmm6, oword [rcx + 4*rsi + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
WORD $0x5b0f; BYTE $0xed // cvtdq2ps xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
WORD $0x5b0f; BYTE $0xf6 // cvtdq2ps xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x6c110f41; WORD $0x20b0 // movups oword [r8 + 4*rsi + 32], xmm5
LONG $0x74110f41; WORD $0x30b0 // movups oword [r8 + 4*rsi + 48], xmm6
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_889
JMP LBB4_1067
LBB4_945:
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_1076
WORD $0x894c; BYTE $0xca // mov rdx, r9
LONG $0xfee28348 // and rdx, -2
WORD $0xf748; BYTE $0xda // neg rdx
WORD $0xff31 // xor edi, edi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x55280f66; BYTE $0x10 // movapd xmm2, oword 16[rbp] /* [rip + .LCPI4_1] */
LBB4_947:
LONG $0x1c100f66; BYTE $0xf9 // movupd xmm3, oword [rcx + 8*rdi]
LONG $0x64100f66; WORD $0x10f9 // movupd xmm4, oword [rcx + 8*rdi + 16]
LONG $0xeb280f66 // movapd xmm5, xmm3
LONG $0xe8c20f66; BYTE $0x00 // cmpeqpd xmm5, xmm0
LONG $0xe8edc60f // shufps xmm5, xmm5, 232
LONG $0xf4280f66 // movapd xmm6, xmm4
LONG $0xf0c20f66; BYTE $0x00 // cmpeqpd xmm6, xmm0
LONG $0xe8f6c60f // shufps xmm6, xmm6, 232
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xda560f66 // orpd xmm3, xmm2
LONG $0xe1540f66 // andpd xmm4, xmm1
LONG $0xe2560f66 // orpd xmm4, xmm2
LONG $0xdbe60f66 // cvttpd2dq xmm3, xmm3
LONG $0xe4e60f66 // cvttpd2dq xmm4, xmm4
WORD $0x550f; BYTE $0xeb // andnps xmm5, xmm3
WORD $0x550f; BYTE $0xf4 // andnps xmm6, xmm4
WORD $0x160f; BYTE $0xee // movlhps xmm5, xmm6
LONG $0x2c110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm5
LONG $0x5c100f66; WORD $0x20f9 // movupd xmm3, oword [rcx + 8*rdi + 32]
LONG $0x64100f66; WORD $0x30f9 // movupd xmm4, oword [rcx + 8*rdi + 48]
LONG $0xeb280f66 // movapd xmm5, xmm3
LONG $0xe8c20f66; BYTE $0x00 // cmpeqpd xmm5, xmm0
LONG $0xe8edc60f // shufps xmm5, xmm5, 232
LONG $0xf4280f66 // movapd xmm6, xmm4
LONG $0xf0c20f66; BYTE $0x00 // cmpeqpd xmm6, xmm0
LONG $0xe8f6c60f // shufps xmm6, xmm6, 232
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xda560f66 // orpd xmm3, xmm2
LONG $0xe1540f66 // andpd xmm4, xmm1
LONG $0xe2560f66 // orpd xmm4, xmm2
LONG $0xdbe60f66 // cvttpd2dq xmm3, xmm3
WORD $0x550f; BYTE $0xeb // andnps xmm5, xmm3
LONG $0xdce60f66 // cvttpd2dq xmm3, xmm4
WORD $0x550f; BYTE $0xf3 // andnps xmm6, xmm3
WORD $0x160f; BYTE $0xee // movlhps xmm5, xmm6
LONG $0x6c110f41; WORD $0x10b8 // movups oword [r8 + 4*rdi + 16], xmm5
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28348 // add rdx, 2
JNE LBB4_947
JMP LBB4_1077
LBB4_953:
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_1082
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
QUAD $0x000000a08d6f0f66 // movdqa xmm1, oword 160[rbp] /* [rip + .LCPI4_16] */
LBB4_955:
LONG $0x146f0ff3; BYTE $0xf1 // movdqu xmm2, oword [rcx + 8*rsi]
LONG $0x5c6f0ff3; WORD $0x10f1 // movdqu xmm3, oword [rcx + 8*rsi + 16]
LONG $0x29380f66; BYTE $0xd0 // pcmpeqq xmm2, xmm0
LONG $0xd2700f66; BYTE $0xe8 // pshufd xmm2, xmm2, 232
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xdb700f66; BYTE $0xe8 // pshufd xmm3, xmm3, 232
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0xd36c0f66 // punpcklqdq xmm2, xmm3
LONG $0x7f0f41f3; WORD $0xb014 // movdqu oword [r8 + 4*rsi], xmm2
LONG $0x546f0ff3; WORD $0x20f1 // movdqu xmm2, oword [rcx + 8*rsi + 32]
LONG $0x5c6f0ff3; WORD $0x30f1 // movdqu xmm3, oword [rcx + 8*rsi + 48]
LONG $0x29380f66; BYTE $0xd0 // pcmpeqq xmm2, xmm0
LONG $0xd2700f66; BYTE $0xe8 // pshufd xmm2, xmm2, 232
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xdb700f66; BYTE $0xe8 // pshufd xmm3, xmm3, 232
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0xd36c0f66 // punpcklqdq xmm2, xmm3
LONG $0x7f0f41f3; WORD $0xb054; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm2
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_955
JMP LBB4_1083
LBB4_956:
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_1087
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0x556f0f66; BYTE $0x50 // movdqa xmm2, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_958:
LONG $0x1c7e0ff3; BYTE $0x71 // movq xmm3, qword [rcx + 2*rsi]
LONG $0x647e0ff3; WORD $0x0871 // movq xmm4, qword [rcx + 2*rsi + 8]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x33380f66; BYTE $0xdb // pmovzxwd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x33380f66; BYTE $0xe4 // pmovzxwd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xb01c // movdqu oword [r8 + 4*rsi], xmm3
LONG $0x7f0f41f3; WORD $0xb064; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm4
LONG $0x5c7e0ff3; WORD $0x1071 // movq xmm3, qword [rcx + 2*rsi + 16]
LONG $0x647e0ff3; WORD $0x1871 // movq xmm4, qword [rcx + 2*rsi + 24]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x33380f66; BYTE $0xdb // pmovzxwd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x33380f66; BYTE $0xe4 // pmovzxwd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xb05c; BYTE $0x20 // movdqu oword [r8 + 4*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xb064; BYTE $0x30 // movdqu oword [r8 + 4*rsi + 48], xmm4
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_958
JMP LBB4_1088
LBB4_959:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1092
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x5065280f // movaps xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_961:
LONG $0x2c7e0ff3; BYTE $0x71 // movq xmm5, qword [rcx + 2*rsi]
LONG $0x747e0ff3; WORD $0x0871 // movq xmm6, qword [rcx + 2*rsi + 8]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0x23380f66; BYTE $0xc0 // pmovsxwd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0x23380f66; BYTE $0xc9 // pmovsxwd xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x23380f66; BYTE $0xed // pmovsxwd xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x23380f66; BYTE $0xf6 // pmovsxwd xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x2c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm5
LONG $0x74110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm6
LONG $0x6c7e0ff3; WORD $0x1071 // movq xmm5, qword [rcx + 2*rsi + 16]
LONG $0x747e0ff3; WORD $0x1871 // movq xmm6, qword [rcx + 2*rsi + 24]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0x23380f66; BYTE $0xc0 // pmovsxwd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0x23380f66; BYTE $0xc9 // pmovsxwd xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x23380f66; BYTE $0xed // pmovsxwd xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x23380f66; BYTE $0xf6 // pmovsxwd xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x6c110f41; WORD $0x20b0 // movups oword [r8 + 4*rsi + 32], xmm5
LONG $0x74110f41; WORD $0x30b0 // movups oword [r8 + 4*rsi + 48], xmm6
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_961
JMP LBB4_1093
LBB4_962:
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_1098
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xa0a5280f; WORD $0x0000; BYTE $0x00 // movaps xmm4, oword 160[rbp] /* [rip + .LCPI4_16] */
LBB4_964:
LONG $0x2c6f0ff3; BYTE $0xf1 // movdqu xmm5, oword [rcx + 8*rsi]
LONG $0x746f0ff3; WORD $0x10f1 // movdqu xmm6, oword [rcx + 8*rsi + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xed700f66; BYTE $0xe8 // pshufd xmm5, xmm5, 232
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf6700f66; BYTE $0xe8 // pshufd xmm6, xmm6, 232
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
WORD $0x160f; BYTE $0xee // movlhps xmm5, xmm6
LONG $0x2c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm5
LONG $0x6c6f0ff3; WORD $0x20f1 // movdqu xmm5, oword [rcx + 8*rsi + 32]
LONG $0x746f0ff3; WORD $0x30f1 // movdqu xmm6, oword [rcx + 8*rsi + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xed700f66; BYTE $0xe8 // pshufd xmm5, xmm5, 232
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf6700f66; BYTE $0xe8 // pshufd xmm6, xmm6, 232
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
WORD $0x160f; BYTE $0xee // movlhps xmm5, xmm6
LONG $0x6c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm5
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_964
JMP LBB4_1099
LBB4_965:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf8 // and edx, -8
WORD $0xf631 // xor esi, esi
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x4d6f0f66; BYTE $0x50 // movdqa xmm1, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_966:
LONG $0x146f0ff3; BYTE $0xb1 // movdqu xmm2, oword [rcx + 4*rsi]
LONG $0x5c6f0ff3; WORD $0x10b1 // movdqu xmm3, oword [rcx + 4*rsi + 16]
LONG $0xe26f0f66 // movdqa xmm4, xmm2
LONG $0xe4720f66; BYTE $0x1f // psrad xmm4, 31
LONG $0xe1eb0f66 // por xmm4, xmm1
LONG $0xeb6f0f66 // movdqa xmm5, xmm3
LONG $0xe5720f66; BYTE $0x1f // psrad xmm5, 31
LONG $0xe9eb0f66 // por xmm5, xmm1
WORD $0x5b0f; BYTE $0xe4 // cvtdq2ps xmm4, xmm4
WORD $0x5b0f; BYTE $0xed // cvtdq2ps xmm5, xmm5
LONG $0xe45b0ff3 // cvttps2dq xmm4, xmm4
LONG $0xed5b0ff3 // cvttps2dq xmm5, xmm5
LONG $0x04d0c20f // cmpneqps xmm2, xmm0
WORD $0x540f; BYTE $0xd4 // andps xmm2, xmm4
LONG $0x04d8c20f // cmpneqps xmm3, xmm0
WORD $0x540f; BYTE $0xdd // andps xmm3, xmm5
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LONG $0x5c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm3
LONG $0x08c68348 // add rsi, 8
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_966
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_968:
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
JMP LBB4_970
LBB4_969:
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1655
LBB4_970:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
WORD $0xf631 // xor esi, esi
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
JE LBB4_969
WORD $0x500f; BYTE $0xf1 // movmskps esi, xmm1
WORD $0xe683; BYTE $0x01 // and esi, 1
WORD $0xdef7 // neg esi
WORD $0xce83; BYTE $0x01 // or esi, 1
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0xce2a0ff3 // cvtsi2ss xmm1, esi
LONG $0xf12c0ff3 // cvttss2si esi, xmm1
JMP LBB4_969
LBB4_496:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1228
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0x4d6f0f66; BYTE $0x50 // movdqa xmm1, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_498:
LONG $0x146f0ff3; BYTE $0xb1 // movdqu xmm2, oword [rcx + 4*rsi]
LONG $0x5c6f0ff3; WORD $0x10b1 // movdqu xmm3, oword [rcx + 4*rsi + 16]
LONG $0xd0760f66 // pcmpeqd xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0xb014 // movdqu oword [r8 + 4*rsi], xmm2
LONG $0x7f0f41f3; WORD $0xb05c; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm3
LONG $0x546f0ff3; WORD $0x20b1 // movdqu xmm2, oword [rcx + 4*rsi + 32]
LONG $0x5c6f0ff3; WORD $0x30b1 // movdqu xmm3, oword [rcx + 4*rsi + 48]
LONG $0xd0760f66 // pcmpeqd xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0xb054; BYTE $0x20 // movdqu oword [r8 + 4*rsi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xb05c; BYTE $0x30 // movdqu oword [r8 + 4*rsi + 48], xmm3
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_498
JMP LBB4_1229
LBB4_504:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1236
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x5065280f // movaps xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_506:
LONG $0x2c6e0f66; BYTE $0x31 // movd xmm5, dword [rcx + rsi]
LONG $0x746e0f66; WORD $0x0431 // movd xmm6, dword [rcx + rsi + 4]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x21380f66; BYTE $0xc0 // pmovsxbd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x21380f66; BYTE $0xc9 // pmovsxbd xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x21380f66; BYTE $0xed // pmovsxbd xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x21380f66; BYTE $0xf6 // pmovsxbd xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x2c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm5
LONG $0x74110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm6
LONG $0x6c6e0f66; WORD $0x0831 // movd xmm5, dword [rcx + rsi + 8]
LONG $0x746e0f66; WORD $0x0c31 // movd xmm6, dword [rcx + rsi + 12]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x21380f66; BYTE $0xc0 // pmovsxbd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x21380f66; BYTE $0xc9 // pmovsxbd xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x21380f66; BYTE $0xed // pmovsxbd xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x21380f66; BYTE $0xf6 // pmovsxbd xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x6c110f41; WORD $0x20b0 // movups oword [r8 + 4*rsi + 32], xmm5
LONG $0x74110f41; WORD $0x30b0 // movups oword [r8 + 4*rsi + 48], xmm6
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_506
JMP LBB4_1237
LBB4_524:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1245
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0x556f0f66; BYTE $0x50 // movdqa xmm2, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_526:
LONG $0x1c6e0f66; BYTE $0x31 // movd xmm3, dword [rcx + rsi]
LONG $0x646e0f66; WORD $0x0431 // movd xmm4, dword [rcx + rsi + 4]
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x31380f66; BYTE $0xdb // pmovzxbd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x31380f66; BYTE $0xe4 // pmovzxbd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xb01c // movdqu oword [r8 + 4*rsi], xmm3
LONG $0x7f0f41f3; WORD $0xb064; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm4
LONG $0x5c6e0f66; WORD $0x0831 // movd xmm3, dword [rcx + rsi + 8]
LONG $0x646e0f66; WORD $0x0c31 // movd xmm4, dword [rcx + rsi + 12]
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x31380f66; BYTE $0xdb // pmovzxbd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x31380f66; BYTE $0xe4 // pmovzxbd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xb05c; BYTE $0x20 // movdqu oword [r8 + 4*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xb064; BYTE $0x30 // movdqu oword [r8 + 4*rsi + 48], xmm4
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_526
JMP LBB4_1246
LBB4_529:
WORD $0x8944; BYTE $0xda // mov edx, r11d
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_1253
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_531:
LONG $0x2c6f0ff3; BYTE $0xb1 // movdqu xmm5, oword [rcx + 4*rsi]
LONG $0x746f0ff3; WORD $0x10b1 // movdqu xmm6, oword [rcx + 4*rsi + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5660f66 // pcmpgtd xmm0, xmm5
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce660f66 // pcmpgtd xmm1, xmm6
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x14380f66; BYTE $0xfd // blendvps xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xee // blendvps xmm5, xmm6, xmm0
LONG $0x3c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm7
LONG $0x6c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x20b1 // movdqu xmm5, oword [rcx + 4*rsi + 32]
LONG $0x746f0ff3; WORD $0x30b1 // movdqu xmm6, oword [rcx + 4*rsi + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5660f66 // pcmpgtd xmm0, xmm5
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce660f66 // pcmpgtd xmm1, xmm6
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x14380f66; BYTE $0xfd // blendvps xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xee // blendvps xmm5, xmm6, xmm0
LONG $0x7c110f41; WORD $0x20b0 // movups oword [r8 + 4*rsi + 32], xmm7
LONG $0x6c110f41; WORD $0x30b0 // movups oword [r8 + 4*rsi + 48], xmm5
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_531
JMP LBB4_1254
LBB4_544:
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_1262
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x55280f66; BYTE $0x10 // movapd xmm2, oword 16[rbp] /* [rip + .LCPI4_1] */
LBB4_546:
LONG $0x1c100f66; BYTE $0xf1 // movupd xmm3, oword [rcx + 8*rsi]
LONG $0x64100f66; WORD $0x10f1 // movupd xmm4, oword [rcx + 8*rsi + 16]
LONG $0xeb280f66 // movapd xmm5, xmm3
LONG $0xe9540f66 // andpd xmm5, xmm1
LONG $0xea560f66 // orpd xmm5, xmm2
LONG $0xf4280f66 // movapd xmm6, xmm4
LONG $0xf1540f66 // andpd xmm6, xmm1
LONG $0xf2560f66 // orpd xmm6, xmm2
LONG $0xd8c20f66; BYTE $0x04 // cmpneqpd xmm3, xmm0
LONG $0xdd540f66 // andpd xmm3, xmm5
LONG $0xe0c20f66; BYTE $0x04 // cmpneqpd xmm4, xmm0
LONG $0xe6540f66 // andpd xmm4, xmm6
LONG $0x110f4166; WORD $0xf01c // movupd oword [r8 + 8*rsi], xmm3
LONG $0x110f4166; WORD $0xf064; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm4
LONG $0x5c100f66; WORD $0x20f1 // movupd xmm3, oword [rcx + 8*rsi + 32]
LONG $0x64100f66; WORD $0x30f1 // movupd xmm4, oword [rcx + 8*rsi + 48]
LONG $0xeb280f66 // movapd xmm5, xmm3
LONG $0xe9540f66 // andpd xmm5, xmm1
LONG $0xea560f66 // orpd xmm5, xmm2
LONG $0xf4280f66 // movapd xmm6, xmm4
LONG $0xf1540f66 // andpd xmm6, xmm1
LONG $0xf2560f66 // orpd xmm6, xmm2
LONG $0xd8c20f66; BYTE $0x04 // cmpneqpd xmm3, xmm0
LONG $0xdd540f66 // andpd xmm3, xmm5
LONG $0xe0c20f66; BYTE $0x04 // cmpneqpd xmm4, xmm0
LONG $0xe6540f66 // andpd xmm4, xmm6
LONG $0x110f4166; WORD $0xf05c; BYTE $0x20 // movupd oword [r8 + 8*rsi + 32], xmm3
LONG $0x110f4166; WORD $0xf064; BYTE $0x30 // movupd oword [r8 + 8*rsi + 48], xmm4
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_546
JMP LBB4_1263
LBB4_625:
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_1271
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x00000080956f0f66 // movdqa xmm2, oword 128[rbp] /* [rip + .LCPI4_12] */
LBB4_627:
LONG $0x1c6f0ff3; BYTE $0xb1 // movdqu xmm3, oword [rcx + 4*rsi]
LONG $0x646f0ff3; WORD $0x10b1 // movdqu xmm4, oword [rcx + 4*rsi + 16]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe4630f66 // packsswb xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7e0f4166; WORD $0x301c // movd dword [r8 + rsi], xmm3
LONG $0x7e0f4166; WORD $0x3064; BYTE $0x04 // movd dword [r8 + rsi + 4], xmm4
LONG $0x5c6f0ff3; WORD $0x20b1 // movdqu xmm3, oword [rcx + 4*rsi + 32]
LONG $0x646f0ff3; WORD $0x30b1 // movdqu xmm4, oword [rcx + 4*rsi + 48]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe4630f66 // packsswb xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7e0f4166; WORD $0x305c; BYTE $0x08 // movd dword [r8 + rsi + 8], xmm3
LONG $0x7e0f4166; WORD $0x3064; BYTE $0x0c // movd dword [r8 + rsi + 12], xmm4
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_627
JMP LBB4_1272
LBB4_630:
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_1279
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0x5d280f66; BYTE $0x00 // movapd xmm3, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x65280f66; BYTE $0x10 // movapd xmm4, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0x6d6f0f66; BYTE $0x40 // movdqa xmm5, oword 64[rbp] /* [rip + .LCPI4_7] */
LBB4_632:
LONG $0x34100f66; BYTE $0xf1 // movupd xmm6, oword [rcx + 8*rsi]
LONG $0x7c100f66; WORD $0x10f1 // movupd xmm7, oword [rcx + 8*rsi + 16]
LONG $0xc6280f66 // movapd xmm0, xmm6
LONG $0xc2c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcf280f66 // movapd xmm1, xmm7
LONG $0xcac20f66; BYTE $0x00 // cmpeqpd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xf3540f66 // andpd xmm6, xmm3
LONG $0xf4560f66 // orpd xmm6, xmm4
LONG $0xfb540f66 // andpd xmm7, xmm3
LONG $0xfc560f66 // orpd xmm7, xmm4
LONG $0xf6e60f66 // cvttpd2dq xmm6, xmm6
LONG $0x00380f66; BYTE $0xf5 // pshufb xmm6, xmm5
LONG $0xffe60f66 // cvttpd2dq xmm7, xmm7
LONG $0x00380f66; BYTE $0xfd // pshufb xmm7, xmm5
LONG $0x10380f66; BYTE $0xf2 // pblendvb xmm6, xmm2, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xfa // pblendvb xmm7, xmm2, xmm0
QUAD $0x003034153a0f4166 // pextrw word [r8 + rsi], xmm6, 0
QUAD $0x02307c153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 2], xmm7, 0
LONG $0x74100f66; WORD $0x20f1 // movupd xmm6, oword [rcx + 8*rsi + 32]
LONG $0x7c100f66; WORD $0x30f1 // movupd xmm7, oword [rcx + 8*rsi + 48]
LONG $0xc6280f66 // movapd xmm0, xmm6
LONG $0xc2c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcf280f66 // movapd xmm1, xmm7
LONG $0xcac20f66; BYTE $0x00 // cmpeqpd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xf3540f66 // andpd xmm6, xmm3
LONG $0xf4560f66 // orpd xmm6, xmm4
LONG $0xfb540f66 // andpd xmm7, xmm3
LONG $0xfc560f66 // orpd xmm7, xmm4
LONG $0xf6e60f66 // cvttpd2dq xmm6, xmm6
LONG $0x00380f66; BYTE $0xf5 // pshufb xmm6, xmm5
LONG $0xffe60f66 // cvttpd2dq xmm7, xmm7
LONG $0x00380f66; BYTE $0xfd // pshufb xmm7, xmm5
LONG $0x10380f66; BYTE $0xf2 // pblendvb xmm6, xmm2, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xfa // pblendvb xmm7, xmm2, xmm0
QUAD $0x043074153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 4], xmm6, 0
QUAD $0x06307c153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 6], xmm7, 0
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_632
JMP LBB4_1280
LBB4_635:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1288
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000100a56f0f66 // movdqa xmm4, oword 256[rbp] /* [rip + .LCPI4_22] */
LBB4_637:
LONG $0x2c6f0ff3; BYTE $0x01 // movdqu xmm5, oword [rcx + rax]
LONG $0x746f0ff3; WORD $0x1001 // movdqu xmm6, oword [rcx + rax + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5640f66 // pcmpgtb xmm0, xmm5
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce640f66 // pcmpgtb xmm1, xmm6
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x7f0f41f3; WORD $0x003c // movdqu oword [r8 + rax], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2001 // movdqu xmm5, oword [rcx + rax + 32]
LONG $0x746f0ff3; WORD $0x3001 // movdqu xmm6, oword [rcx + rax + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5640f66 // pcmpgtb xmm0, xmm5
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce640f66 // pcmpgtb xmm1, xmm6
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x7f0f41f3; WORD $0x007c; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm5
LONG $0x40c08348 // add rax, 64
LONG $0x02c78348 // add rdi, 2
JNE LBB4_637
JMP LBB4_1289
LBB4_640:
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_1297
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x000000c0956f0f66 // movdqa xmm2, oword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_642:
LONG $0x1c6f0ff3; BYTE $0xf1 // movdqu xmm3, oword [rcx + 8*rsi]
LONG $0x646f0ff3; WORD $0x10f1 // movdqu xmm4, oword [rcx + 8*rsi + 16]
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0x29380f66; BYTE $0xe0 // pcmpeqq xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe4630f66 // packsswb xmm4, xmm4
QUAD $0x00301c153a0f4166 // pextrw word [r8 + rsi], xmm3, 0
LONG $0xe2db0f66 // pand xmm4, xmm2
QUAD $0x023064153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 2], xmm4, 0
LONG $0x5c6f0ff3; WORD $0x20f1 // movdqu xmm3, oword [rcx + 8*rsi + 32]
LONG $0x646f0ff3; WORD $0x30f1 // movdqu xmm4, oword [rcx + 8*rsi + 48]
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0x29380f66; BYTE $0xe0 // pcmpeqq xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe4630f66 // packsswb xmm4, xmm4
QUAD $0x04305c153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 4], xmm3, 0
LONG $0xe2db0f66 // pand xmm4, xmm2
QUAD $0x063064153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 6], xmm4, 0
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_642
JMP LBB4_1298
LBB4_645:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
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 LBB4_1305
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x000000f0956f0f66 // movdqa xmm2, oword 240[rbp] /* [rip + .LCPI4_21] */
LBB4_647:
LONG $0x1c6f0ff3; BYTE $0x71 // movdqu xmm3, oword [rcx + 2*rsi]
LONG $0x646f0ff3; WORD $0x1071 // movdqu xmm4, oword [rcx + 2*rsi + 16]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe4630f66 // packsswb xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0xdc6c0f66 // punpcklqdq xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x301c // movdqu oword [r8 + rsi], xmm3
LONG $0x5c6f0ff3; WORD $0x2071 // movdqu xmm3, oword [rcx + 2*rsi + 32]
LONG $0x646f0ff3; WORD $0x3071 // movdqu xmm4, oword [rcx + 2*rsi + 48]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe4630f66 // packsswb xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0xdc6c0f66 // punpcklqdq xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x305c; BYTE $0x10 // movdqu oword [r8 + rsi + 16], xmm3
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_647
JMP LBB4_1306
LBB4_650:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1313
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x000000f0a56f0f66 // movdqa xmm4, oword 240[rbp] /* [rip + .LCPI4_21] */
LBB4_652:
LONG $0x2c6f0ff3; BYTE $0x41 // movdqu xmm5, oword [rcx + 2*rax]
LONG $0x746f0ff3; WORD $0x1041 // movdqu xmm6, oword [rcx + 2*rax + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x6c6f0ff3; WORD $0x2041 // movdqu xmm5, oword [rcx + 2*rax + 32]
LONG $0x746f0ff3; WORD $0x3041 // movdqu xmm6, oword [rcx + 2*rax + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x20c08348 // add rax, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_652
JMP LBB4_1314
LBB4_655:
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_1322
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x000000c0a56f0f66 // movdqa xmm4, oword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_657:
LONG $0x2c6f0ff3; BYTE $0xc1 // movdqu xmm5, oword [rcx + 8*rax]
LONG $0x746f0ff3; WORD $0x10c1 // movdqu xmm6, oword [rcx + 8*rax + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
QUAD $0x00002c153a0f4166 // pextrw word [r8 + rax], xmm5, 0
QUAD $0x020074153a0f4166; BYTE $0x00 // pextrw word [r8 + rax + 2], xmm6, 0
LONG $0x6c6f0ff3; WORD $0x20c1 // movdqu xmm5, oword [rcx + 8*rax + 32]
LONG $0x746f0ff3; WORD $0x30c1 // movdqu xmm6, oword [rcx + 8*rax + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
QUAD $0x04006c153a0f4166; BYTE $0x00 // pextrw word [r8 + rax + 4], xmm5, 0
QUAD $0x060074153a0f4166; BYTE $0x00 // pextrw word [r8 + rax + 6], xmm6, 0
LONG $0x08c08348 // add rax, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_657
JMP LBB4_1323
LBB4_660:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1331
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0x760f4566; BYTE $0xc0 // pcmpeqd xmm8, xmm8
QUAD $0x00000080b56f0f66 // movdqa xmm6, oword 128[rbp] /* [rip + .LCPI4_12] */
LBB4_662:
LONG $0xb104100f // movups xmm0, oword [rcx + 4*rsi]
LONG $0xb14c100f; BYTE $0x10 // movups xmm1, oword [rcx + 4*rsi + 16]
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd2630f66 // packsswb xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0x660f4166; BYTE $0xc0 // pcmpgtd xmm0, xmm8
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0x660f4166; BYTE $0xc8 // pcmpgtd xmm1, xmm8
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x303c // movd dword [r8 + rsi], xmm7
LONG $0x7e0f4166; WORD $0x306c; BYTE $0x04 // movd dword [r8 + rsi + 4], xmm5
LONG $0xb144100f; BYTE $0x20 // movups xmm0, oword [rcx + 4*rsi + 32]
LONG $0xb14c100f; BYTE $0x30 // movups xmm1, oword [rcx + 4*rsi + 48]
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd2630f66 // packsswb xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0x660f4166; BYTE $0xc0 // pcmpgtd xmm0, xmm8
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0x660f4166; BYTE $0xc8 // pcmpgtd xmm1, xmm8
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x306c; BYTE $0x08 // movd dword [r8 + rsi + 8], xmm5
LONG $0x7e0f4166; WORD $0x307c; BYTE $0x0c // movd dword [r8 + rsi + 12], xmm7
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_662
JMP LBB4_1332
LBB4_665:
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_1340
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
QUAD $0x000001008d6f0f66 // movdqa xmm1, oword 256[rbp] /* [rip + .LCPI4_22] */
LBB4_667:
LONG $0x146f0ff3; BYTE $0x31 // movdqu xmm2, oword [rcx + rsi]
LONG $0x5c6f0ff3; WORD $0x1031 // movdqu xmm3, oword [rcx + rsi + 16]
LONG $0xd0740f66 // pcmpeqb xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0x3014 // movdqu oword [r8 + rsi], xmm2
LONG $0x7f0f41f3; WORD $0x305c; BYTE $0x10 // movdqu oword [r8 + rsi + 16], xmm3
LONG $0x546f0ff3; WORD $0x2031 // movdqu xmm2, oword [rcx + rsi + 32]
LONG $0x5c6f0ff3; WORD $0x3031 // movdqu xmm3, oword [rcx + rsi + 48]
LONG $0xd0740f66 // pcmpeqb xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0x3054; BYTE $0x20 // movdqu oword [r8 + rsi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x305c; BYTE $0x30 // movdqu oword [r8 + rsi + 48], xmm3
LONG $0x40c68348 // add rsi, 64
LONG $0x02c78348 // add rdi, 2
JNE LBB4_667
JMP LBB4_1341
LBB4_670:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1348
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000080a56f0f66 // movdqa xmm4, oword 128[rbp] /* [rip + .LCPI4_12] */
LBB4_672:
LONG $0x2c6f0ff3; BYTE $0x81 // movdqu xmm5, oword [rcx + 4*rax]
LONG $0x746f0ff3; WORD $0x1081 // movdqu xmm6, oword [rcx + 4*rax + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x002c // movd dword [r8 + rax], xmm5
LONG $0x7e0f4166; WORD $0x0074; BYTE $0x04 // movd dword [r8 + rax + 4], xmm6
LONG $0x6c6f0ff3; WORD $0x2081 // movdqu xmm5, oword [rcx + 4*rax + 32]
LONG $0x746f0ff3; WORD $0x3081 // movdqu xmm6, oword [rcx + 4*rax + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x006c; BYTE $0x08 // movd dword [r8 + rax + 8], xmm5
LONG $0x7e0f4166; WORD $0x0074; BYTE $0x0c // movd dword [r8 + rax + 12], xmm6
LONG $0x10c08348 // add rax, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_672
JMP LBB4_1349
LBB4_681:
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_1357
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_683:
LONG $0x3104b70f // movzx eax, word [rcx + rsi]
LONG $0xe86e0f66 // movd xmm5, eax
LONG $0x3144b70f; BYTE $0x02 // movzx eax, word [rcx + rsi + 2]
LONG $0xf06e0f66 // movd xmm6, eax
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x22380f66; BYTE $0xc0 // pmovsxbq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x22380f66; BYTE $0xc9 // pmovsxbq xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x22380f66; BYTE $0xed // pmovsxbq xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x22380f66; BYTE $0xf6 // pmovsxbq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf02c // movupd oword [r8 + 8*rsi], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm6
LONG $0x3144b70f; BYTE $0x04 // movzx eax, word [rcx + rsi + 4]
LONG $0xe86e0f66 // movd xmm5, eax
LONG $0x3144b70f; BYTE $0x06 // movzx eax, word [rcx + rsi + 6]
LONG $0xf06e0f66 // movd xmm6, eax
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x22380f66; BYTE $0xc0 // pmovsxbq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x22380f66; BYTE $0xc9 // pmovsxbq xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x22380f66; BYTE $0xed // pmovsxbq xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x22380f66; BYTE $0xf6 // pmovsxbq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf06c; BYTE $0x20 // movupd oword [r8 + 8*rsi + 32], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x30 // movupd oword [r8 + 8*rsi + 48], xmm6
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_683
JMP LBB4_1358
LBB4_686:
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_1366
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
QUAD $0x000000908d6f0f66 // movdqa xmm1, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_688:
LONG $0x146f0ff3; BYTE $0xf1 // movdqu xmm2, oword [rcx + 8*rsi]
LONG $0x5c6f0ff3; WORD $0x10f1 // movdqu xmm3, oword [rcx + 8*rsi + 16]
LONG $0x29380f66; BYTE $0xd0 // pcmpeqq xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0xf014 // movdqu oword [r8 + 8*rsi], xmm2
LONG $0x7f0f41f3; WORD $0xf05c; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm3
LONG $0x546f0ff3; WORD $0x20f1 // movdqu xmm2, oword [rcx + 8*rsi + 32]
LONG $0x5c6f0ff3; WORD $0x30f1 // movdqu xmm3, oword [rcx + 8*rsi + 48]
LONG $0x29380f66; BYTE $0xd0 // pcmpeqq xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0xf054; BYTE $0x20 // movdqu oword [r8 + 8*rsi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xf05c; BYTE $0x30 // movdqu oword [r8 + 8*rsi + 48], xmm3
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_688
JMP LBB4_1367
LBB4_697:
WORD $0x8944; BYTE $0xda // mov edx, r11d
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_1374
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_699:
LONG $0x2c6f0ff3; BYTE $0xf1 // movdqu xmm5, oword [rcx + 8*rsi]
LONG $0x746f0ff3; WORD $0x10f1 // movdqu xmm6, oword [rcx + 8*rsi + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0x37380f66; BYTE $0xc5 // pcmpgtq xmm0, xmm5
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0x37380f66; BYTE $0xce // pcmpgtq xmm1, xmm6
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x15380f66; BYTE $0xfd // blendvpd xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xee // blendvpd xmm5, xmm6, xmm0
LONG $0x110f4166; WORD $0xf03c // movupd oword [r8 + 8*rsi], xmm7
LONG $0x110f4166; WORD $0xf06c; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x20f1 // movdqu xmm5, oword [rcx + 8*rsi + 32]
LONG $0x746f0ff3; WORD $0x30f1 // movdqu xmm6, oword [rcx + 8*rsi + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0x37380f66; BYTE $0xc5 // pcmpgtq xmm0, xmm5
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0x37380f66; BYTE $0xce // pcmpgtq xmm1, xmm6
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x15380f66; BYTE $0xfd // blendvpd xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xee // blendvpd xmm5, xmm6, xmm0
LONG $0x110f4166; WORD $0xf07c; BYTE $0x20 // movupd oword [r8 + 8*rsi + 32], xmm7
LONG $0x110f4166; WORD $0xf06c; BYTE $0x30 // movupd oword [r8 + 8*rsi + 48], xmm5
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_699
JMP LBB4_1375
LBB4_710:
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_1383
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x00000090956f0f66 // movdqa xmm2, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_712:
LONG $0x3104b70f // movzx eax, word [rcx + rsi]
LONG $0xd86e0f66 // movd xmm3, eax
LONG $0x3144b70f; BYTE $0x02 // movzx eax, word [rcx + rsi + 2]
LONG $0xe06e0f66 // movd xmm4, eax
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x32380f66; BYTE $0xdb // pmovzxbq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x32380f66; BYTE $0xe4 // pmovzxbq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf01c // movdqu oword [r8 + 8*rsi], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm4
LONG $0x3144b70f; BYTE $0x04 // movzx eax, word [rcx + rsi + 4]
LONG $0xd86e0f66 // movd xmm3, eax
LONG $0x3144b70f; BYTE $0x06 // movzx eax, word [rcx + rsi + 6]
LONG $0xe06e0f66 // movd xmm4, eax
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x32380f66; BYTE $0xdb // pmovzxbq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x32380f66; BYTE $0xe4 // pmovzxbq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf05c; BYTE $0x20 // movdqu oword [r8 + 8*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x30 // movdqu oword [r8 + 8*rsi + 48], xmm4
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_712
JMP LBB4_1384
LBB4_730:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
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 LBB4_1391
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_732:
LONG $0x2c7e0ff3; BYTE $0x31 // movq xmm5, qword [rcx + rsi]
LONG $0x747e0ff3; WORD $0x0831 // movq xmm6, qword [rcx + rsi + 8]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x20380f66; BYTE $0xc0 // pmovsxbw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x20380f66; BYTE $0xc9 // pmovsxbw xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x20380f66; BYTE $0xed // pmovsxbw xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x20380f66; BYTE $0xf6 // pmovsxbw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7f0f41f3; WORD $0x702c // movdqu oword [r8 + 2*rsi], xmm5
LONG $0x7f0f41f3; WORD $0x7074; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm6
LONG $0x6c7e0ff3; WORD $0x1031 // movq xmm5, qword [rcx + rsi + 16]
LONG $0x747e0ff3; WORD $0x1831 // movq xmm6, qword [rcx + rsi + 24]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x20380f66; BYTE $0xc0 // pmovsxbw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x20380f66; BYTE $0xc9 // pmovsxbw xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x20380f66; BYTE $0xed // pmovsxbw xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x20380f66; BYTE $0xf6 // pmovsxbw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7f0f41f3; WORD $0x706c; BYTE $0x20 // movdqu oword [r8 + 2*rsi + 32], xmm5
LONG $0x7f0f41f3; WORD $0x7074; BYTE $0x30 // movdqu oword [r8 + 2*rsi + 48], xmm6
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_732
JMP LBB4_1392
LBB4_735:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
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 LBB4_1400
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_737:
LONG $0x2c7e0ff3; BYTE $0x31 // movq xmm5, qword [rcx + rsi]
LONG $0x747e0ff3; WORD $0x0831 // movq xmm6, qword [rcx + rsi + 8]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x20380f66; BYTE $0xc0 // pmovsxbw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x20380f66; BYTE $0xc9 // pmovsxbw xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x20380f66; BYTE $0xed // pmovsxbw xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x20380f66; BYTE $0xf6 // pmovsxbw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7f0f41f3; WORD $0x702c // movdqu oword [r8 + 2*rsi], xmm5
LONG $0x7f0f41f3; WORD $0x7074; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm6
LONG $0x6c7e0ff3; WORD $0x1031 // movq xmm5, qword [rcx + rsi + 16]
LONG $0x747e0ff3; WORD $0x1831 // movq xmm6, qword [rcx + rsi + 24]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x20380f66; BYTE $0xc0 // pmovsxbw xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x20380f66; BYTE $0xc9 // pmovsxbw xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x20380f66; BYTE $0xed // pmovsxbw xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x20380f66; BYTE $0xf6 // pmovsxbw xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7f0f41f3; WORD $0x706c; BYTE $0x20 // movdqu oword [r8 + 2*rsi + 32], xmm5
LONG $0x7f0f41f3; WORD $0x7074; BYTE $0x30 // movdqu oword [r8 + 2*rsi + 48], xmm6
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_737
JMP LBB4_1401
LBB4_746:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
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 LBB4_1409
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
QUAD $0x000000e08d6f0f66 // movdqa xmm1, oword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_748:
LONG $0x146f0ff3; BYTE $0x71 // movdqu xmm2, oword [rcx + 2*rsi]
LONG $0x5c6f0ff3; WORD $0x1071 // movdqu xmm3, oword [rcx + 2*rsi + 16]
LONG $0xd0750f66 // pcmpeqw xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0x7014 // movdqu oword [r8 + 2*rsi], xmm2
LONG $0x7f0f41f3; WORD $0x705c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm3
LONG $0x546f0ff3; WORD $0x2071 // movdqu xmm2, oword [rcx + 2*rsi + 32]
LONG $0x5c6f0ff3; WORD $0x3071 // movdqu xmm3, oword [rcx + 2*rsi + 48]
LONG $0xd0750f66 // pcmpeqw xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0x7054; BYTE $0x20 // movdqu oword [r8 + 2*rsi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x705c; BYTE $0x30 // movdqu oword [r8 + 2*rsi + 48], xmm3
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_748
JMP LBB4_1410
LBB4_751:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
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 LBB4_1417
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
QUAD $0x000000e08d6f0f66 // movdqa xmm1, oword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_753:
LONG $0x146f0ff3; BYTE $0x71 // movdqu xmm2, oword [rcx + 2*rsi]
LONG $0x5c6f0ff3; WORD $0x1071 // movdqu xmm3, oword [rcx + 2*rsi + 16]
LONG $0xd0750f66 // pcmpeqw xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0x7014 // movdqu oword [r8 + 2*rsi], xmm2
LONG $0x7f0f41f3; WORD $0x705c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm3
LONG $0x546f0ff3; WORD $0x2071 // movdqu xmm2, oword [rcx + 2*rsi + 32]
LONG $0x5c6f0ff3; WORD $0x3071 // movdqu xmm3, oword [rcx + 2*rsi + 48]
LONG $0xd0750f66 // pcmpeqw xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0x7054; BYTE $0x20 // movdqu oword [r8 + 2*rsi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x705c; BYTE $0x30 // movdqu oword [r8 + 2*rsi + 48], xmm3
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_753
JMP LBB4_1418
LBB4_756:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xf0 // and edx, -16
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 LBB4_1425
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_758:
LONG $0x2c6f0ff3; BYTE $0x71 // movdqu xmm5, oword [rcx + 2*rsi]
LONG $0x746f0ff3; WORD $0x1071 // movdqu xmm6, oword [rcx + 2*rsi + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5650f66 // pcmpgtw xmm0, xmm5
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce650f66 // pcmpgtw xmm1, xmm6
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x7f0f41f3; WORD $0x703c // movdqu oword [r8 + 2*rsi], xmm7
LONG $0x7f0f41f3; WORD $0x706c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2071 // movdqu xmm5, oword [rcx + 2*rsi + 32]
LONG $0x746f0ff3; WORD $0x3071 // movdqu xmm6, oword [rcx + 2*rsi + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5650f66 // pcmpgtw xmm0, xmm5
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce650f66 // pcmpgtw xmm1, xmm6
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x7f0f41f3; WORD $0x707c; BYTE $0x20 // movdqu oword [r8 + 2*rsi + 32], xmm7
LONG $0x7f0f41f3; WORD $0x706c; BYTE $0x30 // movdqu oword [r8 + 2*rsi + 48], xmm5
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_758
JMP LBB4_1426
LBB4_761:
WORD $0x8944; BYTE $0xda // mov edx, r11d
WORD $0xe283; BYTE $0xf0 // and edx, -16
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 LBB4_1434
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_763:
LONG $0x2c6f0ff3; BYTE $0x71 // movdqu xmm5, oword [rcx + 2*rsi]
LONG $0x746f0ff3; WORD $0x1071 // movdqu xmm6, oword [rcx + 2*rsi + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5650f66 // pcmpgtw xmm0, xmm5
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce650f66 // pcmpgtw xmm1, xmm6
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x7f0f41f3; WORD $0x703c // movdqu oword [r8 + 2*rsi], xmm7
LONG $0x7f0f41f3; WORD $0x706c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2071 // movdqu xmm5, oword [rcx + 2*rsi + 32]
LONG $0x746f0ff3; WORD $0x3071 // movdqu xmm6, oword [rcx + 2*rsi + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5650f66 // pcmpgtw xmm0, xmm5
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce650f66 // pcmpgtw xmm1, xmm6
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x7f0f41f3; WORD $0x707c; BYTE $0x20 // movdqu oword [r8 + 2*rsi + 32], xmm7
LONG $0x7f0f41f3; WORD $0x706c; BYTE $0x30 // movdqu oword [r8 + 2*rsi + 48], xmm5
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_763
JMP LBB4_1435
LBB4_778:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
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 LBB4_1443
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x000000e0956f0f66 // movdqa xmm2, oword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_780:
LONG $0x1c7e0ff3; BYTE $0x31 // movq xmm3, qword [rcx + rsi]
LONG $0x647e0ff3; WORD $0x0831 // movq xmm4, qword [rcx + rsi + 8]
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x30380f66; BYTE $0xdb // pmovzxbw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x30380f66; BYTE $0xe4 // pmovzxbw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0x701c // movdqu oword [r8 + 2*rsi], xmm3
LONG $0x7f0f41f3; WORD $0x7064; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm4
LONG $0x5c7e0ff3; WORD $0x1031 // movq xmm3, qword [rcx + rsi + 16]
LONG $0x647e0ff3; WORD $0x1831 // movq xmm4, qword [rcx + rsi + 24]
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x30380f66; BYTE $0xdb // pmovzxbw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x30380f66; BYTE $0xe4 // pmovzxbw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0x705c; BYTE $0x20 // movdqu oword [r8 + 2*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0x7064; BYTE $0x30 // movdqu oword [r8 + 2*rsi + 48], xmm4
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_780
JMP LBB4_1444
LBB4_783:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
WORD $0xe283; BYTE $0xf0 // and edx, -16
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 LBB4_1451
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x000000e0956f0f66 // movdqa xmm2, oword 224[rbp] /* [rip + .LCPI4_20] */
LBB4_785:
LONG $0x1c7e0ff3; BYTE $0x31 // movq xmm3, qword [rcx + rsi]
LONG $0x647e0ff3; WORD $0x0831 // movq xmm4, qword [rcx + rsi + 8]
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x30380f66; BYTE $0xdb // pmovzxbw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x30380f66; BYTE $0xe4 // pmovzxbw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0x701c // movdqu oword [r8 + 2*rsi], xmm3
LONG $0x7f0f41f3; WORD $0x7064; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm4
LONG $0x5c7e0ff3; WORD $0x1031 // movq xmm3, qword [rcx + rsi + 16]
LONG $0x647e0ff3; WORD $0x1831 // movq xmm4, qword [rcx + rsi + 24]
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x30380f66; BYTE $0xdb // pmovzxbw xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x30380f66; BYTE $0xe4 // pmovzxbw xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0x705c; BYTE $0x20 // movdqu oword [r8 + 2*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0x7064; BYTE $0x30 // movdqu oword [r8 + 2*rsi + 48], xmm4
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_785
JMP LBB4_1452
LBB4_806:
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_1459
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_808:
LONG $0x3104b70f // movzx eax, word [rcx + rsi]
LONG $0xe86e0f66 // movd xmm5, eax
LONG $0x3144b70f; BYTE $0x02 // movzx eax, word [rcx + rsi + 2]
LONG $0xf06e0f66 // movd xmm6, eax
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x22380f66; BYTE $0xc0 // pmovsxbq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x22380f66; BYTE $0xc9 // pmovsxbq xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x22380f66; BYTE $0xed // pmovsxbq xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x22380f66; BYTE $0xf6 // pmovsxbq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf02c // movupd oword [r8 + 8*rsi], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm6
LONG $0x3144b70f; BYTE $0x04 // movzx eax, word [rcx + rsi + 4]
LONG $0xe86e0f66 // movd xmm5, eax
LONG $0x3144b70f; BYTE $0x06 // movzx eax, word [rcx + rsi + 6]
LONG $0xf06e0f66 // movd xmm6, eax
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x22380f66; BYTE $0xc0 // pmovsxbq xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x22380f66; BYTE $0xc9 // pmovsxbq xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x22380f66; BYTE $0xed // pmovsxbq xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x22380f66; BYTE $0xf6 // pmovsxbq xmm6, xmm6
LONG $0x15380f66; BYTE $0xec // blendvpd xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xf4 // blendvpd xmm6, xmm4, xmm0
LONG $0x110f4166; WORD $0xf06c; BYTE $0x20 // movupd oword [r8 + 8*rsi + 32], xmm5
LONG $0x110f4166; WORD $0xf074; BYTE $0x30 // movupd oword [r8 + 8*rsi + 48], xmm6
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_808
JMP LBB4_1460
LBB4_811:
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_1468
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xd0a5280f; WORD $0x0000; BYTE $0x00 // movaps xmm4, oword 208[rbp] /* [rip + .LCPI4_19] */
LBB4_813:
LONG $0x2c6e0f66; BYTE $0x31 // movd xmm5, dword [rcx + rsi]
LONG $0x746e0f66; WORD $0x0431 // movd xmm6, dword [rcx + rsi + 4]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x21380f66; BYTE $0xc0 // pmovsxbd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x21380f66; BYTE $0xc9 // pmovsxbd xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x21380f66; BYTE $0xed // pmovsxbd xmm5, xmm5
WORD $0x5b0f; BYTE $0xed // cvtdq2ps xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x21380f66; BYTE $0xf6 // pmovsxbd xmm6, xmm6
WORD $0x5b0f; BYTE $0xf6 // cvtdq2ps xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x2c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm5
LONG $0x74110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm6
LONG $0x6c6e0f66; WORD $0x0831 // movd xmm5, dword [rcx + rsi + 8]
LONG $0x746e0f66; WORD $0x0c31 // movd xmm6, dword [rcx + rsi + 12]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x21380f66; BYTE $0xc0 // pmovsxbd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x21380f66; BYTE $0xc9 // pmovsxbd xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x21380f66; BYTE $0xed // pmovsxbd xmm5, xmm5
WORD $0x5b0f; BYTE $0xed // cvtdq2ps xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x21380f66; BYTE $0xf6 // pmovsxbd xmm6, xmm6
WORD $0x5b0f; BYTE $0xf6 // cvtdq2ps xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x6c110f41; WORD $0x20b0 // movups oword [r8 + 4*rsi + 32], xmm5
LONG $0x74110f41; WORD $0x30b0 // movups oword [r8 + 4*rsi + 48], xmm6
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_813
JMP LBB4_1469
LBB4_816:
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_1490
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
QUAD $0x000000908d6f0f66 // movdqa xmm1, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_818:
LONG $0x146f0ff3; BYTE $0xf1 // movdqu xmm2, oword [rcx + 8*rsi]
LONG $0x5c6f0ff3; WORD $0x10f1 // movdqu xmm3, oword [rcx + 8*rsi + 16]
LONG $0x29380f66; BYTE $0xd0 // pcmpeqq xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0xf014 // movdqu oword [r8 + 8*rsi], xmm2
LONG $0x7f0f41f3; WORD $0xf05c; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm3
LONG $0x546f0ff3; WORD $0x20f1 // movdqu xmm2, oword [rcx + 8*rsi + 32]
LONG $0x5c6f0ff3; WORD $0x30f1 // movdqu xmm3, oword [rcx + 8*rsi + 48]
LONG $0x29380f66; BYTE $0xd0 // pcmpeqq xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0xf054; BYTE $0x20 // movdqu oword [r8 + 8*rsi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xf05c; BYTE $0x30 // movdqu oword [r8 + 8*rsi + 48], xmm3
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_818
JMP LBB4_1491
LBB4_843:
WORD $0x8944; BYTE $0xda // mov edx, r11d
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_1498
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_845:
LONG $0x2c6f0ff3; BYTE $0xf1 // movdqu xmm5, oword [rcx + 8*rsi]
LONG $0x746f0ff3; WORD $0x10f1 // movdqu xmm6, oword [rcx + 8*rsi + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0x37380f66; BYTE $0xc5 // pcmpgtq xmm0, xmm5
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0x37380f66; BYTE $0xce // pcmpgtq xmm1, xmm6
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x15380f66; BYTE $0xfd // blendvpd xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xee // blendvpd xmm5, xmm6, xmm0
LONG $0x110f4166; WORD $0xf03c // movupd oword [r8 + 8*rsi], xmm7
LONG $0x110f4166; WORD $0xf06c; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x20f1 // movdqu xmm5, oword [rcx + 8*rsi + 32]
LONG $0x746f0ff3; WORD $0x30f1 // movdqu xmm6, oword [rcx + 8*rsi + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0x37380f66; BYTE $0xc5 // pcmpgtq xmm0, xmm5
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0x37380f66; BYTE $0xce // pcmpgtq xmm1, xmm6
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x15380f66; BYTE $0xfd // blendvpd xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xee // blendvpd xmm5, xmm6, xmm0
LONG $0x110f4166; WORD $0xf07c; BYTE $0x20 // movupd oword [r8 + 8*rsi + 32], xmm7
LONG $0x110f4166; WORD $0xf06c; BYTE $0x30 // movupd oword [r8 + 8*rsi + 48], xmm5
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_845
JMP LBB4_1499
LBB4_989:
QUAD $0x0000013085100ff3 // movss xmm0, dword 304[rbp] /* [rip + .LCPI4_14] */
LBB4_990:
JLE LBB4_992
QUAD $0x0000012885100ff3 // movss xmm0, dword 296[rbp] /* [rip + .LCPI4_5] */
LBB4_992:
LONG $0x110f41f3; WORD $0x8004 // movss dword [r8 + 4*rax], xmm0
JMP LBB4_1655
LBB4_866:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf8 // and edx, -8
WORD $0xf631 // xor esi, esi
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x4d6f0f66; BYTE $0x50 // movdqa xmm1, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_867:
LONG $0x146f0ff3; BYTE $0xb1 // movdqu xmm2, oword [rcx + 4*rsi]
LONG $0x5c6f0ff3; WORD $0x10b1 // movdqu xmm3, oword [rcx + 4*rsi + 16]
LONG $0xe26f0f66 // movdqa xmm4, xmm2
LONG $0xe4720f66; BYTE $0x1f // psrad xmm4, 31
LONG $0xe1eb0f66 // por xmm4, xmm1
LONG $0xeb6f0f66 // movdqa xmm5, xmm3
LONG $0xe5720f66; BYTE $0x1f // psrad xmm5, 31
LONG $0xe9eb0f66 // por xmm5, xmm1
WORD $0x5b0f; BYTE $0xe4 // cvtdq2ps xmm4, xmm4
WORD $0x5b0f; BYTE $0xed // cvtdq2ps xmm5, xmm5
LONG $0x04d0c20f // cmpneqps xmm2, xmm0
WORD $0x540f; BYTE $0xd4 // andps xmm2, xmm4
LONG $0x04d8c20f // cmpneqps xmm3, xmm0
WORD $0x540f; BYTE $0xdd // andps xmm3, xmm5
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LONG $0x5c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm3
LONG $0x08c68348 // add rsi, 8
WORD $0x3948; BYTE $0xf2 // cmp rdx, rsi
JNE LBB4_867
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_869
LBB4_876:
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_1507
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x00000090956f0f66 // movdqa xmm2, oword 144[rbp] /* [rip + .LCPI4_15] */
LBB4_878:
LONG $0x3104b70f // movzx eax, word [rcx + rsi]
LONG $0xd86e0f66 // movd xmm3, eax
LONG $0x3144b70f; BYTE $0x02 // movzx eax, word [rcx + rsi + 2]
LONG $0xe06e0f66 // movd xmm4, eax
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x32380f66; BYTE $0xdb // pmovzxbq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x32380f66; BYTE $0xe4 // pmovzxbq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf01c // movdqu oword [r8 + 8*rsi], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm4
LONG $0x3144b70f; BYTE $0x04 // movzx eax, word [rcx + rsi + 4]
LONG $0xd86e0f66 // movd xmm3, eax
LONG $0x3144b70f; BYTE $0x06 // movzx eax, word [rcx + rsi + 6]
LONG $0xe06e0f66 // movd xmm4, eax
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x32380f66; BYTE $0xdb // pmovzxbq xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x32380f66; BYTE $0xe4 // pmovzxbq xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xf05c; BYTE $0x20 // movdqu oword [r8 + 8*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xf064; BYTE $0x30 // movdqu oword [r8 + 8*rsi + 48], xmm4
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_878
JMP LBB4_1508
LBB4_881:
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_1515
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0x556f0f66; BYTE $0x50 // movdqa xmm2, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_883:
LONG $0x1c6e0f66; BYTE $0x31 // movd xmm3, dword [rcx + rsi]
LONG $0x646e0f66; WORD $0x0431 // movd xmm4, dword [rcx + rsi + 4]
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x31380f66; BYTE $0xdb // pmovzxbd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
WORD $0x5b0f; BYTE $0xdb // cvtdq2ps xmm3, xmm3
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x31380f66; BYTE $0xe4 // pmovzxbd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
WORD $0x5b0f; BYTE $0xe4 // cvtdq2ps xmm4, xmm4
LONG $0x1c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm3
LONG $0x64110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm4
LONG $0x5c6e0f66; WORD $0x0831 // movd xmm3, dword [rcx + rsi + 8]
LONG $0x646e0f66; WORD $0x0c31 // movd xmm4, dword [rcx + rsi + 12]
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x31380f66; BYTE $0xdb // pmovzxbd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
WORD $0x5b0f; BYTE $0xdb // cvtdq2ps xmm3, xmm3
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x31380f66; BYTE $0xe4 // pmovzxbd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
WORD $0x5b0f; BYTE $0xe4 // cvtdq2ps xmm4, xmm4
LONG $0x5c110f41; WORD $0x20b0 // movups oword [r8 + 4*rsi + 32], xmm3
LONG $0x64110f41; WORD $0x30b0 // movups oword [r8 + 4*rsi + 48], xmm4
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_883
JMP LBB4_1516
LBB4_892:
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_1535
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x00000080956f0f66 // movdqa xmm2, oword 128[rbp] /* [rip + .LCPI4_12] */
LBB4_894:
LONG $0x1c6f0ff3; BYTE $0xb1 // movdqu xmm3, oword [rcx + 4*rsi]
LONG $0x646f0ff3; WORD $0x10b1 // movdqu xmm4, oword [rcx + 4*rsi + 16]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe4630f66 // packsswb xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7e0f4166; WORD $0x301c // movd dword [r8 + rsi], xmm3
LONG $0x7e0f4166; WORD $0x3064; BYTE $0x04 // movd dword [r8 + rsi + 4], xmm4
LONG $0x5c6f0ff3; WORD $0x20b1 // movdqu xmm3, oword [rcx + 4*rsi + 32]
LONG $0x646f0ff3; WORD $0x30b1 // movdqu xmm4, oword [rcx + 4*rsi + 48]
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0760f66 // pcmpeqd xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe4630f66 // packsswb xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7e0f4166; WORD $0x305c; BYTE $0x08 // movd dword [r8 + rsi + 8], xmm3
LONG $0x7e0f4166; WORD $0x3064; BYTE $0x0c // movd dword [r8 + rsi + 12], xmm4
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_894
JMP LBB4_1536
LBB4_897:
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_1543
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0x5d280f66; BYTE $0x00 // movapd xmm3, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0x65280f66; BYTE $0x10 // movapd xmm4, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0x6d6f0f66; BYTE $0x40 // movdqa xmm5, oword 64[rbp] /* [rip + .LCPI4_7] */
LBB4_899:
LONG $0x34100f66; BYTE $0xf1 // movupd xmm6, oword [rcx + 8*rsi]
LONG $0x7c100f66; WORD $0x10f1 // movupd xmm7, oword [rcx + 8*rsi + 16]
LONG $0xc6280f66 // movapd xmm0, xmm6
LONG $0xc2c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcf280f66 // movapd xmm1, xmm7
LONG $0xcac20f66; BYTE $0x00 // cmpeqpd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xf3540f66 // andpd xmm6, xmm3
LONG $0xf4560f66 // orpd xmm6, xmm4
LONG $0xfb540f66 // andpd xmm7, xmm3
LONG $0xfc560f66 // orpd xmm7, xmm4
LONG $0xf6e60f66 // cvttpd2dq xmm6, xmm6
LONG $0x00380f66; BYTE $0xf5 // pshufb xmm6, xmm5
LONG $0xffe60f66 // cvttpd2dq xmm7, xmm7
LONG $0x00380f66; BYTE $0xfd // pshufb xmm7, xmm5
LONG $0x10380f66; BYTE $0xf2 // pblendvb xmm6, xmm2, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xfa // pblendvb xmm7, xmm2, xmm0
QUAD $0x003034153a0f4166 // pextrw word [r8 + rsi], xmm6, 0
QUAD $0x02307c153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 2], xmm7, 0
LONG $0x74100f66; WORD $0x20f1 // movupd xmm6, oword [rcx + 8*rsi + 32]
LONG $0x7c100f66; WORD $0x30f1 // movupd xmm7, oword [rcx + 8*rsi + 48]
LONG $0xc6280f66 // movapd xmm0, xmm6
LONG $0xc2c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcf280f66 // movapd xmm1, xmm7
LONG $0xcac20f66; BYTE $0x00 // cmpeqpd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xf3540f66 // andpd xmm6, xmm3
LONG $0xf4560f66 // orpd xmm6, xmm4
LONG $0xfb540f66 // andpd xmm7, xmm3
LONG $0xfc560f66 // orpd xmm7, xmm4
LONG $0xf6e60f66 // cvttpd2dq xmm6, xmm6
LONG $0x00380f66; BYTE $0xf5 // pshufb xmm6, xmm5
LONG $0xffe60f66 // cvttpd2dq xmm7, xmm7
LONG $0x00380f66; BYTE $0xfd // pshufb xmm7, xmm5
LONG $0x10380f66; BYTE $0xf2 // pblendvb xmm6, xmm2, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xfa // pblendvb xmm7, xmm2, xmm0
QUAD $0x043074153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 4], xmm6, 0
QUAD $0x06307c153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 6], xmm7, 0
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_899
JMP LBB4_1544
LBB4_902:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xe0 // and esi, -32
LONG $0xe0468d48 // lea rax, [rsi - 32]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x05e9c149 // shr r9, 5
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1552
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000100a56f0f66 // movdqa xmm4, oword 256[rbp] /* [rip + .LCPI4_22] */
LBB4_904:
LONG $0x2c6f0ff3; BYTE $0x01 // movdqu xmm5, oword [rcx + rax]
LONG $0x746f0ff3; WORD $0x1001 // movdqu xmm6, oword [rcx + rax + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5640f66 // pcmpgtb xmm0, xmm5
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce640f66 // pcmpgtb xmm1, xmm6
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x7f0f41f3; WORD $0x003c // movdqu oword [r8 + rax], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x2001 // movdqu xmm5, oword [rcx + rax + 32]
LONG $0x746f0ff3; WORD $0x3001 // movdqu xmm6, oword [rcx + rax + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5640f66 // pcmpgtb xmm0, xmm5
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce640f66 // pcmpgtb xmm1, xmm6
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x10380f66; BYTE $0xfd // pblendvb xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0x7f0f41f3; WORD $0x007c; BYTE $0x20 // movdqu oword [r8 + rax + 32], xmm7
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x30 // movdqu oword [r8 + rax + 48], xmm5
LONG $0x40c08348 // add rax, 64
LONG $0x02c78348 // add rdi, 2
JNE LBB4_904
JMP LBB4_1553
LBB4_907:
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_1561
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x000000c0956f0f66 // movdqa xmm2, oword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_909:
LONG $0x1c6f0ff3; BYTE $0xf1 // movdqu xmm3, oword [rcx + 8*rsi]
LONG $0x646f0ff3; WORD $0x10f1 // movdqu xmm4, oword [rcx + 8*rsi + 16]
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0x29380f66; BYTE $0xe0 // pcmpeqq xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe4630f66 // packsswb xmm4, xmm4
QUAD $0x00301c153a0f4166 // pextrw word [r8 + rsi], xmm3, 0
LONG $0xe2db0f66 // pand xmm4, xmm2
QUAD $0x023064153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 2], xmm4, 0
LONG $0x5c6f0ff3; WORD $0x20f1 // movdqu xmm3, oword [rcx + 8*rsi + 32]
LONG $0x646f0ff3; WORD $0x30f1 // movdqu xmm4, oword [rcx + 8*rsi + 48]
LONG $0x29380f66; BYTE $0xd8 // pcmpeqq xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0x29380f66; BYTE $0xe0 // pcmpeqq xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe46b0f66 // packssdw xmm4, xmm4
LONG $0xe4630f66 // packsswb xmm4, xmm4
QUAD $0x04305c153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 4], xmm3, 0
LONG $0xe2db0f66 // pand xmm4, xmm2
QUAD $0x063064153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 6], xmm4, 0
LONG $0x08c68348 // add rsi, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_909
JMP LBB4_1562
LBB4_912:
WORD $0xc289 // mov edx, eax
WORD $0xe283; BYTE $0xf0 // and edx, -16
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 LBB4_1569
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
QUAD $0x000000f0956f0f66 // movdqa xmm2, oword 240[rbp] /* [rip + .LCPI4_21] */
LBB4_914:
LONG $0x1c6f0ff3; BYTE $0x71 // movdqu xmm3, oword [rcx + 2*rsi]
LONG $0x646f0ff3; WORD $0x1071 // movdqu xmm4, oword [rcx + 2*rsi + 16]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe4630f66 // packsswb xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0xdc6c0f66 // punpcklqdq xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x301c // movdqu oword [r8 + rsi], xmm3
LONG $0x5c6f0ff3; WORD $0x2071 // movdqu xmm3, oword [rcx + 2*rsi + 32]
LONG $0x646f0ff3; WORD $0x3071 // movdqu xmm4, oword [rcx + 2*rsi + 48]
LONG $0xd8750f66 // pcmpeqw xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0750f66 // pcmpeqw xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0xe4630f66 // packsswb xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0xdc6c0f66 // punpcklqdq xmm3, xmm4
LONG $0x7f0f41f3; WORD $0x305c; BYTE $0x10 // movdqu oword [r8 + rsi + 16], xmm3
LONG $0x20c68348 // add rsi, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_914
JMP LBB4_1570
LBB4_917:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x04e9c149 // shr r9, 4
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1577
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x000000f0a56f0f66 // movdqa xmm4, oword 240[rbp] /* [rip + .LCPI4_21] */
LBB4_919:
LONG $0x2c6f0ff3; BYTE $0x41 // movdqu xmm5, oword [rcx + 2*rax]
LONG $0x746f0ff3; WORD $0x1041 // movdqu xmm6, oword [rcx + 2*rax + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x002c // movdqu oword [r8 + rax], xmm5
LONG $0x6c6f0ff3; WORD $0x2041 // movdqu xmm5, oword [rcx + 2*rax + 32]
LONG $0x746f0ff3; WORD $0x3041 // movdqu xmm6, oword [rcx + 2*rax + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2650f66 // pcmpgtw xmm0, xmm2
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xea750f66 // pcmpeqw xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0xf2750f66 // pcmpeqw xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0xee6c0f66 // punpcklqdq xmm5, xmm6
LONG $0x7f0f41f3; WORD $0x006c; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm5
LONG $0x20c08348 // add rax, 32
LONG $0x02c78348 // add rdi, 2
JNE LBB4_919
JMP LBB4_1578
LBB4_922:
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_1586
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x000000c0a56f0f66 // movdqa xmm4, oword 192[rbp] /* [rip + .LCPI4_18] */
LBB4_924:
LONG $0x2c6f0ff3; BYTE $0xc1 // movdqu xmm5, oword [rcx + 8*rax]
LONG $0x746f0ff3; WORD $0x10c1 // movdqu xmm6, oword [rcx + 8*rax + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
QUAD $0x00002c153a0f4166 // pextrw word [r8 + rax], xmm5, 0
QUAD $0x020074153a0f4166; BYTE $0x00 // pextrw word [r8 + rax + 2], xmm6, 0
LONG $0x6c6f0ff3; WORD $0x20c1 // movdqu xmm5, oword [rcx + 8*rax + 32]
LONG $0x746f0ff3; WORD $0x30c1 // movdqu xmm6, oword [rcx + 8*rax + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0x37380f66; BYTE $0xc2 // pcmpgtq xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0x29380f66; BYTE $0xea // pcmpeqq xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0x29380f66; BYTE $0xf2 // pcmpeqq xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
QUAD $0x04006c153a0f4166; BYTE $0x00 // pextrw word [r8 + rax + 4], xmm5, 0
QUAD $0x060074153a0f4166; BYTE $0x00 // pextrw word [r8 + rax + 6], xmm6, 0
LONG $0x08c08348 // add rax, 8
LONG $0x02c78348 // add rdi, 2
JNE LBB4_924
JMP LBB4_1587
LBB4_927:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1595
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0x760f4566; BYTE $0xc0 // pcmpeqd xmm8, xmm8
QUAD $0x00000080b56f0f66 // movdqa xmm6, oword 128[rbp] /* [rip + .LCPI4_12] */
LBB4_929:
LONG $0xb104100f // movups xmm0, oword [rcx + 4*rsi]
LONG $0xb14c100f; BYTE $0x10 // movups xmm1, oword [rcx + 4*rsi + 16]
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd2630f66 // packsswb xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0x660f4166; BYTE $0xc0 // pcmpgtd xmm0, xmm8
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0x660f4166; BYTE $0xc8 // pcmpgtd xmm1, xmm8
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x303c // movd dword [r8 + rsi], xmm7
LONG $0x7e0f4166; WORD $0x306c; BYTE $0x04 // movd dword [r8 + rsi + 4], xmm5
LONG $0xb144100f; BYTE $0x20 // movups xmm0, oword [rcx + 4*rsi + 32]
LONG $0xb14c100f; BYTE $0x30 // movups xmm1, oword [rcx + 4*rsi + 48]
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd2630f66 // packsswb xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0x660f4166; BYTE $0xc0 // pcmpgtd xmm0, xmm8
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0x660f4166; BYTE $0xc8 // pcmpgtd xmm1, xmm8
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x306c; BYTE $0x08 // movd dword [r8 + rsi + 8], xmm5
LONG $0x7e0f4166; WORD $0x307c; BYTE $0x0c // movd dword [r8 + rsi + 12], xmm7
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_929
JMP LBB4_1596
LBB4_932:
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_1604
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
QUAD $0x000001008d6f0f66 // movdqa xmm1, oword 256[rbp] /* [rip + .LCPI4_22] */
LBB4_934:
LONG $0x146f0ff3; BYTE $0x31 // movdqu xmm2, oword [rcx + rsi]
LONG $0x5c6f0ff3; WORD $0x1031 // movdqu xmm3, oword [rcx + rsi + 16]
LONG $0xd0740f66 // pcmpeqb xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0x3014 // movdqu oword [r8 + rsi], xmm2
LONG $0x7f0f41f3; WORD $0x305c; BYTE $0x10 // movdqu oword [r8 + rsi + 16], xmm3
LONG $0x546f0ff3; WORD $0x2031 // movdqu xmm2, oword [rcx + rsi + 32]
LONG $0x5c6f0ff3; WORD $0x3031 // movdqu xmm3, oword [rcx + rsi + 48]
LONG $0xd0740f66 // pcmpeqb xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0x3054; BYTE $0x20 // movdqu oword [r8 + rsi + 32], xmm2
LONG $0x7f0f41f3; WORD $0x305c; BYTE $0x30 // movdqu oword [r8 + rsi + 48], xmm3
LONG $0x40c68348 // add rsi, 64
LONG $0x02c78348 // add rdi, 2
JNE LBB4_934
JMP LBB4_1605
LBB4_937:
WORD $0x8944; BYTE $0xd6 // mov esi, r10d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc1 // mov r9, rax
LONG $0x03e9c149 // shr r9, 3
LONG $0x01c18349 // add r9, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB4_1612
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
QUAD $0x00000080a56f0f66 // movdqa xmm4, oword 128[rbp] /* [rip + .LCPI4_12] */
LBB4_939:
LONG $0x2c6f0ff3; BYTE $0x81 // movdqu xmm5, oword [rcx + 4*rax]
LONG $0x746f0ff3; WORD $0x1081 // movdqu xmm6, oword [rcx + 4*rax + 16]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x002c // movd dword [r8 + rax], xmm5
LONG $0x7e0f4166; WORD $0x0074; BYTE $0x04 // movd dword [r8 + rax + 4], xmm6
LONG $0x6c6f0ff3; WORD $0x2081 // movdqu xmm5, oword [rcx + 4*rax + 32]
LONG $0x746f0ff3; WORD $0x3081 // movdqu xmm6, oword [rcx + 4*rax + 48]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2660f66 // pcmpgtd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xed6b0f66 // packssdw xmm5, xmm5
LONG $0xed630f66 // packsswb xmm5, xmm5
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xf66b0f66 // packssdw xmm6, xmm6
LONG $0xf6630f66 // packsswb xmm6, xmm6
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xf4 // pblendvb xmm6, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x006c; BYTE $0x08 // movd dword [r8 + rax + 8], xmm5
LONG $0x7e0f4166; WORD $0x0074; BYTE $0x0c // movd dword [r8 + rax + 12], xmm6
LONG $0x10c08348 // add rax, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_939
JMP LBB4_1613
LBB4_942:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1621
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0x4d6f0f66; BYTE $0x50 // movdqa xmm1, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_944:
LONG $0x146f0ff3; BYTE $0xb1 // movdqu xmm2, oword [rcx + 4*rsi]
LONG $0x5c6f0ff3; WORD $0x10b1 // movdqu xmm3, oword [rcx + 4*rsi + 16]
LONG $0xd0760f66 // pcmpeqd xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0xb014 // movdqu oword [r8 + 4*rsi], xmm2
LONG $0x7f0f41f3; WORD $0xb05c; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm3
LONG $0x546f0ff3; WORD $0x20b1 // movdqu xmm2, oword [rcx + 4*rsi + 32]
LONG $0x5c6f0ff3; WORD $0x30b1 // movdqu xmm3, oword [rcx + 4*rsi + 48]
LONG $0xd0760f66 // pcmpeqd xmm2, xmm0
LONG $0xd1df0f66 // pandn xmm2, xmm1
LONG $0xd8760f66 // pcmpeqd xmm3, xmm0
LONG $0xd9df0f66 // pandn xmm3, xmm1
LONG $0x7f0f41f3; WORD $0xb054; BYTE $0x20 // movdqu oword [r8 + 4*rsi + 32], xmm2
LONG $0x7f0f41f3; WORD $0xb05c; BYTE $0x30 // movdqu oword [r8 + 4*rsi + 48], xmm3
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_944
JMP LBB4_1622
LBB4_950:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1629
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x5065280f // movaps xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_952:
LONG $0x2c6e0f66; BYTE $0x31 // movd xmm5, dword [rcx + rsi]
LONG $0x746e0f66; WORD $0x0431 // movd xmm6, dword [rcx + rsi + 4]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x21380f66; BYTE $0xc0 // pmovsxbd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x21380f66; BYTE $0xc9 // pmovsxbd xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x21380f66; BYTE $0xed // pmovsxbd xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x21380f66; BYTE $0xf6 // pmovsxbd xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x2c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm5
LONG $0x74110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm6
LONG $0x6c6e0f66; WORD $0x0831 // movd xmm5, dword [rcx + rsi + 8]
LONG $0x746e0f66; WORD $0x0c31 // movd xmm6, dword [rcx + rsi + 12]
LONG $0xc56f0f66 // movdqa xmm0, xmm5
LONG $0xc2640f66 // pcmpgtb xmm0, xmm2
LONG $0x21380f66; BYTE $0xc0 // pmovsxbd xmm0, xmm0
LONG $0xce6f0f66 // movdqa xmm1, xmm6
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0x21380f66; BYTE $0xc9 // pmovsxbd xmm1, xmm1
LONG $0xea740f66 // pcmpeqb xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0x21380f66; BYTE $0xed // pmovsxbd xmm5, xmm5
LONG $0xf2740f66 // pcmpeqb xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0x21380f66; BYTE $0xf6 // pmovsxbd xmm6, xmm6
LONG $0x14380f66; BYTE $0xec // blendvps xmm5, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xf4 // blendvps xmm6, xmm4, xmm0
LONG $0x6c110f41; WORD $0x20b0 // movups oword [r8 + 4*rsi + 32], xmm5
LONG $0x74110f41; WORD $0x30b0 // movups oword [r8 + 4*rsi + 48], xmm6
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_952
JMP LBB4_1630
LBB4_974:
WORD $0x8944; BYTE $0xd2 // mov edx, r10d
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_1638
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0x556f0f66; BYTE $0x50 // movdqa xmm2, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_976:
LONG $0x1c6e0f66; BYTE $0x31 // movd xmm3, dword [rcx + rsi]
LONG $0x646e0f66; WORD $0x0431 // movd xmm4, dword [rcx + rsi + 4]
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x31380f66; BYTE $0xdb // pmovzxbd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x31380f66; BYTE $0xe4 // pmovzxbd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xb01c // movdqu oword [r8 + 4*rsi], xmm3
LONG $0x7f0f41f3; WORD $0xb064; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm4
LONG $0x5c6e0f66; WORD $0x0831 // movd xmm3, dword [rcx + rsi + 8]
LONG $0x646e0f66; WORD $0x0c31 // movd xmm4, dword [rcx + rsi + 12]
LONG $0xd8740f66 // pcmpeqb xmm3, xmm0
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0x31380f66; BYTE $0xdb // pmovzxbd xmm3, xmm3
LONG $0xdadb0f66 // pand xmm3, xmm2
LONG $0xe0740f66 // pcmpeqb xmm4, xmm0
LONG $0xe1ef0f66 // pxor xmm4, xmm1
LONG $0x31380f66; BYTE $0xe4 // pmovzxbd xmm4, xmm4
LONG $0xe2db0f66 // pand xmm4, xmm2
LONG $0x7f0f41f3; WORD $0xb05c; BYTE $0x20 // movdqu oword [r8 + 4*rsi + 32], xmm3
LONG $0x7f0f41f3; WORD $0xb064; BYTE $0x30 // movdqu oword [r8 + 4*rsi + 48], xmm4
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_976
JMP LBB4_1639
LBB4_979:
WORD $0x8944; BYTE $0xda // mov edx, r11d
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_1646
WORD $0x894c; BYTE $0xcf // mov rdi, r9
LONG $0xfee78348 // and rdi, -2
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xf631 // xor esi, esi
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LBB4_981:
LONG $0x2c6f0ff3; BYTE $0xb1 // movdqu xmm5, oword [rcx + 4*rsi]
LONG $0x746f0ff3; WORD $0x10b1 // movdqu xmm6, oword [rcx + 4*rsi + 16]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5660f66 // pcmpgtd xmm0, xmm5
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce660f66 // pcmpgtd xmm1, xmm6
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x14380f66; BYTE $0xfd // blendvps xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xee // blendvps xmm5, xmm6, xmm0
LONG $0x3c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm7
LONG $0x6c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm5
LONG $0x6c6f0ff3; WORD $0x20b1 // movdqu xmm5, oword [rcx + 4*rsi + 32]
LONG $0x746f0ff3; WORD $0x30b1 // movdqu xmm6, oword [rcx + 4*rsi + 48]
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc5660f66 // pcmpgtd xmm0, xmm5
LONG $0xea760f66 // pcmpeqd xmm5, xmm2
LONG $0xebef0f66 // pxor xmm5, xmm3
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xce660f66 // pcmpgtd xmm1, xmm6
LONG $0xf2760f66 // pcmpeqd xmm6, xmm2
LONG $0xf3ef0f66 // pxor xmm6, xmm3
LONG $0xfc6f0f66 // movdqa xmm7, xmm4
LONG $0x14380f66; BYTE $0xfd // blendvps xmm7, xmm5, xmm0
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xee // blendvps xmm5, xmm6, xmm0
LONG $0x7c110f41; WORD $0x20b0 // movups oword [r8 + 4*rsi + 32], xmm7
LONG $0x6c110f41; WORD $0x30b0 // movups oword [r8 + 4*rsi + 48], xmm5
LONG $0x10c68348 // add rsi, 16
LONG $0x02c78348 // add rdi, 2
JNE LBB4_981
JMP LBB4_1647
LBB4_1475:
QUAD $0x00000130856e0f66 // movd xmm0, dword 304[rbp] /* [rip + .LCPI4_14] */
LBB4_1476:
JLE LBB4_1478
QUAD $0x00000128856e0f66 // movd xmm0, dword 296[rbp] /* [rip + .LCPI4_5] */
LBB4_1478:
LONG $0x7e0f4166; WORD $0x9004 // movd dword [r8 + 4*rdx], xmm0
LONG $0x01ca8348 // or rdx, 1
LBB4_1479:
WORD $0x0148; BYTE $0xc6 // add rsi, rax
JE LBB4_1655
QUAD $0x00000130856e0f66 // movd xmm0, dword 304[rbp] /* [rip + .LCPI4_14] */
QUAD $0x000001288d6e0f66 // movd xmm1, dword 296[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_1482
LBB4_1481:
LONG $0x7e0f4166; WORD $0x905c; BYTE $0x04 // movd dword [r8 + 4*rdx + 4], xmm3
LONG $0x02c28348 // add rdx, 2
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1655
LBB4_1482:
LONG $0x00113c80 // cmp byte [rcx + rdx], 0
LONG $0xd06f0f66 // movdqa xmm2, xmm0
JNE LBB4_1483
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd96f0f66 // movdqa xmm3, xmm1
JLE LBB4_1487
LBB4_1484:
LONG $0x7e0f4166; WORD $0x901c // movd dword [r8 + 4*rdx], xmm3
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd06f0f66 // movdqa xmm2, xmm0
JNE LBB4_1485
LBB4_1488:
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd96f0f66 // movdqa xmm3, xmm1
JG LBB4_1481
JMP LBB4_1489
LBB4_1483:
LONG $0xd96f0f66 // movdqa xmm3, xmm1
JG LBB4_1484
LBB4_1487:
LONG $0xda6f0f66 // movdqa xmm3, xmm2
LONG $0x7e0f4166; WORD $0x901c // movd dword [r8 + 4*rdx], xmm3
LONG $0x01117c80; BYTE $0x00 // cmp byte [rcx + rdx + 1], 0
LONG $0xd06f0f66 // movdqa xmm2, xmm0
JE LBB4_1488
LBB4_1485:
LONG $0xd96f0f66 // movdqa xmm3, xmm1
JG LBB4_1481
LBB4_1489:
LONG $0xda6f0f66 // movdqa xmm3, xmm2
JMP LBB4_1481
LBB4_994:
WORD $0xf631 // xor esi, esi
LBB4_995:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_997
LONG $0x046f0ff3; BYTE $0xf1 // movdqu xmm0, oword [rcx + 8*rsi]
LONG $0x4c6f0ff3; WORD $0x10f1 // movdqu xmm1, oword [rcx + 8*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0x29380f66; BYTE $0xc2 // pcmpeqq xmm0, xmm2
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
QUAD $0x000000a09d6f0f66 // movdqa xmm3, oword 160[rbp] /* [rip + .LCPI4_16] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0x29380f66; BYTE $0xca // pcmpeqq xmm1, xmm2
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb004 // movdqu oword [r8 + 4*rsi], xmm0
LBB4_997:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_998:
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_998
JMP LBB4_1655
LBB4_999:
WORD $0xf631 // xor esi, esi
LBB4_1000:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1002
LONG $0x047e0ff3; BYTE $0xb1 // movq xmm0, qword [rcx + 4*rsi]
LONG $0x4c7e0ff3; WORD $0x08b1 // movq xmm1, qword [rcx + 4*rsi + 8]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2760f66 // pcmpeqd xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x35380f66; BYTE $0xc0 // pmovzxdq xmm0, xmm0
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca760f66 // pcmpeqd xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x35380f66; BYTE $0xc9 // pmovzxdq xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0xf004 // movdqu oword [r8 + 8*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xf04c; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm1
LBB4_1002:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1003:
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_1003
JMP LBB4_1655
LBB4_1004:
WORD $0xff31 // xor edi, edi
LBB4_1005:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1007
LONG $0x04100f66; BYTE $0xf9 // movupd xmm0, oword [rcx + 8*rdi]
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xc8540f66 // andpd xmm1, xmm0
LONG $0x4d560f66; BYTE $0x10 // orpd xmm1, oword 16[rbp] /* [rip + .LCPI4_1] */
QUAD $0x0000011895100ff2 // movsd xmm2, qword 280[rbp] /* [rip + .LCPI4_6] */
LONG $0xd9280f66 // movapd xmm3, xmm1
LONG $0xda5c0ff2 // subsd xmm3, xmm2
LONG $0x2c0f48f2; BYTE $0xc3 // cvttsd2si rax, xmm3
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2c0f48f2; BYTE $0xd1 // cvttsd2si rdx, xmm1
LONG $0xca2e0f66 // ucomisd xmm1, xmm2
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x6e0f4866; BYTE $0xda // movq xmm3, rdx
LONG $0xc9700f66; BYTE $0xee // pshufd xmm1, xmm1, 238
LONG $0xe16f0f66 // movdqa xmm4, xmm1
LONG $0xe25c0ff2 // subsd xmm4, xmm2
LONG $0x2c0f48f2; BYTE $0xc4 // cvttsd2si rax, xmm4
WORD $0x314c; BYTE $0xd8 // xor rax, r11
LONG $0x2c0f48f2; BYTE $0xd1 // cvttsd2si rdx, xmm1
LONG $0xca2e0f66 // ucomisd xmm1, xmm2
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0xd0430f48 // cmovae rdx, rax
LONG $0x6e0f4866; BYTE $0xd2 // movq xmm2, rdx
LONG $0xda6c0f66 // punpcklqdq xmm3, xmm2
LONG $0xc8c20f66; BYTE $0x04 // cmpneqpd xmm1, xmm0
LONG $0xcb540f66 // andpd xmm1, xmm3
LONG $0x110f4166; WORD $0xf80c // movupd oword [r8 + 8*rdi], xmm1
LBB4_1007:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB4_1655
LBB4_1008:
LONG $0x45280f66; BYTE $0x00 // movapd xmm0, oword 0[rbp] /* [rip + .LCPI4_0] */
QUAD $0x000001108d100ff2 // movsd xmm1, qword 272[rbp] /* [rip + .LCPI4_2] */
QUAD $0x0000011895100ff2 // movsd xmm2, qword 280[rbp] /* [rip + .LCPI4_6] */
WORD $0xc031 // xor eax, eax
LONG $0xdb570f66 // xorpd xmm3, xmm3
LBB4_1009:
LONG $0x24100ff2; BYTE $0xf1 // movsd xmm4, qword [rcx + 8*rsi]
LONG $0xec280f66 // movapd xmm5, xmm4
LONG $0xe8540f66 // andpd xmm5, xmm0
LONG $0xe9560f66 // orpd xmm5, xmm1
LONG $0xf5280f66 // movapd xmm6, xmm5
LONG $0xf25c0ff2 // subsd xmm6, xmm2
LONG $0x2c0f48f2; BYTE $0xd6 // cvttsd2si rdx, xmm6
WORD $0x314c; BYTE $0xda // xor rdx, r11
LONG $0x2c0f48f2; BYTE $0xfd // cvttsd2si rdi, xmm5
LONG $0xea2e0f66 // ucomisd xmm5, xmm2
LONG $0xfa430f48 // cmovae rdi, rdx
LONG $0xdc2e0f66 // ucomisd 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_1009
JMP LBB4_1655
LBB4_1010:
WORD $0xf631 // xor esi, esi
LBB4_1011:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1013
LONG $0x046e0f66; BYTE $0x71 // movd xmm0, dword [rcx + 2*rsi]
LONG $0x4c6e0f66; WORD $0x0471 // movd xmm1, dword [rcx + 2*rsi + 4]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2750f66 // pcmpeqw xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x34380f66; BYTE $0xc0 // pmovzxwq xmm0, xmm0
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca750f66 // pcmpeqw xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x34380f66; BYTE $0xc9 // pmovzxwq xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0xf004 // movdqu oword [r8 + 8*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xf04c; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm1
LBB4_1013:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1014:
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_1014
JMP LBB4_1655
LBB4_1015:
WORD $0xf631 // xor esi, esi
LBB4_1016:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1018
LONG $0x146e0f66; BYTE $0x71 // movd xmm2, dword [rcx + 2*rsi]
LONG $0x5c6e0f66; WORD $0x0471 // movd xmm3, dword [rcx + 2*rsi + 4]
LONG $0xe4570f66 // xorpd xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4650f66 // pcmpgtw xmm0, xmm4
LONG $0x24380f66; BYTE $0xc0 // pmovsxwq xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc650f66 // pcmpgtw xmm1, xmm4
LONG $0x24380f66; BYTE $0xc9 // pmovsxwq xmm1, xmm1
LONG $0xd4750f66 // pcmpeqw xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x24380f66; BYTE $0xd2 // pmovsxwq xmm2, xmm2
LONG $0xdc750f66 // pcmpeqw xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x24380f66; BYTE $0xdb // pmovsxwq xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0x15380f66; BYTE $0xd4 // blendvpd xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xdc // blendvpd xmm3, xmm4, xmm0
LONG $0x110f4166; WORD $0xf014 // movupd oword [r8 + 8*rsi], xmm2
LONG $0x110f4166; WORD $0xf05c; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm3
LBB4_1018:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1019:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1020:
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_1020
JMP LBB4_1655
LBB4_993:
WORD $0x500f; BYTE $0xc8 // movmskps ecx, xmm0
WORD $0xe183; BYTE $0x01 // and ecx, 1
WORD $0xd9f7 // neg ecx
WORD $0xc983; BYTE $0x01 // or ecx, 1
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc12a0ff3 // cvtsi2ss xmm0, ecx
QUAD $0x0000012c8d100ff3 // movss xmm1, dword 300[rbp] /* [rip + .LCPI4_9] */
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0xd15c0ff3 // subss xmm2, xmm1
LONG $0x2c0f48f3; BYTE $0xca // cvttss2si rcx, xmm2
QUAD $0x000000000000ba48; WORD $0x8000 // mov rdx, -9223372036854775808
WORD $0x3148; BYTE $0xca // xor rdx, rcx
LONG $0x2c0f48f3; BYTE $0xc8 // cvttss2si rcx, xmm0
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
LONG $0xca430f48 // cmovae rcx, rdx
LONG $0xc00c8949 // mov qword [r8 + 8*rax], rcx
JMP LBB4_1655
LBB4_1021:
WORD $0xf631 // xor esi, esi
LBB4_1022:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1024
LONG $0x147e0ff3; BYTE $0xb1 // movq xmm2, qword [rcx + 4*rsi]
LONG $0x5c7e0ff3; WORD $0x08b1 // movq xmm3, qword [rcx + 4*rsi + 8]
LONG $0xe4570f66 // xorpd xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4660f66 // pcmpgtd xmm0, xmm4
LONG $0x25380f66; BYTE $0xc0 // pmovsxdq xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc660f66 // pcmpgtd xmm1, xmm4
LONG $0x25380f66; BYTE $0xc9 // pmovsxdq xmm1, xmm1
LONG $0xd4760f66 // pcmpeqd xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x25380f66; BYTE $0xd2 // pmovsxdq xmm2, xmm2
LONG $0xdc760f66 // pcmpeqd xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x25380f66; BYTE $0xdb // pmovsxdq xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0x15380f66; BYTE $0xd4 // blendvpd xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xdc // blendvpd xmm3, xmm4, xmm0
LONG $0x110f4166; WORD $0xf014 // movupd oword [r8 + 8*rsi], xmm2
LONG $0x110f4166; WORD $0xf05c; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm3
LBB4_1024:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1025:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1026:
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_1026
JMP LBB4_1655
LBB4_1027:
WORD $0xf631 // xor esi, esi
LBB4_1028:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1030
LONG $0x046f0ff3; BYTE $0xf1 // movdqu xmm0, oword [rcx + 8*rsi]
LONG $0x4c6f0ff3; WORD $0x10f1 // movdqu xmm1, oword [rcx + 8*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0x29380f66; BYTE $0xc2 // pcmpeqq xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
QUAD $0x000000b0a56f0f66 // movdqa xmm4, oword 176[rbp] /* [rip + .LCPI4_17] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0x29380f66; BYTE $0xca // pcmpeqq xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7e0f4166; WORD $0x7004 // movd dword [r8 + 2*rsi], xmm0
LONG $0x7e0f4166; WORD $0x704c; BYTE $0x04 // movd dword [r8 + 2*rsi + 4], xmm1
LBB4_1030:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1031:
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_1031
JMP LBB4_1655
LBB4_1032:
WORD $0xf631 // xor esi, esi
LBB4_1033:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1035
LONG $0x046f0ff3; BYTE $0xf1 // movdqu xmm0, oword [rcx + 8*rsi]
LONG $0x4c6f0ff3; WORD $0x10f1 // movdqu xmm1, oword [rcx + 8*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0x29380f66; BYTE $0xc2 // pcmpeqq xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
QUAD $0x000000b0a56f0f66 // movdqa xmm4, oword 176[rbp] /* [rip + .LCPI4_17] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0x29380f66; BYTE $0xca // pcmpeqq xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7e0f4166; WORD $0x7004 // movd dword [r8 + 2*rsi], xmm0
LONG $0x7e0f4166; WORD $0x704c; BYTE $0x04 // movd dword [r8 + 2*rsi + 4], xmm1
LBB4_1035:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1036:
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_1036
JMP LBB4_1655
LBB4_1037:
WORD $0xf631 // xor esi, esi
LBB4_1038:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1040
LONG $0x146f0ff3; BYTE $0xf1 // movdqu xmm2, oword [rcx + 8*rsi]
LONG $0x5c6f0ff3; WORD $0x10f1 // movdqu xmm3, oword [rcx + 8*rsi + 16]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x37380f66; BYTE $0xc4 // pcmpgtq xmm0, xmm4
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0x37380f66; BYTE $0xcc // pcmpgtq xmm1, xmm4
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0x29380f66; BYTE $0xd4 // pcmpeqq xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0x29380f66; BYTE $0xdc // pcmpeqq xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
QUAD $0x000000b0a56f0f66 // movdqa xmm4, oword 176[rbp] /* [rip + .LCPI4_17] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x7014 // movd dword [r8 + 2*rsi], xmm2
LONG $0x7e0f4166; WORD $0x705c; BYTE $0x04 // movd dword [r8 + 2*rsi + 4], xmm3
LBB4_1040:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1041:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1042:
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_1042
JMP LBB4_1655
LBB4_1043:
WORD $0xf631 // xor esi, esi
LBB4_1044:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1046
LONG $0x146f0ff3; BYTE $0xb1 // movdqu xmm2, oword [rcx + 4*rsi]
LONG $0x5c6f0ff3; WORD $0x10b1 // movdqu xmm3, oword [rcx + 4*rsi + 16]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4660f66 // pcmpgtd xmm0, xmm4
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc660f66 // pcmpgtd xmm1, xmm4
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xd4760f66 // pcmpeqd xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xdc760f66 // pcmpeqd xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0x656f0f66; BYTE $0x70 // movdqa xmm4, oword 112[rbp] /* [rip + .LCPI4_11] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0xd36c0f66 // punpcklqdq xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x7014 // movdqu oword [r8 + 2*rsi], xmm2
LBB4_1046:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1047:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1048:
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_1048
JMP LBB4_1655
LBB4_1049:
WORD $0xf631 // xor esi, esi
LBB4_1050:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1052
LONG $0x146f0ff3; BYTE $0xb1 // movdqu xmm2, oword [rcx + 4*rsi]
LONG $0x5c6f0ff3; WORD $0x10b1 // movdqu xmm3, oword [rcx + 4*rsi + 16]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4660f66 // pcmpgtd xmm0, xmm4
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc660f66 // pcmpgtd xmm1, xmm4
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xd4760f66 // pcmpeqd xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xdc760f66 // pcmpeqd xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0x656f0f66; BYTE $0x70 // movdqa xmm4, oword 112[rbp] /* [rip + .LCPI4_11] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0xd36c0f66 // punpcklqdq xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x7014 // movdqu oword [r8 + 2*rsi], xmm2
LBB4_1052:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1053:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1054:
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_1054
JMP LBB4_1655
LBB4_1055:
WORD $0xf631 // xor esi, esi
LBB4_1056:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1058
LONG $0x046e0f66; BYTE $0x71 // movd xmm0, dword [rcx + 2*rsi]
LONG $0x4c6e0f66; WORD $0x0471 // movd xmm1, dword [rcx + 2*rsi + 4]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2750f66 // pcmpeqw xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x34380f66; BYTE $0xc0 // pmovzxwq xmm0, xmm0
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca750f66 // pcmpeqw xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x34380f66; BYTE $0xc9 // pmovzxwq xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0xf004 // movdqu oword [r8 + 8*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xf04c; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm1
LBB4_1058:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1059:
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_1059
JMP LBB4_1655
LBB4_1060:
WORD $0xf631 // xor esi, esi
LBB4_1061:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1063
LONG $0x147e0ff3; BYTE $0xb1 // movq xmm2, qword [rcx + 4*rsi]
LONG $0x5c7e0ff3; WORD $0x08b1 // movq xmm3, qword [rcx + 4*rsi + 8]
LONG $0xe4570f66 // xorpd xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4660f66 // pcmpgtd xmm0, xmm4
LONG $0x25380f66; BYTE $0xc0 // pmovsxdq xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc660f66 // pcmpgtd xmm1, xmm4
LONG $0x25380f66; BYTE $0xc9 // pmovsxdq xmm1, xmm1
LONG $0xd4760f66 // pcmpeqd xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x25380f66; BYTE $0xd2 // pmovsxdq xmm2, xmm2
LONG $0xdc760f66 // pcmpeqd xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x25380f66; BYTE $0xdb // pmovsxdq xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0x15380f66; BYTE $0xd4 // blendvpd xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xdc // blendvpd xmm3, xmm4, xmm0
LONG $0x110f4166; WORD $0xf014 // movupd oword [r8 + 8*rsi], xmm2
LONG $0x110f4166; WORD $0xf05c; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm3
LBB4_1063:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1064:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1065:
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_1065
JMP LBB4_1655
LBB4_1066:
WORD $0xf631 // xor esi, esi
LBB4_1067:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1069
LONG $0x146f0ff3; BYTE $0xb1 // movdqu xmm2, oword [rcx + 4*rsi]
LONG $0x5c6f0ff3; WORD $0x10b1 // movdqu xmm3, oword [rcx + 4*rsi + 16]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4660f66 // pcmpgtd xmm0, xmm4
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc660f66 // pcmpgtd xmm1, xmm4
LONG $0xd4760f66 // pcmpeqd xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
WORD $0x5b0f; BYTE $0xd2 // cvtdq2ps xmm2, xmm2
LONG $0xdc760f66 // pcmpeqd xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
WORD $0x5b0f; BYTE $0xdb // cvtdq2ps xmm3, xmm3
LONG $0xd0a5280f; WORD $0x0000; BYTE $0x00 // movaps xmm4, oword 208[rbp] /* [rip + .LCPI4_19] */
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xdc // blendvps xmm3, xmm4, xmm0
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LONG $0x5c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm3
LBB4_1069:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1070:
QUAD $0x00000130856e0f66 // movd xmm0, dword 304[rbp] /* [rip + .LCPI4_14] */
QUAD $0x000001288d6e0f66 // movd xmm1, dword 296[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_1072
LBB4_1071:
LONG $0x7e0f4166; WORD $0x901c // movd dword [r8 + 4*rdx], xmm3
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1655
LBB4_1072:
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xd06f0f66 // movdqa xmm2, xmm0
JNE LBB4_1074
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LBB4_1074:
LONG $0xd96f0f66 // movdqa xmm3, xmm1
JG LBB4_1071
LONG $0xda6f0f66 // movdqa xmm3, xmm2
JMP LBB4_1071
LBB4_1076:
WORD $0xff31 // xor edi, edi
LBB4_1077:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1079
LONG $0x04100f66; BYTE $0xf9 // movupd xmm0, oword [rcx + 8*rdi]
LONG $0x4c100f66; WORD $0x10f9 // movupd xmm1, oword [rcx + 8*rdi + 16]
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xd8280f66 // movapd xmm3, xmm0
LONG $0xdac20f66; BYTE $0x00 // cmpeqpd xmm3, xmm2
LONG $0xe8dbc60f // shufps xmm3, xmm3, 232
LONG $0xd1c20f66; BYTE $0x00 // cmpeqpd xmm2, xmm1
LONG $0xe8d2c60f // shufps xmm2, xmm2, 232
LONG $0x65280f66; BYTE $0x00 // movapd xmm4, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xc4540f66 // andpd xmm0, xmm4
LONG $0x6d280f66; BYTE $0x10 // movapd xmm5, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0xc5560f66 // orpd xmm0, xmm5
LONG $0xcc540f66 // andpd xmm1, xmm4
LONG $0xcd560f66 // orpd xmm1, xmm5
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
WORD $0x550f; BYTE $0xd8 // andnps xmm3, xmm0
WORD $0x550f; BYTE $0xd1 // andnps xmm2, xmm1
WORD $0x160f; BYTE $0xda // movlhps xmm3, xmm2
LONG $0x1c110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm3
LBB4_1079:
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_1655
LBB4_1080:
LONG $0xc0570f66 // xorpd xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
QUAD $0x0000011095100ff2 // movsd xmm2, qword 272[rbp] /* [rip + .LCPI4_2] */
LBB4_1081:
LONG $0x1c100ff2; BYTE $0xf1 // movsd xmm3, qword [rcx + 8*rsi]
LONG $0xc32e0f66 // ucomisd xmm0, xmm3
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xda560f66 // orpd xmm3, xmm2
LONG $0xd32c0ff2 // cvttsd2si edx, 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_1081
JMP LBB4_1655
LBB4_1082:
WORD $0xf631 // xor esi, esi
LBB4_1083:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1085
LONG $0x046f0ff3; BYTE $0xf1 // movdqu xmm0, oword [rcx + 8*rsi]
LONG $0x4c6f0ff3; WORD $0x10f1 // movdqu xmm1, oword [rcx + 8*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0x29380f66; BYTE $0xc2 // pcmpeqq xmm0, xmm2
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
QUAD $0x000000a09d6f0f66 // movdqa xmm3, oword 160[rbp] /* [rip + .LCPI4_16] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0x29380f66; BYTE $0xca // pcmpeqq xmm1, xmm2
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0xb004 // movdqu oword [r8 + 4*rsi], xmm0
LBB4_1085:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1086:
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_1086
JMP LBB4_1655
LBB4_1087:
WORD $0xf631 // xor esi, esi
LBB4_1088:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1090
LONG $0x047e0ff3; BYTE $0x71 // movq xmm0, qword [rcx + 2*rsi]
LONG $0x4c7e0ff3; WORD $0x0871 // movq xmm1, qword [rcx + 2*rsi + 8]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2750f66 // pcmpeqw xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x33380f66; BYTE $0xc0 // pmovzxwd xmm0, xmm0
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca750f66 // pcmpeqw xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x33380f66; BYTE $0xc9 // pmovzxwd xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0xb004 // movdqu oword [r8 + 4*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xb04c; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm1
LBB4_1090:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1091:
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_1091
JMP LBB4_1655
LBB4_1092:
WORD $0xf631 // xor esi, esi
LBB4_1093:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1095
LONG $0x147e0ff3; BYTE $0x71 // movq xmm2, qword [rcx + 2*rsi]
LONG $0x5c7e0ff3; WORD $0x0871 // movq xmm3, qword [rcx + 2*rsi + 8]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4650f66 // pcmpgtw xmm0, xmm4
LONG $0x23380f66; BYTE $0xc0 // pmovsxwd xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc650f66 // pcmpgtw xmm1, xmm4
LONG $0x23380f66; BYTE $0xc9 // pmovsxwd xmm1, xmm1
LONG $0xd4750f66 // pcmpeqw xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x23380f66; BYTE $0xd2 // pmovsxwd xmm2, xmm2
LONG $0xdc750f66 // pcmpeqw xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x23380f66; BYTE $0xdb // pmovsxwd xmm3, xmm3
LONG $0x5065280f // movaps xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xdc // blendvps xmm3, xmm4, xmm0
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LONG $0x5c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm3
LBB4_1095:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1096:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1097:
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_1097
JMP LBB4_1655
LBB4_1098:
WORD $0xf631 // xor esi, esi
LBB4_1099:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1101
LONG $0x146f0ff3; BYTE $0xf1 // movdqu xmm2, oword [rcx + 8*rsi]
LONG $0x5c6f0ff3; WORD $0x10f1 // movdqu xmm3, oword [rcx + 8*rsi + 16]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x37380f66; BYTE $0xc4 // pcmpgtq xmm0, xmm4
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0x37380f66; BYTE $0xcc // pcmpgtq xmm1, xmm4
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0x29380f66; BYTE $0xd4 // pcmpeqq xmm2, xmm4
LONG $0xd2700f66; BYTE $0xe8 // pshufd xmm2, xmm2, 232
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x29380f66; BYTE $0xdc // pcmpeqq xmm3, xmm4
LONG $0xdb700f66; BYTE $0xe8 // pshufd xmm3, xmm3, 232
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xa0a5280f; WORD $0x0000; BYTE $0x00 // movaps xmm4, oword 160[rbp] /* [rip + .LCPI4_16] */
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xdc // blendvps xmm3, xmm4, xmm0
WORD $0x160f; BYTE $0xd3 // movlhps xmm2, xmm3
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LBB4_1101:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1102:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1103:
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_1103
JMP LBB4_1655
LBB4_1106:
WORD $0xff31 // xor edi, edi
LBB4_1107:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1109
LONG $0x1c100f66; BYTE $0xf9 // movupd xmm3, oword [rcx + 8*rdi]
LONG $0x54100f66; WORD $0x10f9 // movupd xmm2, oword [rcx + 8*rdi + 16]
LONG $0xc9570f66 // xorpd xmm1, xmm1
LONG $0xc3280f66 // movapd xmm0, xmm3
LONG $0xc1c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm1
LONG $0xe8c0c60f // shufps xmm0, xmm0, 232
LONG $0xcac20f66; BYTE $0x00 // cmpeqpd xmm1, xmm2
LONG $0x65280f66; BYTE $0x00 // movapd xmm4, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xdc540f66 // andpd xmm3, xmm4
LONG $0x6d280f66; BYTE $0x10 // movapd xmm5, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0xdd560f66 // orpd xmm3, xmm5
LONG $0xd4540f66 // andpd xmm2, xmm4
LONG $0xd5560f66 // orpd xmm2, xmm5
LONG $0xe3700f66; BYTE $0xee // pshufd xmm4, xmm3, 238
LONG $0x2c0f48f2; BYTE $0xc4 // cvttsd2si rax, xmm4
LONG $0x2c0f48f2; BYTE $0xd3 // cvttsd2si rdx, xmm3
LONG $0xda6e0f66 // movd xmm3, edx
LONG $0x223a0f66; WORD $0x01d8 // pinsrd xmm3, eax, 1
LONG $0xe2700f66; BYTE $0xee // pshufd xmm4, xmm2, 238
LONG $0x2c0f48f2; BYTE $0xc4 // cvttsd2si rax, xmm4
LONG $0x2c0f48f2; BYTE $0xd2 // cvttsd2si rdx, xmm2
LONG $0xe8c9c60f // shufps xmm1, xmm1, 232
LONG $0xd26e0f66 // movd xmm2, edx
LONG $0x223a0f66; WORD $0x01d0 // pinsrd xmm2, eax, 1
WORD $0x550f; BYTE $0xc3 // andnps xmm0, xmm3
WORD $0x550f; BYTE $0xca // andnps xmm1, xmm2
WORD $0x160f; BYTE $0xc1 // movlhps xmm0, xmm1
LONG $0x04110f41; BYTE $0xb8 // movups oword [r8 + 4*rdi], xmm0
LBB4_1109:
WORD $0x394c; BYTE $0xde // cmp rsi, r11
JE LBB4_1655
LBB4_1110:
LONG $0xc0570f66 // xorpd xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
QUAD $0x0000011095100ff2 // movsd xmm2, qword 272[rbp] /* [rip + .LCPI4_2] */
LBB4_1111:
LONG $0x1c100ff2; BYTE $0xf1 // movsd xmm3, qword [rcx + 8*rsi]
LONG $0xc32e0f66 // ucomisd xmm0, xmm3
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xda560f66 // orpd xmm3, xmm2
LONG $0x2c0f48f2; BYTE $0xc3 // cvttsd2si rax, xmm3
LONG $0xc2440f41 // cmove eax, r10d
LONG $0xb0048941 // mov dword [r8 + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf3 // cmp r11, rsi
JNE LBB4_1111
JMP LBB4_1655
LBB4_1112:
WORD $0xf631 // xor esi, esi
LBB4_1113:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1115
LONG $0x047e0ff3; BYTE $0x71 // movq xmm0, qword [rcx + 2*rsi]
LONG $0x4c7e0ff3; WORD $0x0871 // movq xmm1, qword [rcx + 2*rsi + 8]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2750f66 // pcmpeqw xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x33380f66; BYTE $0xc0 // pmovzxwd xmm0, xmm0
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca750f66 // pcmpeqw xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x33380f66; BYTE $0xc9 // pmovzxwd xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0xb004 // movdqu oword [r8 + 4*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xb04c; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm1
LBB4_1115:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1116:
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_1116
JMP LBB4_1655
LBB4_1117:
WORD $0xf631 // xor esi, esi
LBB4_1118:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1120
LONG $0x147e0ff3; BYTE $0x71 // movq xmm2, qword [rcx + 2*rsi]
LONG $0x5c7e0ff3; WORD $0x0871 // movq xmm3, qword [rcx + 2*rsi + 8]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4650f66 // pcmpgtw xmm0, xmm4
LONG $0x23380f66; BYTE $0xc0 // pmovsxwd xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc650f66 // pcmpgtw xmm1, xmm4
LONG $0x23380f66; BYTE $0xc9 // pmovsxwd xmm1, xmm1
LONG $0xd4750f66 // pcmpeqw xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x23380f66; BYTE $0xd2 // pmovsxwd xmm2, xmm2
LONG $0xdc750f66 // pcmpeqw xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x23380f66; BYTE $0xdb // pmovsxwd xmm3, xmm3
LONG $0x5065280f // movaps xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xdc // blendvps xmm3, xmm4, xmm0
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LONG $0x5c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm3
LBB4_1120:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1121:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1122:
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_1122
JMP LBB4_1655
LBB4_1123:
WORD $0xf631 // xor esi, esi
LBB4_1124:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1126
LONG $0x146f0ff3; BYTE $0xf1 // movdqu xmm2, oword [rcx + 8*rsi]
LONG $0x5c6f0ff3; WORD $0x10f1 // movdqu xmm3, oword [rcx + 8*rsi + 16]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x37380f66; BYTE $0xc4 // pcmpgtq xmm0, xmm4
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0x37380f66; BYTE $0xcc // pcmpgtq xmm1, xmm4
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0x29380f66; BYTE $0xd4 // pcmpeqq xmm2, xmm4
LONG $0xd2700f66; BYTE $0xe8 // pshufd xmm2, xmm2, 232
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x29380f66; BYTE $0xdc // pcmpeqq xmm3, xmm4
LONG $0xdb700f66; BYTE $0xe8 // pshufd xmm3, xmm3, 232
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xa0a5280f; WORD $0x0000; BYTE $0x00 // movaps xmm4, oword 160[rbp] /* [rip + .LCPI4_16] */
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xdc // blendvps xmm3, xmm4, xmm0
WORD $0x160f; BYTE $0xd3 // movlhps xmm2, xmm3
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LBB4_1126:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1127:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1128:
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_1128
JMP LBB4_1655
LBB4_1129:
WORD $0xf631 // xor esi, esi
LBB4_1130:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1132
LONG $0xb104100f // movups xmm0, oword [rcx + 4*rsi]
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0x04c8c20f // cmpneqps xmm1, xmm0
LONG $0xe0720f66; BYTE $0x1f // psrad xmm0, 31
LONG $0x45eb0f66; BYTE $0x50 // por xmm0, oword 80[rbp] /* [rip + .LCPI4_8] */
WORD $0x5b0f; BYTE $0xd0 // cvtdq2ps xmm2, xmm0
LONG $0x605d280f // movaps xmm3, oword 96[rbp] /* [rip + .LCPI4_10] */
WORD $0x280f; BYTE $0xc2 // movaps xmm0, xmm2
LONG $0x01c3c20f // cmpltps xmm0, xmm3
LONG $0xe25b0ff3 // cvttps2dq xmm4, xmm2
WORD $0x5c0f; BYTE $0xd3 // subps xmm2, xmm3
LONG $0xd25b0ff3 // cvttps2dq xmm2, xmm2
LONG $0x3055570f // xorps xmm2, oword 48[rbp] /* [rip + .LCPI4_4] */
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
WORD $0x540f; BYTE $0xca // andps xmm1, xmm2
LONG $0x0c110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm1
LBB4_1132:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1133:
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
JMP LBB4_1135
LBB4_1134:
LONG $0x90348941 // mov dword [r8 + 4*rdx], esi
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1655
LBB4_1135:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
WORD $0xf631 // xor esi, esi
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
JE LBB4_1134
WORD $0x500f; BYTE $0xf1 // movmskps esi, xmm1
WORD $0xe683; BYTE $0x01 // and esi, 1
WORD $0xdef7 // neg esi
WORD $0xce83; BYTE $0x01 // or esi, 1
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0xce2a0ff3 // cvtsi2ss xmm1, esi
LONG $0x2c0f48f3; BYTE $0xf1 // cvttss2si rsi, xmm1
JMP LBB4_1134
LBB4_1137:
WORD $0xf631 // xor esi, esi
LBB4_1138:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1140
LONG $0x046f0ff3; BYTE $0xb1 // movdqu xmm0, oword [rcx + 4*rsi]
LONG $0x4c6f0ff3; WORD $0x10b1 // movdqu xmm1, oword [rcx + 4*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2760f66 // pcmpeqd xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0x656f0f66; BYTE $0x70 // movdqa xmm4, oword 112[rbp] /* [rip + .LCPI4_11] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca760f66 // pcmpeqd xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7004 // movdqu oword [r8 + 2*rsi], xmm0
LBB4_1140:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1141:
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_1141
JMP LBB4_1655
LBB4_1142:
WORD $0xf631 // xor esi, esi
LBB4_1143:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1145
LONG $0x046f0ff3; BYTE $0xb1 // movdqu xmm0, oword [rcx + 4*rsi]
LONG $0x4c6f0ff3; WORD $0x10b1 // movdqu xmm1, oword [rcx + 4*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2760f66 // pcmpeqd xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0x656f0f66; BYTE $0x70 // movdqa xmm4, oword 112[rbp] /* [rip + .LCPI4_11] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca760f66 // pcmpeqd xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x7004 // movdqu oword [r8 + 2*rsi], xmm0
LBB4_1145:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1146:
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_1146
JMP LBB4_1655
LBB4_1147:
WORD $0xff31 // xor edi, edi
LBB4_1148:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1150
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xe4570f66 // xorpd xmm4, xmm4
LONG $0xc2280f66 // movapd xmm0, xmm2
LONG $0xc4c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm4
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xcb280f66 // movapd xmm1, xmm3
LONG $0xccc20f66; BYTE $0x00 // cmpeqpd xmm1, xmm4
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0x6d280f66; BYTE $0x00 // movapd xmm5, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xd5540f66 // andpd xmm2, xmm5
LONG $0x75280f66; BYTE $0x10 // movapd xmm6, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0xd6560f66 // orpd xmm2, xmm6
LONG $0xdd540f66 // andpd xmm3, xmm5
LONG $0xde560f66 // orpd xmm3, xmm6
LONG $0xd2e60f66 // cvttpd2dq xmm2, xmm2
LONG $0xdbe60f66 // cvttpd2dq xmm3, xmm3
LONG $0xd2700ff2; BYTE $0xe8 // pshuflw xmm2, xmm2, 232
LONG $0xdb700ff2; BYTE $0xe8 // pshuflw xmm3, xmm3, 232
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x7814 // movd dword [r8 + 2*rdi], xmm2
LONG $0x7e0f4166; WORD $0x785c; BYTE $0x04 // movd dword [r8 + 2*rdi + 4], xmm3
LBB4_1150:
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_1655
LBB4_1151:
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
QUAD $0x0000011095100ff2 // movsd xmm2, qword 272[rbp] /* [rip + .LCPI4_2] */
LBB4_1152:
LONG $0x1c100ff2; BYTE $0xf1 // movsd xmm3, qword [rcx + 8*rsi]
LONG $0xc32e0f66 // ucomisd xmm0, xmm3
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xda560f66 // orpd xmm3, xmm2
LONG $0xd32c0ff2 // cvttsd2si edx, xmm3
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_1152
JMP LBB4_1655
LBB4_1153:
WORD $0xff31 // xor edi, edi
LBB4_1154:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1156
LONG $0x14100f66; BYTE $0xf9 // movupd xmm2, oword [rcx + 8*rdi]
LONG $0x5c100f66; WORD $0x10f9 // movupd xmm3, oword [rcx + 8*rdi + 16]
LONG $0xe4570f66 // xorpd xmm4, xmm4
LONG $0xc2280f66 // movapd xmm0, xmm2
LONG $0xc4c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm4
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xcb280f66 // movapd xmm1, xmm3
LONG $0xccc20f66; BYTE $0x00 // cmpeqpd xmm1, xmm4
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0x6d280f66; BYTE $0x00 // movapd xmm5, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xd5540f66 // andpd xmm2, xmm5
LONG $0x75280f66; BYTE $0x10 // movapd xmm6, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0xd6560f66 // orpd xmm2, xmm6
LONG $0xdd540f66 // andpd xmm3, xmm5
LONG $0xde560f66 // orpd xmm3, xmm6
LONG $0xd2e60f66 // cvttpd2dq xmm2, xmm2
LONG $0xdbe60f66 // cvttpd2dq xmm3, xmm3
LONG $0xd2700ff2; BYTE $0xe8 // pshuflw xmm2, xmm2, 232
LONG $0xdb700ff2; BYTE $0xe8 // pshuflw xmm3, xmm3, 232
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x7814 // movd dword [r8 + 2*rdi], xmm2
LONG $0x7e0f4166; WORD $0x785c; BYTE $0x04 // movd dword [r8 + 2*rdi + 4], xmm3
LBB4_1156:
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_1655
LBB4_1157:
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
QUAD $0x0000011095100ff2 // movsd xmm2, qword 272[rbp] /* [rip + .LCPI4_2] */
LBB4_1158:
LONG $0x1c100ff2; BYTE $0xf1 // movsd xmm3, qword [rcx + 8*rsi]
LONG $0xc32e0f66 // ucomisd xmm0, xmm3
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xda560f66 // orpd xmm3, xmm2
LONG $0xd32c0ff2 // cvttsd2si edx, xmm3
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_1158
JMP LBB4_1655
LBB4_1159:
WORD $0xf631 // xor esi, esi
LBB4_1160:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1162
LONG $0x146f0ff3; BYTE $0xf1 // movdqu xmm2, oword [rcx + 8*rsi]
LONG $0x5c6f0ff3; WORD $0x10f1 // movdqu xmm3, oword [rcx + 8*rsi + 16]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x37380f66; BYTE $0xc4 // pcmpgtq xmm0, xmm4
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0x37380f66; BYTE $0xcc // pcmpgtq xmm1, xmm4
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0x29380f66; BYTE $0xd4 // pcmpeqq xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0x29380f66; BYTE $0xdc // pcmpeqq xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
QUAD $0x000000b0a56f0f66 // movdqa xmm4, oword 176[rbp] /* [rip + .LCPI4_17] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x7014 // movd dword [r8 + 2*rsi], xmm2
LONG $0x7e0f4166; WORD $0x705c; BYTE $0x04 // movd dword [r8 + 2*rsi + 4], xmm3
LBB4_1162:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1163:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1164:
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_1164
JMP LBB4_1655
LBB4_1165:
WORD $0xff31 // xor edi, edi
LBB4_1166:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1168
LONG $0xb904100f // movups xmm0, oword [rcx + 4*rdi]
LONG $0xb94c100f; BYTE $0x10 // movups xmm1, oword [rcx + 4*rdi + 16]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xc5660f66 // pcmpgtd xmm0, xmm5
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xcd660f66 // pcmpgtd xmm1, xmm5
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0x756f0f66; BYTE $0x70 // movdqa xmm6, oword 112[rbp] /* [rip + .LCPI4_11] */
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xfd6c0f66 // punpcklqdq xmm7, xmm5
LONG $0x7f0f41f3; WORD $0x783c // movdqu oword [r8 + 2*rdi], xmm7
LBB4_1168:
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_1655
LBB4_1169:
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LBB4_1170:
LONG $0x0c6e0f66; BYTE $0xb1 // movd xmm1, dword [rcx + 4*rsi]
LONG $0xca7e0f66 // movd edx, xmm1
WORD $0xff31 // xor edi, edi
WORD $0xd285 // test edx, edx
LONG $0xd7990f40 // setns dil
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
LONG $0xff3f548d // lea edx, [rdi + rdi - 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_1170
JMP LBB4_1655
LBB4_1171:
WORD $0xff31 // xor edi, edi
LBB4_1172:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1174
LONG $0xb904100f // movups xmm0, oword [rcx + 4*rdi]
LONG $0xb94c100f; BYTE $0x10 // movups xmm1, oword [rcx + 4*rdi + 16]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xc5660f66 // pcmpgtd xmm0, xmm5
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xcd660f66 // pcmpgtd xmm1, xmm5
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0x756f0f66; BYTE $0x70 // movdqa xmm6, oword 112[rbp] /* [rip + .LCPI4_11] */
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0xfd6c0f66 // punpcklqdq xmm7, xmm5
LONG $0x7f0f41f3; WORD $0x783c // movdqu oword [r8 + 2*rdi], xmm7
LBB4_1174:
WORD $0x3948; BYTE $0xc6 // cmp rsi, rax
JE LBB4_1655
LBB4_1175:
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LBB4_1176:
LONG $0x0c6e0f66; BYTE $0xb1 // movd xmm1, dword [rcx + 4*rsi]
LONG $0xca7e0f66 // movd edx, xmm1
WORD $0xff31 // xor edi, edi
WORD $0xd285 // test edx, edx
LONG $0xd7990f40 // setns dil
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
LONG $0xff3f548d // lea edx, [rdi + rdi - 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_1176
JMP LBB4_1655
LBB4_1177:
WORD $0xf631 // xor esi, esi
LBB4_1178:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1180
LONG $0x047e0ff3; BYTE $0xb1 // movq xmm0, qword [rcx + 4*rsi]
LONG $0x4c7e0ff3; WORD $0x08b1 // movq xmm1, qword [rcx + 4*rsi + 8]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2760f66 // pcmpeqd xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x35380f66; BYTE $0xc0 // pmovzxdq xmm0, xmm0
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca760f66 // pcmpeqd xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x35380f66; BYTE $0xc9 // pmovzxdq xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0xf004 // movdqu oword [r8 + 8*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xf04c; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm1
LBB4_1180:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1181:
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_1181
JMP LBB4_1655
LBB4_1182:
WORD $0xf631 // xor esi, esi
LBB4_1183:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1185
LONG $0x046f0ff3; BYTE $0xb1 // movdqu xmm0, oword [rcx + 4*rsi]
LONG $0x4c6f0ff3; WORD $0x10b1 // movdqu xmm1, oword [rcx + 4*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2760f66 // pcmpeqd xmm0, xmm2
QUAD $0x000000d09d6f0f66 // movdqa xmm3, oword 208[rbp] /* [rip + .LCPI4_19] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0xca760f66 // pcmpeqd xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x7f0f41f3; WORD $0xb004 // movdqu oword [r8 + 4*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xb04c; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm1
LBB4_1185:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1186:
QUAD $0x00000128856e0f66 // movd xmm0, dword 296[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_1188
LBB4_1187:
LONG $0x7e0f4166; WORD $0x900c // movd dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1655
LBB4_1188:
LONG $0x00913c83 // cmp dword [rcx + 4*rdx], 0
LONG $0xc86f0f66 // movdqa xmm1, xmm0
JNE LBB4_1187
LONG $0xc9ef0f66 // pxor xmm1, xmm1
JMP LBB4_1187
LBB4_1190:
WORD $0xf631 // xor esi, esi
LBB4_1191:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1193
LONG $0x04100f66; BYTE $0xf1 // movupd xmm0, oword [rcx + 8*rsi]
LONG $0x4c100f66; WORD $0x10f1 // movupd xmm1, oword [rcx + 8*rsi + 16]
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0x5d280f66; BYTE $0x00 // movapd xmm3, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xe0280f66 // movapd xmm4, xmm0
LONG $0xe3540f66 // andpd xmm4, xmm3
LONG $0x6d280f66; BYTE $0x10 // movapd xmm5, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0xe5560f66 // orpd xmm4, xmm5
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xdd560f66 // orpd xmm3, xmm5
LONG $0x2c0f48f2; BYTE $0xfc // cvttsd2si rdi, xmm4
LONG $0x6e0f4866; BYTE $0xef // movq xmm5, rdi
LONG $0xe4700f66; BYTE $0xee // pshufd xmm4, xmm4, 238
LONG $0x2c0f48f2; BYTE $0xfc // cvttsd2si rdi, xmm4
LONG $0x6e0f4866; BYTE $0xe7 // movq xmm4, rdi
LONG $0xec6c0f66 // punpcklqdq xmm5, xmm4
LONG $0x2c0f48f2; BYTE $0xfb // cvttsd2si rdi, xmm3
LONG $0x6e0f4866; BYTE $0xe7 // movq xmm4, rdi
LONG $0xdb700f66; BYTE $0xee // pshufd xmm3, xmm3, 238
LONG $0x2c0f48f2; BYTE $0xfb // cvttsd2si rdi, xmm3
LONG $0x6e0f4866; BYTE $0xdf // movq xmm3, rdi
LONG $0xe36c0f66 // punpcklqdq xmm4, xmm3
LONG $0xc2c20f66; BYTE $0x04 // cmpneqpd xmm0, xmm2
LONG $0xc5540f66 // andpd xmm0, xmm5
LONG $0xcac20f66; BYTE $0x04 // cmpneqpd xmm1, xmm2
LONG $0xcc540f66 // andpd xmm1, xmm4
LONG $0x110f4166; WORD $0xf004 // movupd oword [r8 + 8*rsi], xmm0
LONG $0x110f4166; WORD $0xf04c; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm1
LBB4_1193:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1194:
WORD $0xf631 // xor esi, esi
LONG $0xc0570f66 // xorpd xmm0, xmm0
LONG $0x4d280f66; BYTE $0x00 // movapd xmm1, oword 0[rbp] /* [rip + .LCPI4_0] */
QUAD $0x0000011095100ff2 // movsd xmm2, qword 272[rbp] /* [rip + .LCPI4_2] */
LBB4_1195:
LONG $0x1c100ff2; BYTE $0xd1 // movsd xmm3, qword [rcx + 8*rdx]
LONG $0xc32e0f66 // ucomisd xmm0, xmm3
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xda560f66 // orpd xmm3, xmm2
LONG $0x2c0f48f2; BYTE $0xfb // cvttsd2si 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_1195
JMP LBB4_1655
LBB4_1196:
WORD $0xf631 // xor esi, esi
LBB4_1197:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1199
LONG $0x14100f66; BYTE $0xf1 // movupd xmm2, oword [rcx + 8*rsi]
LONG $0x100f4466; WORD $0xf144; BYTE $0x10 // movupd xmm8, oword [rcx + 8*rsi + 16]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xda5a0ff2 // cvtsd2ss xmm3, xmm2
LONG $0xd0c20f66; BYTE $0x00 // cmpeqpd xmm2, xmm0
LONG $0xe8d2c60f // shufps xmm2, xmm2, 232
LONG $0x655a0f66; BYTE $0x10 // cvtpd2ps xmm4, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0xc20f4166; WORD $0x00c0 // cmpeqpd xmm0, xmm8
LONG $0x6c100ff2; WORD $0x08f1 // movsd xmm5, qword [rcx + 8*rsi + 8]
LONG $0xed5a0ff2 // cvtsd2ss xmm5, xmm5
LONG $0xe8c0c60f // shufps xmm0, xmm0, 232
LONG $0x2075280f // movaps xmm6, oword 32[rbp] /* [rip + .LCPI4_3] */
WORD $0x280f; BYTE $0xfe // movaps xmm7, xmm6
WORD $0x550f; BYTE $0xfd // andnps xmm7, xmm5
LONG $0xec160ff3 // movshdup xmm5, xmm4
WORD $0x540f; BYTE $0xee // andps xmm5, xmm6
WORD $0x560f; BYTE $0xfd // orps xmm7, xmm5
WORD $0x280f; BYTE $0xce // movaps xmm1, xmm6
WORD $0x550f; BYTE $0xcb // andnps xmm1, xmm3
WORD $0x540f; BYTE $0xe6 // andps xmm4, xmm6
WORD $0x560f; BYTE $0xcc // orps xmm1, xmm4
WORD $0x140f; BYTE $0xcf // unpcklps xmm1, xmm7
WORD $0x550f; BYTE $0xd1 // andnps xmm2, xmm1
LONG $0x4c100ff2; WORD $0x18f1 // movsd xmm1, qword [rcx + 8*rsi + 24]
LONG $0xc95a0ff2 // cvtsd2ss xmm1, xmm1
WORD $0x280f; BYTE $0xde // movaps xmm3, xmm6
WORD $0x550f; BYTE $0xd9 // andnps xmm3, xmm1
WORD $0x560f; BYTE $0xdd // orps xmm3, xmm5
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0x5a0f41f2; BYTE $0xc8 // cvtsd2ss xmm1, xmm8
WORD $0x550f; BYTE $0xf1 // andnps xmm6, xmm1
WORD $0x560f; BYTE $0xf4 // orps xmm6, xmm4
WORD $0x140f; BYTE $0xf3 // unpcklps xmm6, xmm3
WORD $0x550f; BYTE $0xc6 // andnps xmm0, xmm6
WORD $0x160f; BYTE $0xd0 // movlhps xmm2, xmm0
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LBB4_1199:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1200:
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x304d280f // movaps xmm1, oword 48[rbp] /* [rip + .LCPI4_4] */
QUAD $0x0000012895100ff3 // movss xmm2, dword 296[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_1202
LBB4_1201:
LONG $0x110f41f3; WORD $0x901c // movss dword [r8 + 4*rdx], xmm3
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1655
LBB4_1202:
LONG $0x24100ff2; BYTE $0xd1 // movsd xmm4, qword [rcx + 8*rdx]
LONG $0xc42e0f66 // ucomisd xmm0, xmm4
WORD $0x570f; BYTE $0xdb // xorps xmm3, xmm3
JE LBB4_1201
WORD $0x570f; BYTE $0xdb // xorps xmm3, xmm3
LONG $0xdc5a0ff2 // cvtsd2ss xmm3, xmm4
WORD $0x540f; BYTE $0xd9 // andps xmm3, xmm1
WORD $0x560f; BYTE $0xda // orps xmm3, xmm2
JMP LBB4_1201
LBB4_1204:
WORD $0xf631 // xor esi, esi
LBB4_1205:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1207
LONG $0x047e0ff3; BYTE $0x71 // movq xmm0, qword [rcx + 2*rsi]
LONG $0x4c7e0ff3; WORD $0x0871 // movq xmm1, qword [rcx + 2*rsi + 8]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2750f66 // pcmpeqw xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x33380f66; BYTE $0xc0 // pmovzxwd xmm0, xmm0
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0xc4db0f66 // pand xmm0, xmm4
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
LONG $0xca750f66 // pcmpeqw xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x33380f66; BYTE $0xc9 // pmovzxwd xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0x04110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm0
LONG $0x4c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm1
LBB4_1207:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1208:
QUAD $0x00000128856e0f66 // movd xmm0, dword 296[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_1210
LBB4_1209:
LONG $0x7e0f4166; WORD $0x900c // movd dword [r8 + 4*rdx], xmm1
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1655
LBB4_1210:
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xc86f0f66 // movdqa xmm1, xmm0
JNE LBB4_1209
LONG $0xc9ef0f66 // pxor xmm1, xmm1
JMP LBB4_1209
LBB4_1212:
WORD $0xf631 // xor esi, esi
LBB4_1213:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1215
LONG $0x146e0f66; BYTE $0x71 // movd xmm2, dword [rcx + 2*rsi]
LONG $0x5c6e0f66; WORD $0x0471 // movd xmm3, dword [rcx + 2*rsi + 4]
LONG $0xe4570f66 // xorpd xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4650f66 // pcmpgtw xmm0, xmm4
LONG $0x24380f66; BYTE $0xc0 // pmovsxwq xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc650f66 // pcmpgtw xmm1, xmm4
LONG $0x24380f66; BYTE $0xc9 // pmovsxwq xmm1, xmm1
LONG $0xd4750f66 // pcmpeqw xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x24380f66; BYTE $0xd2 // pmovsxwq xmm2, xmm2
LONG $0xdc750f66 // pcmpeqw xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x24380f66; BYTE $0xdb // pmovsxwq xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0x15380f66; BYTE $0xd4 // blendvpd xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xdc // blendvpd xmm3, xmm4, xmm0
LONG $0x110f4166; WORD $0xf014 // movupd oword [r8 + 8*rsi], xmm2
LONG $0x110f4166; WORD $0xf05c; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm3
LBB4_1215:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
LBB4_1216:
LONG $0x000001be; BYTE $0x00 // mov esi, 1
LBB4_1217:
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_1217
JMP LBB4_1655
LBB4_1218:
WORD $0xf631 // xor esi, esi
LBB4_1219:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1221
LONG $0x147e0ff3; BYTE $0x71 // movq xmm2, qword [rcx + 2*rsi]
LONG $0x5c7e0ff3; WORD $0x0871 // movq xmm3, qword [rcx + 2*rsi + 8]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4650f66 // pcmpgtw xmm0, xmm4
LONG $0x23380f66; BYTE $0xc0 // pmovsxwd xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc650f66 // pcmpgtw xmm1, xmm4
LONG $0x23380f66; BYTE $0xc9 // pmovsxwd xmm1, xmm1
LONG $0xd4750f66 // pcmpeqw xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x23380f66; BYTE $0xd2 // pmovsxwd xmm2, xmm2
WORD $0x5b0f; BYTE $0xd2 // cvtdq2ps xmm2, xmm2
LONG $0xdc750f66 // pcmpeqw xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x23380f66; BYTE $0xdb // pmovsxwd xmm3, xmm3
WORD $0x5b0f; BYTE $0xdb // cvtdq2ps xmm3, xmm3
LONG $0xd0a5280f; WORD $0x0000; BYTE $0x00 // movaps xmm4, oword 208[rbp] /* [rip + .LCPI4_19] */
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xdc // blendvps xmm3, xmm4, xmm0
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LONG $0x5c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm3
LBB4_1221:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
LBB4_1222:
QUAD $0x00000130856e0f66 // movd xmm0, dword 304[rbp] /* [rip + .LCPI4_14] */
QUAD $0x000001288d6e0f66 // movd xmm1, dword 296[rbp] /* [rip + .LCPI4_5] */
JMP LBB4_1224
LBB4_1223:
LONG $0x7e0f4166; WORD $0x901c // movd dword [r8 + 4*rdx], xmm3
LONG $0x01c28348 // add rdx, 1
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JE LBB4_1655
LBB4_1224:
LONG $0x513c8366; BYTE $0x00 // cmp word [rcx + 2*rdx], 0
LONG $0xd06f0f66 // movdqa xmm2, xmm0
JNE LBB4_1226
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LBB4_1226:
LONG $0xd96f0f66 // movdqa xmm3, xmm1
JG LBB4_1223
LONG $0xda6f0f66 // movdqa xmm3, xmm2
JMP LBB4_1223
LBB4_1104:
WORD $0x500f; BYTE $0xc8 // movmskps ecx, xmm0
WORD $0xe183; BYTE $0x01 // and ecx, 1
WORD $0xd9f7 // neg ecx
WORD $0xc983; BYTE $0x01 // or ecx, 1
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc12a0ff3 // cvtsi2ss xmm0, ecx
LONG $0x2c0f48f3; BYTE $0xc8 // cvttss2si rcx, xmm0
LBB4_1105:
LONG $0xc00c8949 // mov qword [r8 + 8*rax], rcx
LBB4_1655:
RET
LBB4_1228:
WORD $0xf631 // xor esi, esi
LBB4_1229:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1231
LONG $0x046f0ff3; BYTE $0xb1 // movdqu xmm0, oword [rcx + 4*rsi]
LONG $0x4c6f0ff3; WORD $0x10b1 // movdqu xmm1, oword [rcx + 4*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2760f66 // pcmpeqd xmm0, xmm2
LONG $0x5d6f0f66; BYTE $0x50 // movdqa xmm3, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0xca760f66 // pcmpeqd xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x7f0f41f3; WORD $0xb004 // movdqu oword [r8 + 4*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xb04c; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm1
LBB4_1231:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1232
LBB4_1236:
WORD $0xf631 // xor esi, esi
LBB4_1237:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1239
LONG $0x146e0f66; BYTE $0x31 // movd xmm2, dword [rcx + rsi]
LONG $0x5c6e0f66; WORD $0x0431 // movd xmm3, dword [rcx + rsi + 4]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4640f66 // pcmpgtb xmm0, xmm4
LONG $0x21380f66; BYTE $0xc0 // pmovsxbd xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc640f66 // pcmpgtb xmm1, xmm4
LONG $0x21380f66; BYTE $0xc9 // pmovsxbd xmm1, xmm1
LONG $0xd4740f66 // pcmpeqb xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x21380f66; BYTE $0xd2 // pmovsxbd xmm2, xmm2
LONG $0xdc740f66 // pcmpeqb xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x21380f66; BYTE $0xdb // pmovsxbd xmm3, xmm3
LONG $0x5065280f // movaps xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xdc // blendvps xmm3, xmm4, xmm0
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LONG $0x5c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm3
LBB4_1239:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1240
LBB4_1245:
WORD $0xf631 // xor esi, esi
LBB4_1246:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1248
LONG $0x046e0f66; BYTE $0x31 // movd xmm0, dword [rcx + rsi]
LONG $0x4c6e0f66; WORD $0x0431 // movd xmm1, dword [rcx + rsi + 4]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2740f66 // pcmpeqb xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x31380f66; BYTE $0xc0 // pmovzxbd xmm0, xmm0
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca740f66 // pcmpeqb xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x31380f66; BYTE $0xc9 // pmovzxbd xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0xb004 // movdqu oword [r8 + 4*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xb04c; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm1
LBB4_1248:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1249
LBB4_1253:
WORD $0xf631 // xor esi, esi
LBB4_1254:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1256
LONG $0x0c6f0ff3; BYTE $0xb1 // movdqu xmm1, oword [rcx + 4*rsi]
LONG $0x546f0ff3; WORD $0x10b1 // movdqu xmm2, oword [rcx + 4*rsi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc1660f66 // pcmpgtd xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0xeb760f66 // pcmpeqd xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0xda760f66 // pcmpeqd xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x14380f66; BYTE $0xd5 // blendvps xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xe3 // blendvps xmm4, xmm3, xmm0
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LONG $0x64110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm4
LBB4_1256:
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1655
JMP LBB4_1257
LBB4_1262:
WORD $0xf631 // xor esi, esi
LBB4_1263:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1265
LONG $0x04100f66; BYTE $0xf1 // movupd xmm0, oword [rcx + 8*rsi]
LONG $0x4c100f66; WORD $0x10f1 // movupd xmm1, oword [rcx + 8*rsi + 16]
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0x5d280f66; BYTE $0x00 // movapd xmm3, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xe0280f66 // movapd xmm4, xmm0
LONG $0xe3540f66 // andpd xmm4, xmm3
LONG $0x6d280f66; BYTE $0x10 // movapd xmm5, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0xe5560f66 // orpd xmm4, xmm5
LONG $0xd9540f66 // andpd xmm3, xmm1
LONG $0xdd560f66 // orpd xmm3, xmm5
LONG $0xc2c20f66; BYTE $0x04 // cmpneqpd xmm0, xmm2
LONG $0xc4540f66 // andpd xmm0, xmm4
LONG $0xcac20f66; BYTE $0x04 // cmpneqpd xmm1, xmm2
LONG $0xcb540f66 // andpd xmm1, xmm3
LONG $0x110f4166; WORD $0xf004 // movupd oword [r8 + 8*rsi], xmm0
LONG $0x110f4166; WORD $0xf04c; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm1
LBB4_1265:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1266
LBB4_1271:
WORD $0xf631 // xor esi, esi
LBB4_1272:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1274
LONG $0x046f0ff3; BYTE $0xb1 // movdqu xmm0, oword [rcx + 4*rsi]
LONG $0x4c6f0ff3; WORD $0x10b1 // movdqu xmm1, oword [rcx + 4*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2760f66 // pcmpeqd xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
QUAD $0x00000080a56f0f66 // movdqa xmm4, oword 128[rbp] /* [rip + .LCPI4_12] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca760f66 // pcmpeqd xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7e0f4166; WORD $0x3004 // movd dword [r8 + rsi], xmm0
LONG $0x7e0f4166; WORD $0x304c; BYTE $0x04 // movd dword [r8 + rsi + 4], xmm1
LBB4_1274:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1275
LBB4_1279:
WORD $0xf631 // xor esi, esi
LBB4_1280:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1282
LONG $0x1c100f66; BYTE $0xf1 // movupd xmm3, oword [rcx + 8*rsi]
LONG $0x64100f66; WORD $0x10f1 // movupd xmm4, oword [rcx + 8*rsi + 16]
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xc3280f66 // movapd xmm0, xmm3
LONG $0xc2c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcc280f66 // movapd xmm1, xmm4
LONG $0xcac20f66; BYTE $0x00 // cmpeqpd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0x6d280f66; BYTE $0x00 // movapd xmm5, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xdd540f66 // andpd xmm3, xmm5
LONG $0x75280f66; BYTE $0x10 // movapd xmm6, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0xde560f66 // orpd xmm3, xmm6
LONG $0xe5540f66 // andpd xmm4, xmm5
LONG $0xe6560f66 // orpd xmm4, xmm6
LONG $0xdbe60f66 // cvttpd2dq xmm3, xmm3
LONG $0x6d6f0f66; BYTE $0x40 // movdqa xmm5, oword 64[rbp] /* [rip + .LCPI4_7] */
LONG $0x00380f66; BYTE $0xdd // pshufb xmm3, xmm5
LONG $0xe4e60f66 // cvttpd2dq xmm4, xmm4
LONG $0x00380f66; BYTE $0xe5 // pshufb xmm4, xmm5
LONG $0x10380f66; BYTE $0xda // pblendvb xmm3, xmm2, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xe2 // pblendvb xmm4, xmm2, xmm0
QUAD $0x00301c153a0f4166 // pextrw word [r8 + rsi], xmm3, 0
QUAD $0x023064153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 2], xmm4, 0
LBB4_1282:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1283
LBB4_1288:
WORD $0xc031 // xor eax, eax
LBB4_1289:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1291
LONG $0x0c6f0ff3; BYTE $0x01 // movdqu xmm1, oword [rcx + rax]
LONG $0x546f0ff3; WORD $0x1001 // movdqu xmm2, oword [rcx + rax + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
QUAD $0x00000100a56f0f66 // movdqa xmm4, oword 256[rbp] /* [rip + .LCPI4_22] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc1640f66 // pcmpgtb xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0xeb740f66 // pcmpeqb xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0xda740f66 // pcmpeqb xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x10380f66; BYTE $0xd5 // pblendvb xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xe3 // pblendvb xmm4, xmm3, xmm0
LONG $0x7f0f41f3; WORD $0x0014 // movdqu oword [r8 + rax], xmm2
LONG $0x7f0f41f3; WORD $0x0064; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm4
LBB4_1291:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB4_1655
JMP LBB4_1292
LBB4_1297:
WORD $0xf631 // xor esi, esi
LBB4_1298:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1300
LONG $0x046f0ff3; BYTE $0xf1 // movdqu xmm0, oword [rcx + 8*rsi]
LONG $0x4c6f0ff3; WORD $0x10f1 // movdqu xmm1, oword [rcx + 8*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0x29380f66; BYTE $0xc2 // pcmpeqq xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
QUAD $0x000000c0a56f0f66 // movdqa xmm4, oword 192[rbp] /* [rip + .LCPI4_18] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0x29380f66; BYTE $0xca // pcmpeqq xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
QUAD $0x003004153a0f4166 // pextrw word [r8 + rsi], xmm0, 0
LONG $0xccdb0f66 // pand xmm1, xmm4
QUAD $0x02304c153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 2], xmm1, 0
LBB4_1300:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1301
LBB4_1305:
WORD $0xf631 // xor esi, esi
LBB4_1306:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1308
LONG $0x046f0ff3; BYTE $0x71 // movdqu xmm0, oword [rcx + 2*rsi]
LONG $0x4c6f0ff3; WORD $0x1071 // movdqu xmm1, oword [rcx + 2*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2750f66 // pcmpeqw xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xc0630f66 // packsswb xmm0, xmm0
QUAD $0x000000f0a56f0f66 // movdqa xmm4, oword 240[rbp] /* [rip + .LCPI4_21] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca750f66 // pcmpeqw xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3004 // movdqu oword [r8 + rsi], xmm0
LBB4_1308:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1309
LBB4_1313:
WORD $0xc031 // xor eax, eax
LBB4_1314:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1316
LONG $0x146f0ff3; BYTE $0x41 // movdqu xmm2, oword [rcx + 2*rax]
LONG $0x5c6f0ff3; WORD $0x1041 // movdqu xmm3, oword [rcx + 2*rax + 16]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4650f66 // pcmpgtw xmm0, xmm4
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc650f66 // pcmpgtw xmm1, xmm4
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xd4750f66 // pcmpeqw xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xd2630f66 // packsswb xmm2, xmm2
LONG $0xdc750f66 // pcmpeqw xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xdb630f66 // packsswb xmm3, xmm3
QUAD $0x000000f0a56f0f66 // movdqa xmm4, oword 240[rbp] /* [rip + .LCPI4_21] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0xd36c0f66 // punpcklqdq xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x0014 // movdqu oword [r8 + rax], xmm2
LBB4_1316:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB4_1655
JMP LBB4_1317
LBB4_1322:
WORD $0xc031 // xor eax, eax
LBB4_1323:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1325
LONG $0x146f0ff3; BYTE $0xc1 // movdqu xmm2, oword [rcx + 8*rax]
LONG $0x5c6f0ff3; WORD $0x10c1 // movdqu xmm3, oword [rcx + 8*rax + 16]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x37380f66; BYTE $0xc4 // pcmpgtq xmm0, xmm4
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0x37380f66; BYTE $0xcc // pcmpgtq xmm1, xmm4
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0x29380f66; BYTE $0xd4 // pcmpeqq xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd2630f66 // packsswb xmm2, xmm2
LONG $0x29380f66; BYTE $0xdc // pcmpeqq xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
QUAD $0x000000c0a56f0f66 // movdqa xmm4, oword 192[rbp] /* [rip + .LCPI4_18] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
QUAD $0x000014153a0f4166 // pextrw word [r8 + rax], xmm2, 0
QUAD $0x02005c153a0f4166; BYTE $0x00 // pextrw word [r8 + rax + 2], xmm3, 0
LBB4_1325:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB4_1655
JMP LBB4_1326
LBB4_1331:
WORD $0xf631 // xor esi, esi
LBB4_1332:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1334
LONG $0xb104100f // movups xmm0, oword [rcx + 4*rsi]
LONG $0xb14c100f; BYTE $0x10 // movups xmm1, oword [rcx + 4*rsi + 16]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd2630f66 // packsswb xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xc5660f66 // pcmpgtd xmm0, xmm5
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcd660f66 // pcmpgtd xmm1, xmm5
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
QUAD $0x00000080b56f0f66 // movdqa xmm6, oword 128[rbp] /* [rip + .LCPI4_12] */
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x303c // movd dword [r8 + rsi], xmm7
LONG $0x7e0f4166; WORD $0x306c; BYTE $0x04 // movd dword [r8 + rsi + 4], xmm5
LBB4_1334:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1335
LBB4_1340:
WORD $0xf631 // xor esi, esi
LBB4_1341:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1343
LONG $0x046f0ff3; BYTE $0x31 // movdqu xmm0, oword [rcx + rsi]
LONG $0x4c6f0ff3; WORD $0x1031 // movdqu xmm1, oword [rcx + rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2740f66 // pcmpeqb xmm0, xmm2
QUAD $0x000001009d6f0f66 // movdqa xmm3, oword 256[rbp] /* [rip + .LCPI4_22] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0xca740f66 // pcmpeqb xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x7f0f41f3; WORD $0x3004 // movdqu oword [r8 + rsi], xmm0
LONG $0x7f0f41f3; WORD $0x304c; BYTE $0x10 // movdqu oword [r8 + rsi + 16], xmm1
LBB4_1343:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1344
LBB4_1348:
WORD $0xc031 // xor eax, eax
LBB4_1349:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1351
LONG $0x146f0ff3; BYTE $0x81 // movdqu xmm2, oword [rcx + 4*rax]
LONG $0x5c6f0ff3; WORD $0x1081 // movdqu xmm3, oword [rcx + 4*rax + 16]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4660f66 // pcmpgtd xmm0, xmm4
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc660f66 // pcmpgtd xmm1, xmm4
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xd4760f66 // pcmpeqd xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd2630f66 // packsswb xmm2, xmm2
LONG $0xdc760f66 // pcmpeqd xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
QUAD $0x00000080a56f0f66 // movdqa xmm4, oword 128[rbp] /* [rip + .LCPI4_12] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x0014 // movd dword [r8 + rax], xmm2
LONG $0x7e0f4166; WORD $0x005c; BYTE $0x04 // movd dword [r8 + rax + 4], xmm3
LBB4_1351:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB4_1655
JMP LBB4_1352
LBB4_1357:
WORD $0xf631 // xor esi, esi
LBB4_1358:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1360
LONG $0x3104b70f // movzx eax, word [rcx + rsi]
LONG $0xd06e0f66 // movd xmm2, eax
LONG $0x3144b70f; BYTE $0x02 // movzx eax, word [rcx + rsi + 2]
LONG $0xd86e0f66 // movd xmm3, eax
LONG $0xe4570f66 // xorpd xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4640f66 // pcmpgtb xmm0, xmm4
LONG $0x22380f66; BYTE $0xc0 // pmovsxbq xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc640f66 // pcmpgtb xmm1, xmm4
LONG $0x22380f66; BYTE $0xc9 // pmovsxbq xmm1, xmm1
LONG $0xd4740f66 // pcmpeqb xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x22380f66; BYTE $0xd2 // pmovsxbq xmm2, xmm2
LONG $0xdc740f66 // pcmpeqb xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x22380f66; BYTE $0xdb // pmovsxbq xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0x15380f66; BYTE $0xd4 // blendvpd xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xdc // blendvpd xmm3, xmm4, xmm0
LONG $0x110f4166; WORD $0xf014 // movupd oword [r8 + 8*rsi], xmm2
LONG $0x110f4166; WORD $0xf05c; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm3
LBB4_1360:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1361
LBB4_1366:
WORD $0xf631 // xor esi, esi
LBB4_1367:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1369
LONG $0x046f0ff3; BYTE $0xf1 // movdqu xmm0, oword [rcx + 8*rsi]
LONG $0x4c6f0ff3; WORD $0x10f1 // movdqu xmm1, oword [rcx + 8*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0x29380f66; BYTE $0xc2 // pcmpeqq xmm0, xmm2
QUAD $0x000000909d6f0f66 // movdqa xmm3, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0x29380f66; BYTE $0xca // pcmpeqq xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x7f0f41f3; WORD $0xf004 // movdqu oword [r8 + 8*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xf04c; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm1
LBB4_1369:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1370
LBB4_1374:
WORD $0xf631 // xor esi, esi
LBB4_1375:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1377
LONG $0x0c6f0ff3; BYTE $0xf1 // movdqu xmm1, oword [rcx + 8*rsi]
LONG $0x546f0ff3; WORD $0x10f1 // movdqu xmm2, oword [rcx + 8*rsi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0x37380f66; BYTE $0xc1 // pcmpgtq xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0x29380f66; BYTE $0xeb // pcmpeqq xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0x29380f66; BYTE $0xda // pcmpeqq xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x15380f66; BYTE $0xd5 // blendvpd xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xe3 // blendvpd xmm4, xmm3, xmm0
LONG $0x110f4166; WORD $0xf014 // movupd oword [r8 + 8*rsi], xmm2
LONG $0x110f4166; WORD $0xf064; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm4
LBB4_1377:
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1655
JMP LBB4_1378
LBB4_1383:
WORD $0xf631 // xor esi, esi
LBB4_1384:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1386
LONG $0x3104b70f // movzx eax, word [rcx + rsi]
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0x3144b70f; BYTE $0x02 // movzx eax, word [rcx + rsi + 2]
LONG $0xc86e0f66 // movd xmm1, eax
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2740f66 // pcmpeqb xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x32380f66; BYTE $0xc0 // pmovzxbq xmm0, xmm0
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca740f66 // pcmpeqb xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x32380f66; BYTE $0xc9 // pmovzxbq xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0xf004 // movdqu oword [r8 + 8*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xf04c; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm1
LBB4_1386:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1387
LBB4_1391:
WORD $0xf631 // xor esi, esi
LBB4_1392:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1394
LONG $0x147e0ff3; BYTE $0x31 // movq xmm2, qword [rcx + rsi]
LONG $0x5c7e0ff3; WORD $0x0831 // movq xmm3, qword [rcx + rsi + 8]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4640f66 // pcmpgtb xmm0, xmm4
LONG $0x20380f66; BYTE $0xc0 // pmovsxbw xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc640f66 // pcmpgtb xmm1, xmm4
LONG $0x20380f66; BYTE $0xc9 // pmovsxbw xmm1, xmm1
LONG $0xd4740f66 // pcmpeqb xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x20380f66; BYTE $0xd2 // pmovsxbw xmm2, xmm2
LONG $0xdc740f66 // pcmpeqb xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x20380f66; BYTE $0xdb // pmovsxbw xmm3, xmm3
QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI4_20] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0x7f0f41f3; WORD $0x7014 // movdqu oword [r8 + 2*rsi], xmm2
LONG $0x7f0f41f3; WORD $0x705c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm3
LBB4_1394:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1395
LBB4_1400:
WORD $0xf631 // xor esi, esi
LBB4_1401:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1403
LONG $0x147e0ff3; BYTE $0x31 // movq xmm2, qword [rcx + rsi]
LONG $0x5c7e0ff3; WORD $0x0831 // movq xmm3, qword [rcx + rsi + 8]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4640f66 // pcmpgtb xmm0, xmm4
LONG $0x20380f66; BYTE $0xc0 // pmovsxbw xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc640f66 // pcmpgtb xmm1, xmm4
LONG $0x20380f66; BYTE $0xc9 // pmovsxbw xmm1, xmm1
LONG $0xd4740f66 // pcmpeqb xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x20380f66; BYTE $0xd2 // pmovsxbw xmm2, xmm2
LONG $0xdc740f66 // pcmpeqb xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x20380f66; BYTE $0xdb // pmovsxbw xmm3, xmm3
QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI4_20] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0x7f0f41f3; WORD $0x7014 // movdqu oword [r8 + 2*rsi], xmm2
LONG $0x7f0f41f3; WORD $0x705c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm3
LBB4_1403:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1404
LBB4_1409:
WORD $0xf631 // xor esi, esi
LBB4_1410:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1412
LONG $0x046f0ff3; BYTE $0x71 // movdqu xmm0, oword [rcx + 2*rsi]
LONG $0x4c6f0ff3; WORD $0x1071 // movdqu xmm1, oword [rcx + 2*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2750f66 // pcmpeqw xmm0, xmm2
QUAD $0x000000e09d6f0f66 // movdqa xmm3, oword 224[rbp] /* [rip + .LCPI4_20] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0xca750f66 // pcmpeqw xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x7f0f41f3; WORD $0x7004 // movdqu oword [r8 + 2*rsi], xmm0
LONG $0x7f0f41f3; WORD $0x704c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm1
LBB4_1412:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1413
LBB4_1417:
WORD $0xf631 // xor esi, esi
LBB4_1418:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1420
LONG $0x046f0ff3; BYTE $0x71 // movdqu xmm0, oword [rcx + 2*rsi]
LONG $0x4c6f0ff3; WORD $0x1071 // movdqu xmm1, oword [rcx + 2*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2750f66 // pcmpeqw xmm0, xmm2
QUAD $0x000000e09d6f0f66 // movdqa xmm3, oword 224[rbp] /* [rip + .LCPI4_20] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0xca750f66 // pcmpeqw xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x7f0f41f3; WORD $0x7004 // movdqu oword [r8 + 2*rsi], xmm0
LONG $0x7f0f41f3; WORD $0x704c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm1
LBB4_1420:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1421
LBB4_1425:
WORD $0xf631 // xor esi, esi
LBB4_1426:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1428
LONG $0x0c6f0ff3; BYTE $0x71 // movdqu xmm1, oword [rcx + 2*rsi]
LONG $0x546f0ff3; WORD $0x1071 // movdqu xmm2, oword [rcx + 2*rsi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI4_20] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc1650f66 // pcmpgtw xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0xeb750f66 // pcmpeqw xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0xda750f66 // pcmpeqw xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x10380f66; BYTE $0xd5 // pblendvb xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xe3 // pblendvb xmm4, xmm3, xmm0
LONG $0x7f0f41f3; WORD $0x7014 // movdqu oword [r8 + 2*rsi], xmm2
LONG $0x7f0f41f3; WORD $0x7064; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm4
LBB4_1428:
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1655
JMP LBB4_1429
LBB4_1434:
WORD $0xf631 // xor esi, esi
LBB4_1435:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1437
LONG $0x0c6f0ff3; BYTE $0x71 // movdqu xmm1, oword [rcx + 2*rsi]
LONG $0x546f0ff3; WORD $0x1071 // movdqu xmm2, oword [rcx + 2*rsi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI4_20] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc1650f66 // pcmpgtw xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0xeb750f66 // pcmpeqw xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0xda750f66 // pcmpeqw xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xca650f66 // pcmpgtw xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x10380f66; BYTE $0xd5 // pblendvb xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xe3 // pblendvb xmm4, xmm3, xmm0
LONG $0x7f0f41f3; WORD $0x7014 // movdqu oword [r8 + 2*rsi], xmm2
LONG $0x7f0f41f3; WORD $0x7064; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm4
LBB4_1437:
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1655
JMP LBB4_1438
LBB4_1443:
WORD $0xf631 // xor esi, esi
LBB4_1444:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1446
LONG $0x047e0ff3; BYTE $0x31 // movq xmm0, qword [rcx + rsi]
LONG $0x4c7e0ff3; WORD $0x0831 // movq xmm1, qword [rcx + rsi + 8]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2740f66 // pcmpeqb xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x30380f66; BYTE $0xc0 // pmovzxbw xmm0, xmm0
QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI4_20] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca740f66 // pcmpeqb xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x30380f66; BYTE $0xc9 // pmovzxbw xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0x7004 // movdqu oword [r8 + 2*rsi], xmm0
LONG $0x7f0f41f3; WORD $0x704c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm1
LBB4_1446:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1447
LBB4_1451:
WORD $0xf631 // xor esi, esi
LBB4_1452:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1454
LONG $0x047e0ff3; BYTE $0x31 // movq xmm0, qword [rcx + rsi]
LONG $0x4c7e0ff3; WORD $0x0831 // movq xmm1, qword [rcx + rsi + 8]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2740f66 // pcmpeqb xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x30380f66; BYTE $0xc0 // pmovzxbw xmm0, xmm0
QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI4_20] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca740f66 // pcmpeqb xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x30380f66; BYTE $0xc9 // pmovzxbw xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0x7004 // movdqu oword [r8 + 2*rsi], xmm0
LONG $0x7f0f41f3; WORD $0x704c; BYTE $0x10 // movdqu oword [r8 + 2*rsi + 16], xmm1
LBB4_1454:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1455
LBB4_1459:
WORD $0xf631 // xor esi, esi
LBB4_1460:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1462
LONG $0x3104b70f // movzx eax, word [rcx + rsi]
LONG $0xd06e0f66 // movd xmm2, eax
LONG $0x3144b70f; BYTE $0x02 // movzx eax, word [rcx + rsi + 2]
LONG $0xd86e0f66 // movd xmm3, eax
LONG $0xe4570f66 // xorpd xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4640f66 // pcmpgtb xmm0, xmm4
LONG $0x22380f66; BYTE $0xc0 // pmovsxbq xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc640f66 // pcmpgtb xmm1, xmm4
LONG $0x22380f66; BYTE $0xc9 // pmovsxbq xmm1, xmm1
LONG $0xd4740f66 // pcmpeqb xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x22380f66; BYTE $0xd2 // pmovsxbq xmm2, xmm2
LONG $0xdc740f66 // pcmpeqb xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x22380f66; BYTE $0xdb // pmovsxbq xmm3, xmm3
QUAD $0x00000090a5280f66 // movapd xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0x15380f66; BYTE $0xd4 // blendvpd xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xdc // blendvpd xmm3, xmm4, xmm0
LONG $0x110f4166; WORD $0xf014 // movupd oword [r8 + 8*rsi], xmm2
LONG $0x110f4166; WORD $0xf05c; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm3
LBB4_1462:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1463
LBB4_1468:
WORD $0xf631 // xor esi, esi
LBB4_1469:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1471
LONG $0x146e0f66; BYTE $0x31 // movd xmm2, dword [rcx + rsi]
LONG $0x5c6e0f66; WORD $0x0431 // movd xmm3, dword [rcx + rsi + 4]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4640f66 // pcmpgtb xmm0, xmm4
LONG $0x21380f66; BYTE $0xc0 // pmovsxbd xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc640f66 // pcmpgtb xmm1, xmm4
LONG $0x21380f66; BYTE $0xc9 // pmovsxbd xmm1, xmm1
LONG $0xd4740f66 // pcmpeqb xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x21380f66; BYTE $0xd2 // pmovsxbd xmm2, xmm2
WORD $0x5b0f; BYTE $0xd2 // cvtdq2ps xmm2, xmm2
LONG $0xdc740f66 // pcmpeqb xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x21380f66; BYTE $0xdb // pmovsxbd xmm3, xmm3
WORD $0x5b0f; BYTE $0xdb // cvtdq2ps xmm3, xmm3
LONG $0xd0a5280f; WORD $0x0000; BYTE $0x00 // movaps xmm4, oword 208[rbp] /* [rip + .LCPI4_19] */
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xdc // blendvps xmm3, xmm4, xmm0
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LONG $0x5c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm3
LBB4_1471:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1472
LBB4_1490:
WORD $0xf631 // xor esi, esi
LBB4_1491:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1493
LONG $0x046f0ff3; BYTE $0xf1 // movdqu xmm0, oword [rcx + 8*rsi]
LONG $0x4c6f0ff3; WORD $0x10f1 // movdqu xmm1, oword [rcx + 8*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0x29380f66; BYTE $0xc2 // pcmpeqq xmm0, xmm2
QUAD $0x000000909d6f0f66 // movdqa xmm3, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0x29380f66; BYTE $0xca // pcmpeqq xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x7f0f41f3; WORD $0xf004 // movdqu oword [r8 + 8*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xf04c; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm1
LBB4_1493:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1494
LBB4_1498:
WORD $0xf631 // xor esi, esi
LBB4_1499:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1501
LONG $0x0c6f0ff3; BYTE $0xf1 // movdqu xmm1, oword [rcx + 8*rsi]
LONG $0x546f0ff3; WORD $0x10f1 // movdqu xmm2, oword [rcx + 8*rsi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0x37380f66; BYTE $0xc1 // pcmpgtq xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0x29380f66; BYTE $0xeb // pcmpeqq xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0x29380f66; BYTE $0xda // pcmpeqq xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0x37380f66; BYTE $0xca // pcmpgtq xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x15380f66; BYTE $0xd5 // blendvpd xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xe3 // blendvpd xmm4, xmm3, xmm0
LONG $0x110f4166; WORD $0xf014 // movupd oword [r8 + 8*rsi], xmm2
LONG $0x110f4166; WORD $0xf064; BYTE $0x10 // movupd oword [r8 + 8*rsi + 16], xmm4
LBB4_1501:
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1655
JMP LBB4_1502
LBB4_1507:
WORD $0xf631 // xor esi, esi
LBB4_1508:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1510
LONG $0x3104b70f // movzx eax, word [rcx + rsi]
LONG $0xc06e0f66 // movd xmm0, eax
LONG $0x3144b70f; BYTE $0x02 // movzx eax, word [rcx + rsi + 2]
LONG $0xc86e0f66 // movd xmm1, eax
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2740f66 // pcmpeqb xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x32380f66; BYTE $0xc0 // pmovzxbq xmm0, xmm0
QUAD $0x00000090a56f0f66 // movdqa xmm4, oword 144[rbp] /* [rip + .LCPI4_15] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca740f66 // pcmpeqb xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x32380f66; BYTE $0xc9 // pmovzxbq xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0xf004 // movdqu oword [r8 + 8*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xf04c; BYTE $0x10 // movdqu oword [r8 + 8*rsi + 16], xmm1
LBB4_1510:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1511
LBB4_1515:
WORD $0xf631 // xor esi, esi
LBB4_1516:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1518
LONG $0x046e0f66; BYTE $0x31 // movd xmm0, dword [rcx + rsi]
LONG $0x4c6e0f66; WORD $0x0431 // movd xmm1, dword [rcx + rsi + 4]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2740f66 // pcmpeqb xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x31380f66; BYTE $0xc0 // pmovzxbd xmm0, xmm0
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0xc4db0f66 // pand xmm0, xmm4
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
LONG $0xca740f66 // pcmpeqb xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x31380f66; BYTE $0xc9 // pmovzxbd xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0x04110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm0
LONG $0x4c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm1
LBB4_1518:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1519
LBB4_1535:
WORD $0xf631 // xor esi, esi
LBB4_1536:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1538
LONG $0x046f0ff3; BYTE $0xb1 // movdqu xmm0, oword [rcx + 4*rsi]
LONG $0x4c6f0ff3; WORD $0x10b1 // movdqu xmm1, oword [rcx + 4*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2760f66 // pcmpeqd xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
QUAD $0x00000080a56f0f66 // movdqa xmm4, oword 128[rbp] /* [rip + .LCPI4_12] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca760f66 // pcmpeqd xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7e0f4166; WORD $0x3004 // movd dword [r8 + rsi], xmm0
LONG $0x7e0f4166; WORD $0x304c; BYTE $0x04 // movd dword [r8 + rsi + 4], xmm1
LBB4_1538:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1539
LBB4_1543:
WORD $0xf631 // xor esi, esi
LBB4_1544:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1546
LONG $0x1c100f66; BYTE $0xf1 // movupd xmm3, oword [rcx + 8*rsi]
LONG $0x64100f66; WORD $0x10f1 // movupd xmm4, oword [rcx + 8*rsi + 16]
LONG $0xd2570f66 // xorpd xmm2, xmm2
LONG $0xc3280f66 // movapd xmm0, xmm3
LONG $0xc2c20f66; BYTE $0x00 // cmpeqpd xmm0, xmm2
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcc280f66 // movapd xmm1, xmm4
LONG $0xcac20f66; BYTE $0x00 // cmpeqpd xmm1, xmm2
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0x6d280f66; BYTE $0x00 // movapd xmm5, oword 0[rbp] /* [rip + .LCPI4_0] */
LONG $0xdd540f66 // andpd xmm3, xmm5
LONG $0x75280f66; BYTE $0x10 // movapd xmm6, oword 16[rbp] /* [rip + .LCPI4_1] */
LONG $0xde560f66 // orpd xmm3, xmm6
LONG $0xe5540f66 // andpd xmm4, xmm5
LONG $0xe6560f66 // orpd xmm4, xmm6
LONG $0xdbe60f66 // cvttpd2dq xmm3, xmm3
LONG $0x6d6f0f66; BYTE $0x40 // movdqa xmm5, oword 64[rbp] /* [rip + .LCPI4_7] */
LONG $0x00380f66; BYTE $0xdd // pshufb xmm3, xmm5
LONG $0xe4e60f66 // cvttpd2dq xmm4, xmm4
LONG $0x00380f66; BYTE $0xe5 // pshufb xmm4, xmm5
LONG $0x10380f66; BYTE $0xda // pblendvb xmm3, xmm2, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xe2 // pblendvb xmm4, xmm2, xmm0
QUAD $0x00301c153a0f4166 // pextrw word [r8 + rsi], xmm3, 0
QUAD $0x023064153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 2], xmm4, 0
LBB4_1546:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1547
LBB4_1552:
WORD $0xc031 // xor eax, eax
LBB4_1553:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1555
LONG $0x0c6f0ff3; BYTE $0x01 // movdqu xmm1, oword [rcx + rax]
LONG $0x546f0ff3; WORD $0x1001 // movdqu xmm2, oword [rcx + rax + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
QUAD $0x00000100a56f0f66 // movdqa xmm4, oword 256[rbp] /* [rip + .LCPI4_22] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc1640f66 // pcmpgtb xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0xeb740f66 // pcmpeqb xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0xda740f66 // pcmpeqb xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xca640f66 // pcmpgtb xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x10380f66; BYTE $0xd5 // pblendvb xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xe3 // pblendvb xmm4, xmm3, xmm0
LONG $0x7f0f41f3; WORD $0x0014 // movdqu oword [r8 + rax], xmm2
LONG $0x7f0f41f3; WORD $0x0064; BYTE $0x10 // movdqu oword [r8 + rax + 16], xmm4
LBB4_1555:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB4_1655
JMP LBB4_1556
LBB4_1561:
WORD $0xf631 // xor esi, esi
LBB4_1562:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1564
LONG $0x046f0ff3; BYTE $0xf1 // movdqu xmm0, oword [rcx + 8*rsi]
LONG $0x4c6f0ff3; WORD $0x10f1 // movdqu xmm1, oword [rcx + 8*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0x29380f66; BYTE $0xc2 // pcmpeqq xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
QUAD $0x000000c0a56f0f66 // movdqa xmm4, oword 192[rbp] /* [rip + .LCPI4_18] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0x29380f66; BYTE $0xca // pcmpeqq xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
QUAD $0x003004153a0f4166 // pextrw word [r8 + rsi], xmm0, 0
LONG $0xccdb0f66 // pand xmm1, xmm4
QUAD $0x02304c153a0f4166; BYTE $0x00 // pextrw word [r8 + rsi + 2], xmm1, 0
LBB4_1564:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1565
LBB4_1569:
WORD $0xf631 // xor esi, esi
LBB4_1570:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1572
LONG $0x046f0ff3; BYTE $0x71 // movdqu xmm0, oword [rcx + 2*rsi]
LONG $0x4c6f0ff3; WORD $0x1071 // movdqu xmm1, oword [rcx + 2*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2750f66 // pcmpeqw xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0xc0630f66 // packsswb xmm0, xmm0
QUAD $0x000000f0a56f0f66 // movdqa xmm4, oword 240[rbp] /* [rip + .LCPI4_21] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca750f66 // pcmpeqw xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x7f0f41f3; WORD $0x3004 // movdqu oword [r8 + rsi], xmm0
LBB4_1572:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1573
LBB4_1577:
WORD $0xc031 // xor eax, eax
LBB4_1578:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1580
LONG $0x146f0ff3; BYTE $0x41 // movdqu xmm2, oword [rcx + 2*rax]
LONG $0x5c6f0ff3; WORD $0x1041 // movdqu xmm3, oword [rcx + 2*rax + 16]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4650f66 // pcmpgtw xmm0, xmm4
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc650f66 // pcmpgtw xmm1, xmm4
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xd4750f66 // pcmpeqw xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xd2630f66 // packsswb xmm2, xmm2
LONG $0xdc750f66 // pcmpeqw xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xdb630f66 // packsswb xmm3, xmm3
QUAD $0x000000f0a56f0f66 // movdqa xmm4, oword 240[rbp] /* [rip + .LCPI4_21] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0xd36c0f66 // punpcklqdq xmm2, xmm3
LONG $0x7f0f41f3; WORD $0x0014 // movdqu oword [r8 + rax], xmm2
LBB4_1580:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB4_1655
JMP LBB4_1581
LBB4_1586:
WORD $0xc031 // xor eax, eax
LBB4_1587:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1589
LONG $0x146f0ff3; BYTE $0xc1 // movdqu xmm2, oword [rcx + 8*rax]
LONG $0x5c6f0ff3; WORD $0x10c1 // movdqu xmm3, oword [rcx + 8*rax + 16]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x37380f66; BYTE $0xc4 // pcmpgtq xmm0, xmm4
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0x37380f66; BYTE $0xcc // pcmpgtq xmm1, xmm4
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0x29380f66; BYTE $0xd4 // pcmpeqq xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd2630f66 // packsswb xmm2, xmm2
LONG $0x29380f66; BYTE $0xdc // pcmpeqq xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
QUAD $0x000000c0a56f0f66 // movdqa xmm4, oword 192[rbp] /* [rip + .LCPI4_18] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
QUAD $0x000014153a0f4166 // pextrw word [r8 + rax], xmm2, 0
QUAD $0x02005c153a0f4166; BYTE $0x00 // pextrw word [r8 + rax + 2], xmm3, 0
LBB4_1589:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB4_1655
JMP LBB4_1590
LBB4_1595:
WORD $0xf631 // xor esi, esi
LBB4_1596:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1598
LONG $0xb104100f // movups xmm0, oword [rcx + 4*rsi]
LONG $0xb14c100f; BYTE $0x10 // movups xmm1, oword [rcx + 4*rsi + 16]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
WORD $0x280f; BYTE $0xd0 // movaps xmm2, xmm0
LONG $0x00d4c20f // cmpeqps xmm2, xmm4
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd2630f66 // packsswb xmm2, xmm2
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
LONG $0x00dcc20f // cmpeqps xmm3, xmm4
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xc5660f66 // pcmpgtd xmm0, xmm5
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcd660f66 // pcmpgtd xmm1, xmm5
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
QUAD $0x00000080b56f0f66 // movdqa xmm6, oword 128[rbp] /* [rip + .LCPI4_12] */
LONG $0xff760f66 // pcmpeqd xmm7, xmm7
LONG $0x10380f66; BYTE $0xfe // pblendvb xmm7, xmm6, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xee // pblendvb xmm5, xmm6, xmm0
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0x10380f66; BYTE $0xfc // pblendvb xmm7, xmm4, xmm0
LONG $0xc36f0f66 // movdqa xmm0, xmm3
LONG $0x10380f66; BYTE $0xec // pblendvb xmm5, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x303c // movd dword [r8 + rsi], xmm7
LONG $0x7e0f4166; WORD $0x306c; BYTE $0x04 // movd dword [r8 + rsi + 4], xmm5
LBB4_1598:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1599
LBB4_1604:
WORD $0xf631 // xor esi, esi
LBB4_1605:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1607
LONG $0x046f0ff3; BYTE $0x31 // movdqu xmm0, oword [rcx + rsi]
LONG $0x4c6f0ff3; WORD $0x1031 // movdqu xmm1, oword [rcx + rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2740f66 // pcmpeqb xmm0, xmm2
QUAD $0x000001009d6f0f66 // movdqa xmm3, oword 256[rbp] /* [rip + .LCPI4_22] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0xca740f66 // pcmpeqb xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x7f0f41f3; WORD $0x3004 // movdqu oword [r8 + rsi], xmm0
LONG $0x7f0f41f3; WORD $0x304c; BYTE $0x10 // movdqu oword [r8 + rsi + 16], xmm1
LBB4_1607:
WORD $0x3948; BYTE $0xc2 // cmp rdx, rax
JE LBB4_1655
JMP LBB4_1608
LBB4_1612:
WORD $0xc031 // xor eax, eax
LBB4_1613:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1615
LONG $0x146f0ff3; BYTE $0x81 // movdqu xmm2, oword [rcx + 4*rax]
LONG $0x5c6f0ff3; WORD $0x1081 // movdqu xmm3, oword [rcx + 4*rax + 16]
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4660f66 // pcmpgtd xmm0, xmm4
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc660f66 // pcmpgtd xmm1, xmm4
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0xd4760f66 // pcmpeqd xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0xd26b0f66 // packssdw xmm2, xmm2
LONG $0xd2630f66 // packsswb xmm2, xmm2
LONG $0xdc760f66 // pcmpeqd xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0xdb6b0f66 // packssdw xmm3, xmm3
LONG $0xdb630f66 // packsswb xmm3, xmm3
QUAD $0x00000080a56f0f66 // movdqa xmm4, oword 128[rbp] /* [rip + .LCPI4_12] */
LONG $0x10380f66; BYTE $0xd4 // pblendvb xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x10380f66; BYTE $0xdc // pblendvb xmm3, xmm4, xmm0
LONG $0x7e0f4166; WORD $0x0014 // movd dword [r8 + rax], xmm2
LONG $0x7e0f4166; WORD $0x005c; BYTE $0x04 // movd dword [r8 + rax + 4], xmm3
LBB4_1615:
WORD $0x394c; BYTE $0xd6 // cmp rsi, r10
JE LBB4_1655
JMP LBB4_1616
LBB4_1621:
WORD $0xf631 // xor esi, esi
LBB4_1622:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1624
LONG $0x046f0ff3; BYTE $0xb1 // movdqu xmm0, oword [rcx + 4*rsi]
LONG $0x4c6f0ff3; WORD $0x10b1 // movdqu xmm1, oword [rcx + 4*rsi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2760f66 // pcmpeqd xmm0, xmm2
LONG $0x5d6f0f66; BYTE $0x50 // movdqa xmm3, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0xc3df0f66 // pandn xmm0, xmm3
LONG $0xca760f66 // pcmpeqd xmm1, xmm2
LONG $0xcbdf0f66 // pandn xmm1, xmm3
LONG $0x7f0f41f3; WORD $0xb004 // movdqu oword [r8 + 4*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xb04c; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm1
LBB4_1624:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1625
LBB4_1629:
WORD $0xf631 // xor esi, esi
LBB4_1630:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1632
LONG $0x146e0f66; BYTE $0x31 // movd xmm2, dword [rcx + rsi]
LONG $0x5c6e0f66; WORD $0x0431 // movd xmm3, dword [rcx + rsi + 4]
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0xc26f0f66 // movdqa xmm0, xmm2
LONG $0xc4640f66 // pcmpgtb xmm0, xmm4
LONG $0x21380f66; BYTE $0xc0 // pmovsxbd xmm0, xmm0
LONG $0xcb6f0f66 // movdqa xmm1, xmm3
LONG $0xcc640f66 // pcmpgtb xmm1, xmm4
LONG $0x21380f66; BYTE $0xc9 // pmovsxbd xmm1, xmm1
LONG $0xd4740f66 // pcmpeqb xmm2, xmm4
LONG $0xed760f66 // pcmpeqd xmm5, xmm5
LONG $0xd5ef0f66 // pxor xmm2, xmm5
LONG $0x21380f66; BYTE $0xd2 // pmovsxbd xmm2, xmm2
LONG $0xdc740f66 // pcmpeqb xmm3, xmm4
LONG $0xddef0f66 // pxor xmm3, xmm5
LONG $0x21380f66; BYTE $0xdb // pmovsxbd xmm3, xmm3
LONG $0x5065280f // movaps xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xdc // blendvps xmm3, xmm4, xmm0
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LONG $0x5c110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm3
LBB4_1632:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1633
LBB4_1638:
WORD $0xf631 // xor esi, esi
LBB4_1639:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1641
LONG $0x046e0f66; BYTE $0x31 // movd xmm0, dword [rcx + rsi]
LONG $0x4c6e0f66; WORD $0x0431 // movd xmm1, dword [rcx + rsi + 4]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xc2740f66 // pcmpeqb xmm0, xmm2
LONG $0xdb760f66 // pcmpeqd xmm3, xmm3
LONG $0xc3ef0f66 // pxor xmm0, xmm3
LONG $0x31380f66; BYTE $0xc0 // pmovzxbd xmm0, xmm0
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0xc4db0f66 // pand xmm0, xmm4
LONG $0xca740f66 // pcmpeqb xmm1, xmm2
LONG $0xcbef0f66 // pxor xmm1, xmm3
LONG $0x31380f66; BYTE $0xc9 // pmovzxbd xmm1, xmm1
LONG $0xccdb0f66 // pand xmm1, xmm4
LONG $0x7f0f41f3; WORD $0xb004 // movdqu oword [r8 + 4*rsi], xmm0
LONG $0x7f0f41f3; WORD $0xb04c; BYTE $0x10 // movdqu oword [r8 + 4*rsi + 16], xmm1
LBB4_1641:
WORD $0x394c; BYTE $0xd2 // cmp rdx, r10
JE LBB4_1655
JMP LBB4_1642
LBB4_1646:
WORD $0xf631 // xor esi, esi
LBB4_1647:
LONG $0x01c1f641 // test r9b, 1
JE LBB4_1649
LONG $0x0c6f0ff3; BYTE $0xb1 // movdqu xmm1, oword [rcx + 4*rsi]
LONG $0x546f0ff3; WORD $0x10b1 // movdqu xmm2, oword [rcx + 4*rsi + 16]
LONG $0xdbef0f66 // pxor xmm3, xmm3
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI4_8] */
LONG $0xc46f0f66 // movdqa xmm0, xmm4
LONG $0xc1660f66 // pcmpgtd xmm0, xmm1
LONG $0xe96f0f66 // movdqa xmm5, xmm1
LONG $0xeb760f66 // pcmpeqd xmm5, xmm3
LONG $0xc9760f66 // pcmpeqd xmm1, xmm1
LONG $0xe9ef0f66 // pxor xmm5, xmm1
LONG $0xda760f66 // pcmpeqd xmm3, xmm2
LONG $0xd9ef0f66 // pxor xmm3, xmm1
LONG $0xcc6f0f66 // movdqa xmm1, xmm4
LONG $0xca660f66 // pcmpgtd xmm1, xmm2
LONG $0xd46f0f66 // movdqa xmm2, xmm4
LONG $0x14380f66; BYTE $0xd5 // blendvps xmm2, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x14380f66; BYTE $0xe3 // blendvps xmm4, xmm3, xmm0
LONG $0x14110f41; BYTE $0xb0 // movups oword [r8 + 4*rsi], xmm2
LONG $0x64110f41; WORD $0x10b0 // movups oword [r8 + 4*rsi + 16], xmm4
LBB4_1649:
WORD $0x394c; BYTE $0xda // cmp rdx, r11
JE LBB4_1655
JMP LBB4_1650
 |
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. |