//go:build !noasm && !appengine && go1.18
// AUTO-GENERATED BY C2GOASM -- DO NOT EDIT

DATA LCDATA1<>+0x000(SB)/8, $0x43e0000000000000
DATA LCDATA1<>+0x008(SB)/8, $0x4330000000000000
DATA LCDATA1<>+0x010(SB)/8, $0x4530000000000000
DATA LCDATA1<>+0x018(SB)/8, $0x4530000000100000
DATA LCDATA1<>+0x020(SB)/8, $0x0000000000000001
DATA LCDATA1<>+0x028(SB)/8, $0x4f0000005f000000
DATA LCDATA1<>+0x030(SB)/8, $0x4b00000080000000
DATA LCDATA1<>+0x038(SB)/8, $0x5300008053000000
DATA LCDATA1<>+0x040(SB)/8, $0x0000000000000800
DATA LCDATA1<>+0x048(SB)/8, $0x0000000000000000
DATA LCDATA1<>+0x050(SB)/8, $0x4530000043300000
DATA LCDATA1<>+0x058(SB)/8, $0x0000000000000000
DATA LCDATA1<>+0x060(SB)/8, $0x4330000000000000
DATA LCDATA1<>+0x068(SB)/8, $0x4530000000000000
DATA LCDATA1<>+0x070(SB)/8, $0x000000000c080400
DATA LCDATA1<>+0x078(SB)/8, $0x0000000000000000
DATA LCDATA1<>+0x080(SB)/8, $0x0d0c090805040100
DATA LCDATA1<>+0x088(SB)/8, $0x0f0e0d0c0d0c0908
DATA LCDATA1<>+0x090(SB)/8, $0x1d1c191815141110
DATA LCDATA1<>+0x098(SB)/8, $0x1f1e1d1c1d1c1918
DATA LCDATA1<>+0x0a0(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA1<>+0x0a8(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA1<>+0x0b0(SB)/8, $0x00ff00ff00ff00ff
DATA LCDATA1<>+0x0b8(SB)/8, $0x00ff00ff00ff00ff
GLOBL LCDATA1<>(SB), 8, $192

TEXT ยท_cast_type_numeric_avx2(SB), $0-40

	MOVQ itype+0(FP), DI
	MOVQ otype+8(FP), SI
	MOVQ in+16(FP), DX
	MOVQ out+24(FP), CX
	MOVQ len+32(FP), R8
	LEAQ LCDATA1<>(SB), BP

	WORD $0xff83; BYTE $0x06 // cmp    edi, 6
	JG   LBB0_13
	WORD $0xff83; BYTE $0x03 // cmp    edi, 3
	JLE  LBB0_25
	WORD $0xff83; BYTE $0x04 // cmp    edi, 4
	JE   LBB0_45
	WORD $0xff83; BYTE $0x05 // cmp    edi, 5
	JE   LBB0_53
	WORD $0xff83; BYTE $0x06 // cmp    edi, 6
	JNE  LBB0_1553
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JG   LBB0_93
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JLE  LBB0_163
	WORD $0xfe83; BYTE $0x04 // cmp    esi, 4
	JE   LBB0_263
	WORD $0xfe83; BYTE $0x05 // cmp    esi, 5
	JE   LBB0_266
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_12
	LONG $0x8a048d4a         // lea    rax, [rdx + 4*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_742
	LONG $0x89048d4a         // lea    rax, [rcx + 4*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_742

LBB0_12:
	WORD $0xf631 // xor    esi, esi

LBB0_1189:
	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   LBB0_1191

LBB0_1190:
	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  LBB0_1190

LBB0_1191:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1192:
	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  LBB0_1192
	JMP  LBB0_1553

LBB0_13:
	WORD $0xff83; BYTE $0x08 // cmp    edi, 8
	JLE  LBB0_35
	WORD $0xff83; BYTE $0x09 // cmp    edi, 9
	JE   LBB0_61
	WORD $0xff83; BYTE $0x0b // cmp    edi, 11
	JE   LBB0_69
	WORD $0xff83; BYTE $0x0c // cmp    edi, 12
	JNE  LBB0_1553
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JG   LBB0_100
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JLE  LBB0_168
	WORD $0xfe83; BYTE $0x04 // cmp    esi, 4
	JE   LBB0_269
	WORD $0xfe83; BYTE $0x05 // cmp    esi, 5
	JE   LBB0_272
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8944; BYTE $0xc6 // mov    esi, r8d
	LONG $0xff7e8d48         // lea    rdi, [rsi - 1]
	WORD $0xf089             // mov    eax, esi
	WORD $0xe083; BYTE $0x03 // and    eax, 3
	LONG $0x03ff8348         // cmp    rdi, 3
	JAE  LBB0_446
	WORD $0xff31             // xor    edi, edi
	JMP  LBB0_448

LBB0_25:
	WORD $0xff83; BYTE $0x02 // cmp    edi, 2
	JE   LBB0_77
	WORD $0xff83; BYTE $0x03 // cmp    edi, 3
	JNE  LBB0_1553
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JG   LBB0_107
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JLE  LBB0_173
	WORD $0xfe83; BYTE $0x04 // cmp    esi, 4
	JE   LBB0_275
	WORD $0xfe83; BYTE $0x05 // cmp    esi, 5
	JE   LBB0_278
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_34
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_745
	LONG $0x89048d4a         // lea    rax, [rcx + 4*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_745

LBB0_34:
	WORD $0xf631 // xor    esi, esi

LBB0_1197:
	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   LBB0_1199

LBB0_1198:
	LONG $0x3204be0f         // movsx    eax, byte [rdx + rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1198

LBB0_1199:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1200:
	LONG $0x3204be0f             // movsx    eax, byte [rdx + rsi]
	WORD $0x0489; BYTE $0xb1     // mov    dword [rcx + 4*rsi], eax
	LONG $0x3244be0f; BYTE $0x01 // movsx    eax, byte [rdx + rsi + 1]
	LONG $0x04b14489             // mov    dword [rcx + 4*rsi + 4], eax
	LONG $0x3244be0f; BYTE $0x02 // movsx    eax, byte [rdx + rsi + 2]
	LONG $0x08b14489             // mov    dword [rcx + 4*rsi + 8], eax
	LONG $0x3244be0f; BYTE $0x03 // movsx    eax, byte [rdx + rsi + 3]
	LONG $0x0cb14489             // mov    dword [rcx + 4*rsi + 12], eax
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1200
	JMP  LBB0_1553

LBB0_35:
	WORD $0xff83; BYTE $0x07 // cmp    edi, 7
	JE   LBB0_85
	WORD $0xff83; BYTE $0x08 // cmp    edi, 8
	JNE  LBB0_1553
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JG   LBB0_114
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JLE  LBB0_178
	WORD $0xfe83; BYTE $0x04 // cmp    esi, 4
	JE   LBB0_281
	WORD $0xfe83; BYTE $0x05 // cmp    esi, 5
	JE   LBB0_284
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_454
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_918

LBB0_45:
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JG   LBB0_121
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JLE  LBB0_183
	WORD $0xfe83; BYTE $0x04 // cmp    esi, 4
	JE   LBB0_287
	WORD $0xfe83; BYTE $0x05 // cmp    esi, 5
	JE   LBB0_290
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_457
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1024

LBB0_53:
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JG   LBB0_128
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JLE  LBB0_188
	WORD $0xfe83; BYTE $0x04 // cmp    esi, 4
	JE   LBB0_293
	WORD $0xfe83; BYTE $0x05 // cmp    esi, 5
	JE   LBB0_296
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_460
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1029

LBB0_61:
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JG   LBB0_135
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JLE  LBB0_193
	WORD $0xfe83; BYTE $0x04 // cmp    esi, 4
	JE   LBB0_299
	WORD $0xfe83; BYTE $0x05 // cmp    esi, 5
	JE   LBB0_302
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_463
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1034

LBB0_69:
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JG   LBB0_142
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JLE  LBB0_198
	WORD $0xfe83; BYTE $0x04 // cmp    esi, 4
	JE   LBB0_305
	WORD $0xfe83; BYTE $0x05 // cmp    esi, 5
	JE   LBB0_308
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_466
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1039

LBB0_77:
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JG   LBB0_149
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JLE  LBB0_203
	WORD $0xfe83; BYTE $0x04 // cmp    esi, 4
	JE   LBB0_311
	WORD $0xfe83; BYTE $0x05 // cmp    esi, 5
	JE   LBB0_314
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_84
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_748
	LONG $0x89048d4a         // lea    rax, [rcx + 4*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_748

LBB0_84:
	WORD $0xf631 // xor    esi, esi

LBB0_1205:
	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   LBB0_1207

LBB0_1206:
	LONG $0x3204b60f         // movzx    eax, byte [rdx + rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1206

LBB0_1207:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1208:
	LONG $0x3204b60f             // movzx    eax, byte [rdx + rsi]
	WORD $0x0489; BYTE $0xb1     // mov    dword [rcx + 4*rsi], eax
	LONG $0x3244b60f; BYTE $0x01 // movzx    eax, byte [rdx + rsi + 1]
	LONG $0x04b14489             // mov    dword [rcx + 4*rsi + 4], eax
	LONG $0x3244b60f; BYTE $0x02 // movzx    eax, byte [rdx + rsi + 2]
	LONG $0x08b14489             // mov    dword [rcx + 4*rsi + 8], eax
	LONG $0x3244b60f; BYTE $0x03 // movzx    eax, byte [rdx + rsi + 3]
	LONG $0x0cb14489             // mov    dword [rcx + 4*rsi + 12], eax
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1208
	JMP  LBB0_1553

LBB0_85:
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JG   LBB0_156
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JLE  LBB0_208
	WORD $0xfe83; BYTE $0x04 // cmp    esi, 4
	JE   LBB0_317
	WORD $0xfe83; BYTE $0x05 // cmp    esi, 5
	JE   LBB0_320
	WORD $0xfe83; BYTE $0x06 // cmp    esi, 6
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_92
	LONG $0x8a048d4a         // lea    rax, [rdx + 4*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_751
	LONG $0x89048d4a         // lea    rax, [rcx + 4*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_751

LBB0_92:
	WORD $0xf631 // xor    esi, esi

LBB0_1213:
	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   LBB0_1215

LBB0_1214:
	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  LBB0_1214

LBB0_1215:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1216:
	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  LBB0_1216
	JMP  LBB0_1553

LBB0_93:
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JLE  LBB0_213
	WORD $0xfe83; BYTE $0x09 // cmp    esi, 9
	JE   LBB0_323
	WORD $0xfe83; BYTE $0x0b // cmp    esi, 11
	JE   LBB0_326
	WORD $0xfe83; BYTE $0x0c // cmp    esi, 12
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_475
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1044

LBB0_100:
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JLE  LBB0_218
	WORD $0xfe83; BYTE $0x09 // cmp    esi, 9
	JE   LBB0_329
	WORD $0xfe83; BYTE $0x0b // cmp    esi, 11
	JE   LBB0_332
	WORD $0xfe83; BYTE $0x0c // cmp    esi, 12
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_106
	LONG $0xca048d4a         // lea    rax, [rdx + 8*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_754
	LONG $0xc9048d4a         // lea    rax, [rcx + 8*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_754

LBB0_106:
	WORD $0xf631 // xor    esi, esi

LBB0_1221:
	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 $0x07e78348         // and    rdi, 7
	JE   LBB0_1223

LBB0_1222:
	LONG $0xf21c8b48 // mov    rbx, qword [rdx + 8*rsi]
	LONG $0xf11c8948 // mov    qword [rcx + 8*rsi], rbx
	LONG $0x01c68348 // add    rsi, 1
	LONG $0xffc78348 // add    rdi, -1
	JNE  LBB0_1222

LBB0_1223:
	LONG $0x07f88348 // cmp    rax, 7
	JB   LBB0_1553

LBB0_1224:
	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 $0xf2448b48; BYTE $0x20 // mov    rax, qword [rdx + 8*rsi + 32]
	LONG $0xf1448948; BYTE $0x20 // mov    qword [rcx + 8*rsi + 32], rax
	LONG $0xf2448b48; BYTE $0x28 // mov    rax, qword [rdx + 8*rsi + 40]
	LONG $0xf1448948; BYTE $0x28 // mov    qword [rcx + 8*rsi + 40], rax
	LONG $0xf2448b48; BYTE $0x30 // mov    rax, qword [rdx + 8*rsi + 48]
	LONG $0xf1448948; BYTE $0x30 // mov    qword [rcx + 8*rsi + 48], rax
	LONG $0xf2448b48; BYTE $0x38 // mov    rax, qword [rdx + 8*rsi + 56]
	LONG $0xf1448948; BYTE $0x38 // mov    qword [rcx + 8*rsi + 56], rax
	LONG $0x08c68348             // add    rsi, 8
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1224
	JMP  LBB0_1553

LBB0_107:
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JLE  LBB0_223
	WORD $0xfe83; BYTE $0x09 // cmp    esi, 9
	JE   LBB0_335
	WORD $0xfe83; BYTE $0x0b // cmp    esi, 11
	JE   LBB0_338
	WORD $0xfe83; BYTE $0x0c // cmp    esi, 12
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_113
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_757
	LONG $0xc9048d4a         // lea    rax, [rcx + 8*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_757

LBB0_113:
	WORD $0xf631 // xor    esi, esi

LBB0_1229:
	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   LBB0_1231

LBB0_1230:
	LONG $0x3204be0f             // movsx    eax, byte [rdx + rsi]
	LONG $0xc02adbc5             // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x0411fbc5; BYTE $0xf1 // vmovsd    qword [rcx + 8*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	LONG $0xffc78348             // add    rdi, -1
	JNE  LBB0_1230

LBB0_1231:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1232:
	LONG $0x3204be0f               // movsx    eax, byte [rdx + rsi]
	LONG $0xc02adbc5               // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x0411fbc5; BYTE $0xf1   // vmovsd    qword [rcx + 8*rsi], xmm0
	LONG $0x3244be0f; BYTE $0x01   // movsx    eax, byte [rdx + rsi + 1]
	LONG $0xc02adbc5               // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x4411fbc5; WORD $0x08f1 // vmovsd    qword [rcx + 8*rsi + 8], xmm0
	LONG $0x3244be0f; BYTE $0x02   // movsx    eax, byte [rdx + rsi + 2]
	LONG $0xc02adbc5               // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x4411fbc5; WORD $0x10f1 // vmovsd    qword [rcx + 8*rsi + 16], xmm0
	LONG $0x3244be0f; BYTE $0x03   // movsx    eax, byte [rdx + rsi + 3]
	LONG $0xc02adbc5               // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x4411fbc5; WORD $0x18f1 // vmovsd    qword [rcx + 8*rsi + 24], xmm0
	LONG $0x04c68348               // add    rsi, 4
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1232
	JMP  LBB0_1553

LBB0_114:
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JLE  LBB0_228
	WORD $0xfe83; BYTE $0x09 // cmp    esi, 9
	JE   LBB0_341
	WORD $0xfe83; BYTE $0x0b // cmp    esi, 11
	JE   LBB0_344
	WORD $0xfe83; BYTE $0x0c // cmp    esi, 12
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_484
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_923

LBB0_121:
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JLE  LBB0_233
	WORD $0xfe83; BYTE $0x09 // cmp    esi, 9
	JE   LBB0_347
	WORD $0xfe83; BYTE $0x0b // cmp    esi, 11
	JE   LBB0_350
	WORD $0xfe83; BYTE $0x0c // cmp    esi, 12
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_487
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1049

LBB0_128:
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JLE  LBB0_238
	WORD $0xfe83; BYTE $0x09 // cmp    esi, 9
	JE   LBB0_353
	WORD $0xfe83; BYTE $0x0b // cmp    esi, 11
	JE   LBB0_356
	WORD $0xfe83; BYTE $0x0c // cmp    esi, 12
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_490
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1054

LBB0_135:
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JLE  LBB0_243
	WORD $0xfe83; BYTE $0x09 // cmp    esi, 9
	JE   LBB0_359
	WORD $0xfe83; BYTE $0x0b // cmp    esi, 11
	JE   LBB0_362
	WORD $0xfe83; BYTE $0x0c // cmp    esi, 12
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_493
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1059

LBB0_142:
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JLE  LBB0_248
	WORD $0xfe83; BYTE $0x09 // cmp    esi, 9
	JE   LBB0_365
	WORD $0xfe83; BYTE $0x0b // cmp    esi, 11
	JE   LBB0_368
	WORD $0xfe83; BYTE $0x0c // cmp    esi, 12
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_496
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1064

LBB0_149:
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JLE  LBB0_253
	WORD $0xfe83; BYTE $0x09 // cmp    esi, 9
	JE   LBB0_371
	WORD $0xfe83; BYTE $0x0b // cmp    esi, 11
	JE   LBB0_374
	WORD $0xfe83; BYTE $0x0c // cmp    esi, 12
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_155
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_760
	LONG $0xc9048d4a         // lea    rax, [rcx + 8*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_760

LBB0_155:
	WORD $0xf631 // xor    esi, esi

LBB0_1237:
	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   LBB0_1239

LBB0_1238:
	LONG $0x3204b60f             // movzx    eax, byte [rdx + rsi]
	LONG $0xc02adbc5             // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x0411fbc5; BYTE $0xf1 // vmovsd    qword [rcx + 8*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	LONG $0xffc78348             // add    rdi, -1
	JNE  LBB0_1238

LBB0_1239:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1240:
	LONG $0x3204b60f               // movzx    eax, byte [rdx + rsi]
	LONG $0xc02adbc5               // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x0411fbc5; BYTE $0xf1   // vmovsd    qword [rcx + 8*rsi], xmm0
	LONG $0x3244b60f; BYTE $0x01   // movzx    eax, byte [rdx + rsi + 1]
	LONG $0xc02adbc5               // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x4411fbc5; WORD $0x08f1 // vmovsd    qword [rcx + 8*rsi + 8], xmm0
	LONG $0x3244b60f; BYTE $0x02   // movzx    eax, byte [rdx + rsi + 2]
	LONG $0xc02adbc5               // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x4411fbc5; WORD $0x10f1 // vmovsd    qword [rcx + 8*rsi + 16], xmm0
	LONG $0x3244b60f; BYTE $0x03   // movzx    eax, byte [rdx + rsi + 3]
	LONG $0xc02adbc5               // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x4411fbc5; WORD $0x18f1 // vmovsd    qword [rcx + 8*rsi + 24], xmm0
	LONG $0x04c68348               // add    rsi, 4
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1240
	JMP  LBB0_1553

LBB0_156:
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JLE  LBB0_258
	WORD $0xfe83; BYTE $0x09 // cmp    esi, 9
	JE   LBB0_377
	WORD $0xfe83; BYTE $0x0b // cmp    esi, 11
	JE   LBB0_380
	WORD $0xfe83; BYTE $0x0c // cmp    esi, 12
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_502
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_929

LBB0_163:
	WORD $0xfe83; BYTE $0x02 // cmp    esi, 2
	JE   LBB0_383
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_167
	LONG $0x8a048d4a         // lea    rax, [rdx + 4*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_763
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_763

LBB0_167:
	WORD $0xf631 // xor    esi, esi

LBB0_1245:
	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   LBB0_1247

LBB0_1246:
	LONG $0xb204b60f         // movzx    eax, byte [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1246

LBB0_1247:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1248:
	LONG $0xb204b60f             // movzx    eax, byte [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0xb244b60f; BYTE $0x04 // movzx    eax, byte [rdx + 4*rsi + 4]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0xb244b60f; BYTE $0x08 // movzx    eax, byte [rdx + 4*rsi + 8]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0xb244b60f; BYTE $0x0c // movzx    eax, byte [rdx + 4*rsi + 12]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1248
	JMP  LBB0_1553

LBB0_168:
	WORD $0xfe83; BYTE $0x02 // cmp    esi, 2
	JE   LBB0_386
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_172
	LONG $0xca048d4a         // lea    rax, [rdx + 8*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_766
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_766

LBB0_172:
	WORD $0xf631 // xor    esi, esi

LBB0_1253:
	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   LBB0_1255

LBB0_1254:
	LONG $0x1c2cfbc5; BYTE $0xf2 // vcvttsd2si    ebx, qword [rdx + 8*rsi]
	WORD $0x1c88; BYTE $0x31     // mov    byte [rcx + rsi], bl
	LONG $0x01c68348             // add    rsi, 1
	LONG $0xffc78348             // add    rdi, -1
	JNE  LBB0_1254

LBB0_1255:
	LONG $0x03f88348 // cmp    rax, 3
	JB   LBB0_1553

LBB0_1256:
	LONG $0x042cfbc5; BYTE $0xf2   // vcvttsd2si    eax, qword [rdx + 8*rsi]
	WORD $0x0488; BYTE $0x31       // mov    byte [rcx + rsi], al
	LONG $0x442cfbc5; WORD $0x08f2 // vcvttsd2si    eax, qword [rdx + 8*rsi + 8]
	LONG $0x01314488               // mov    byte [rcx + rsi + 1], al
	LONG $0x442cfbc5; WORD $0x10f2 // vcvttsd2si    eax, qword [rdx + 8*rsi + 16]
	LONG $0x02314488               // mov    byte [rcx + rsi + 2], al
	LONG $0x442cfbc5; WORD $0x18f2 // vcvttsd2si    eax, qword [rdx + 8*rsi + 24]
	LONG $0x03314488               // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348               // add    rsi, 4
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1256
	JMP  LBB0_1553

LBB0_173:
	WORD $0xfe83; BYTE $0x02                   // cmp    esi, 2
	JE   LBB0_389
	WORD $0xfe83; BYTE $0x03                   // cmp    esi, 3
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0                   // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1                   // mov    r9d, r8d
	LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp    r8d, 128
	JB   LBB0_177
	LONG $0x0a048d4a                           // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8                   // cmp    rax, rcx
	JBE  LBB0_769
	LONG $0x09048d4a                           // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0                   // cmp    rax, rdx
	JBE  LBB0_769

LBB0_177:
	WORD $0xf631 // xor    esi, esi

LBB0_1261:
	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   LBB0_1263

LBB0_1262:
	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  LBB0_1262

LBB0_1263:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1264:
	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  LBB0_1264
	JMP  LBB0_1553

LBB0_178:
	WORD $0xfe83; BYTE $0x02 // cmp    esi, 2
	JE   LBB0_392
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_182
	LONG $0xca048d4a         // lea    rax, [rdx + 8*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_772
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_772

LBB0_182:
	WORD $0xf631 // xor    esi, esi

LBB0_1269:
	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   LBB0_1271

LBB0_1270:
	LONG $0xf204b60f         // movzx    eax, byte [rdx + 8*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1270

LBB0_1271:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1272:
	LONG $0xf204b60f             // movzx    eax, byte [rdx + 8*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0xf244b60f; BYTE $0x08 // movzx    eax, byte [rdx + 8*rsi + 8]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0xf244b60f; BYTE $0x10 // movzx    eax, byte [rdx + 8*rsi + 16]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0xf244b60f; BYTE $0x18 // movzx    eax, byte [rdx + 8*rsi + 24]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1272
	JMP  LBB0_1553

LBB0_183:
	WORD $0xfe83; BYTE $0x02 // cmp    esi, 2
	JE   LBB0_395
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x40f88341         // cmp    r8d, 64
	JB   LBB0_187
	LONG $0x4a048d4a         // lea    rax, [rdx + 2*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_775
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_775

LBB0_187:
	WORD $0xf631 // xor    esi, esi

LBB0_1277:
	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   LBB0_1279

LBB0_1278:
	LONG $0x7204b60f         // movzx    eax, byte [rdx + 2*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1278

LBB0_1279:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1280:
	LONG $0x7204b60f             // movzx    eax, byte [rdx + 2*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0x7244b60f; BYTE $0x02 // movzx    eax, byte [rdx + 2*rsi + 2]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0x7244b60f; BYTE $0x04 // movzx    eax, byte [rdx + 2*rsi + 4]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0x7244b60f; BYTE $0x06 // movzx    eax, byte [rdx + 2*rsi + 6]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1280
	JMP  LBB0_1553

LBB0_188:
	WORD $0xfe83; BYTE $0x02 // cmp    esi, 2
	JE   LBB0_398
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x40f88341         // cmp    r8d, 64
	JB   LBB0_192
	LONG $0x4a048d4a         // lea    rax, [rdx + 2*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_778
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_778

LBB0_192:
	WORD $0xf631 // xor    esi, esi

LBB0_1285:
	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   LBB0_1287

LBB0_1286:
	LONG $0x7204b60f         // movzx    eax, byte [rdx + 2*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1286

LBB0_1287:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1288:
	LONG $0x7204b60f             // movzx    eax, byte [rdx + 2*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0x7244b60f; BYTE $0x02 // movzx    eax, byte [rdx + 2*rsi + 2]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0x7244b60f; BYTE $0x04 // movzx    eax, byte [rdx + 2*rsi + 4]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0x7244b60f; BYTE $0x06 // movzx    eax, byte [rdx + 2*rsi + 6]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1288
	JMP  LBB0_1553

LBB0_193:
	WORD $0xfe83; BYTE $0x02 // cmp    esi, 2
	JE   LBB0_401
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_197
	LONG $0xca048d4a         // lea    rax, [rdx + 8*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_781
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_781

LBB0_197:
	WORD $0xf631 // xor    esi, esi

LBB0_1293:
	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   LBB0_1295

LBB0_1294:
	LONG $0xf204b60f         // movzx    eax, byte [rdx + 8*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1294

LBB0_1295:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1296:
	LONG $0xf204b60f             // movzx    eax, byte [rdx + 8*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0xf244b60f; BYTE $0x08 // movzx    eax, byte [rdx + 8*rsi + 8]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0xf244b60f; BYTE $0x10 // movzx    eax, byte [rdx + 8*rsi + 16]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0xf244b60f; BYTE $0x18 // movzx    eax, byte [rdx + 8*rsi + 24]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1296
	JMP  LBB0_1553

LBB0_198:
	WORD $0xfe83; BYTE $0x02 // cmp    esi, 2
	JE   LBB0_404
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_202
	LONG $0x8a048d4a         // lea    rax, [rdx + 4*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_784
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_784

LBB0_202:
	WORD $0xf631 // xor    esi, esi

LBB0_1301:
	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   LBB0_1303

LBB0_1302:
	LONG $0x042cfac5; BYTE $0xb2 // vcvttss2si    eax, dword [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0x01c68348             // add    rsi, 1
	LONG $0xffc78348             // add    rdi, -1
	JNE  LBB0_1302

LBB0_1303:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1304:
	LONG $0x042cfac5; BYTE $0xb2   // vcvttss2si    eax, dword [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31       // mov    byte [rcx + rsi], al
	LONG $0x442cfac5; WORD $0x04b2 // vcvttss2si    eax, dword [rdx + 4*rsi + 4]
	LONG $0x01314488               // mov    byte [rcx + rsi + 1], al
	LONG $0x442cfac5; WORD $0x08b2 // vcvttss2si    eax, dword [rdx + 4*rsi + 8]
	LONG $0x02314488               // mov    byte [rcx + rsi + 2], al
	LONG $0x442cfac5; WORD $0x0cb2 // vcvttss2si    eax, dword [rdx + 4*rsi + 12]
	LONG $0x03314488               // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348               // add    rsi, 4
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1304
	JMP  LBB0_1553

LBB0_203:
	WORD $0xfe83; BYTE $0x02                   // cmp    esi, 2
	JE   LBB0_407
	WORD $0xfe83; BYTE $0x03                   // cmp    esi, 3
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0                   // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1                   // mov    r9d, r8d
	LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp    r8d, 128
	JB   LBB0_207
	LONG $0x0a048d4a                           // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8                   // cmp    rax, rcx
	JBE  LBB0_787
	LONG $0x09048d4a                           // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0                   // cmp    rax, rdx
	JBE  LBB0_787

LBB0_207:
	WORD $0xf631 // xor    esi, esi

LBB0_1309:
	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   LBB0_1311

LBB0_1310:
	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  LBB0_1310

LBB0_1311:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1312:
	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  LBB0_1312
	JMP  LBB0_1553

LBB0_208:
	WORD $0xfe83; BYTE $0x02 // cmp    esi, 2
	JE   LBB0_410
	WORD $0xfe83; BYTE $0x03 // cmp    esi, 3
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_212
	LONG $0x8a048d4a         // lea    rax, [rdx + 4*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_790
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_790

LBB0_212:
	WORD $0xf631 // xor    esi, esi

LBB0_1317:
	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   LBB0_1319

LBB0_1318:
	LONG $0xb204b60f         // movzx    eax, byte [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1318

LBB0_1319:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1320:
	LONG $0xb204b60f             // movzx    eax, byte [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0xb244b60f; BYTE $0x04 // movzx    eax, byte [rdx + 4*rsi + 4]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0xb244b60f; BYTE $0x08 // movzx    eax, byte [rdx + 4*rsi + 8]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0xb244b60f; BYTE $0x0c // movzx    eax, byte [rdx + 4*rsi + 12]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1320
	JMP  LBB0_1553

LBB0_213:
	WORD $0xfe83; BYTE $0x07 // cmp    esi, 7
	JE   LBB0_413
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_535
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_934

LBB0_218:
	WORD $0xfe83; BYTE $0x07               // cmp    esi, 7
	JE   LBB0_416
	WORD $0xfe83; BYTE $0x08               // cmp    esi, 8
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0               // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1               // mov    r9d, r8d
	QUAD $0x000000000000bb49; WORD $0x8000 // mov    r11, -9223372036854775808
	LONG $0x04f88341                       // cmp    r8d, 4
	JAE  LBB0_538
	WORD $0x3145; BYTE $0xf6               // xor    r14d, r14d
	JMP  LBB0_799

LBB0_223:
	WORD $0xfe83; BYTE $0x07 // cmp    esi, 7
	JE   LBB0_419
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_227
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_801
	LONG $0xc9048d4a         // lea    rax, [rcx + 8*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_801

LBB0_227:
	WORD $0xf631 // xor    esi, esi

LBB0_1325:
	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   LBB0_1327

LBB0_1326:
	LONG $0x04be0f48; BYTE $0x32 // movsx    rax, byte [rdx + rsi]
	LONG $0xf1048948             // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348             // add    rsi, 1
	LONG $0xffc78348             // add    rdi, -1
	JNE  LBB0_1326

LBB0_1327:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1328:
	LONG $0x04be0f48; BYTE $0x32   // movsx    rax, byte [rdx + rsi]
	LONG $0xf1048948               // mov    qword [rcx + 8*rsi], rax
	LONG $0x44be0f48; WORD $0x0132 // movsx    rax, byte [rdx + rsi + 1]
	LONG $0xf1448948; BYTE $0x08   // mov    qword [rcx + 8*rsi + 8], rax
	LONG $0x44be0f48; WORD $0x0232 // movsx    rax, byte [rdx + rsi + 2]
	LONG $0xf1448948; BYTE $0x10   // mov    qword [rcx + 8*rsi + 16], rax
	LONG $0x44be0f48; WORD $0x0332 // movsx    rax, byte [rdx + rsi + 3]
	LONG $0xf1448948; BYTE $0x18   // mov    qword [rcx + 8*rsi + 24], rax
	LONG $0x04c68348               // add    rsi, 4
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1328
	JMP  LBB0_1553

LBB0_228:
	WORD $0xfe83; BYTE $0x07 // cmp    esi, 7
	JE   LBB0_422
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_232
	LONG $0xca048d4a         // lea    rax, [rdx + 8*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_804
	LONG $0xc9048d4a         // lea    rax, [rcx + 8*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_804

LBB0_232:
	WORD $0xf631 // xor    esi, esi

LBB0_1333:
	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   LBB0_1335

LBB0_1334:
	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  LBB0_1334

LBB0_1335:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1336:
	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  LBB0_1336
	JMP  LBB0_1553

LBB0_233:
	WORD $0xfe83; BYTE $0x07 // cmp    esi, 7
	JE   LBB0_425
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_546
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_939

LBB0_238:
	WORD $0xfe83; BYTE $0x07 // cmp    esi, 7
	JE   LBB0_428
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_549
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_944

LBB0_243:
	WORD $0xfe83; BYTE $0x07 // cmp    esi, 7
	JE   LBB0_431
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_247
	LONG $0xca048d4a         // lea    rax, [rdx + 8*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_807
	LONG $0xc9048d4a         // lea    rax, [rcx + 8*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_807

LBB0_247:
	WORD $0xf631 // xor    esi, esi

LBB0_1341:
	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   LBB0_1343

LBB0_1342:
	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  LBB0_1342

LBB0_1343:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1344:
	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  LBB0_1344
	JMP  LBB0_1553

LBB0_248:
	WORD $0xfe83; BYTE $0x07 // cmp    esi, 7
	JE   LBB0_434
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x04f88341         // cmp    r8d, 4
	JAE  LBB0_555
	WORD $0x3145; BYTE $0xf6 // xor    r14d, r14d
	JMP  LBB0_816

LBB0_253:
	WORD $0xfe83; BYTE $0x07 // cmp    esi, 7
	JE   LBB0_437
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_257
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_818
	LONG $0xc9048d4a         // lea    rax, [rcx + 8*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_818

LBB0_257:
	WORD $0xf631 // xor    esi, esi

LBB0_1349:
	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   LBB0_1351

LBB0_1350:
	LONG $0x3204b60f // movzx    eax, byte [rdx + rsi]
	LONG $0xf1048948 // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348 // add    rsi, 1
	LONG $0xffc78348 // add    rdi, -1
	JNE  LBB0_1350

LBB0_1351:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1352:
	LONG $0x3204b60f             // movzx    eax, byte [rdx + rsi]
	LONG $0xf1048948             // mov    qword [rcx + 8*rsi], rax
	LONG $0x3244b60f; BYTE $0x01 // movzx    eax, byte [rdx + rsi + 1]
	LONG $0xf1448948; BYTE $0x08 // mov    qword [rcx + 8*rsi + 8], rax
	LONG $0x3244b60f; BYTE $0x02 // movzx    eax, byte [rdx + rsi + 2]
	LONG $0xf1448948; BYTE $0x10 // mov    qword [rcx + 8*rsi + 16], rax
	LONG $0x3244b60f; BYTE $0x03 // movzx    eax, byte [rdx + rsi + 3]
	LONG $0xf1448948; BYTE $0x18 // mov    qword [rcx + 8*rsi + 24], rax
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1352
	JMP  LBB0_1553

LBB0_258:
	WORD $0xfe83; BYTE $0x07 // cmp    esi, 7
	JE   LBB0_440
	WORD $0xfe83; BYTE $0x08 // cmp    esi, 8
	JNE  LBB0_1553
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_560
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_949

LBB0_263:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_563
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1069

LBB0_266:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_566
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1074

LBB0_269:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_569
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1079

LBB0_272:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_572
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1084

LBB0_275:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x40f88341         // cmp    r8d, 64
	JB   LBB0_277
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_821
	LONG $0x49048d4a         // lea    rax, [rcx + 2*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_821

LBB0_277:
	WORD $0xf631 // xor    esi, esi

LBB0_1357:
	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   LBB0_1359

LBB0_1358:
	LONG $0x3204be0f // movsx    eax, byte [rdx + rsi]
	LONG $0x71048966 // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348 // add    rsi, 1
	LONG $0xffc78348 // add    rdi, -1
	JNE  LBB0_1358

LBB0_1359:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1360:
	LONG $0x3204be0f             // movsx    eax, byte [rdx + rsi]
	LONG $0x71048966             // mov    word [rcx + 2*rsi], ax
	LONG $0x3244be0f; BYTE $0x01 // movsx    eax, byte [rdx + rsi + 1]
	LONG $0x71448966; BYTE $0x02 // mov    word [rcx + 2*rsi + 2], ax
	LONG $0x3244be0f; BYTE $0x02 // movsx    eax, byte [rdx + rsi + 2]
	LONG $0x71448966; BYTE $0x04 // mov    word [rcx + 2*rsi + 4], ax
	LONG $0x3244be0f; BYTE $0x03 // movsx    eax, byte [rdx + rsi + 3]
	LONG $0x71448966; BYTE $0x06 // mov    word [rcx + 2*rsi + 6], ax
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1360
	JMP  LBB0_1553

LBB0_278:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x40f88341         // cmp    r8d, 64
	JB   LBB0_280
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_824
	LONG $0x49048d4a         // lea    rax, [rcx + 2*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_824

LBB0_280:
	WORD $0xf631 // xor    esi, esi

LBB0_1365:
	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   LBB0_1367

LBB0_1366:
	LONG $0x3204be0f // movsx    eax, byte [rdx + rsi]
	LONG $0x71048966 // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348 // add    rsi, 1
	LONG $0xffc78348 // add    rdi, -1
	JNE  LBB0_1366

LBB0_1367:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1368:
	LONG $0x3204be0f             // movsx    eax, byte [rdx + rsi]
	LONG $0x71048966             // mov    word [rcx + 2*rsi], ax
	LONG $0x3244be0f; BYTE $0x01 // movsx    eax, byte [rdx + rsi + 1]
	LONG $0x71448966; BYTE $0x02 // mov    word [rcx + 2*rsi + 2], ax
	LONG $0x3244be0f; BYTE $0x02 // movsx    eax, byte [rdx + rsi + 2]
	LONG $0x71448966; BYTE $0x04 // mov    word [rcx + 2*rsi + 4], ax
	LONG $0x3244be0f; BYTE $0x03 // movsx    eax, byte [rdx + rsi + 3]
	LONG $0x71448966; BYTE $0x06 // mov    word [rcx + 2*rsi + 6], ax
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1368
	JMP  LBB0_1553

LBB0_281:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_581
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_954

LBB0_284:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_584
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_959

LBB0_287:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_289
	LONG $0x4a048d4a         // lea    rax, [rdx + 2*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_827
	LONG $0x49048d4a         // lea    rax, [rcx + 2*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_827

LBB0_289:
	WORD $0xf631 // xor    esi, esi

LBB0_1151:
	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   LBB0_1153

LBB0_1152:
	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  LBB0_1152

LBB0_1153:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1154:
	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  LBB0_1154
	JMP  LBB0_1553

LBB0_290:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_292
	LONG $0x4a048d4a         // lea    rax, [rdx + 2*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_829
	LONG $0x49048d4a         // lea    rax, [rcx + 2*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_829

LBB0_292:
	WORD $0xf631 // xor    esi, esi

LBB0_1161:
	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   LBB0_1163

LBB0_1162:
	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  LBB0_1162

LBB0_1163:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1164:
	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  LBB0_1164
	JMP  LBB0_1553

LBB0_293:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_295
	LONG $0x4a048d4a         // lea    rax, [rdx + 2*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_831
	LONG $0x49048d4a         // lea    rax, [rcx + 2*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_831

LBB0_295:
	WORD $0xf631 // xor    esi, esi

LBB0_1171:
	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   LBB0_1173

LBB0_1172:
	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  LBB0_1172

LBB0_1173:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1174:
	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  LBB0_1174
	JMP  LBB0_1553

LBB0_296:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_298
	LONG $0x4a048d4a         // lea    rax, [rdx + 2*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_833
	LONG $0x49048d4a         // lea    rax, [rcx + 2*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_833

LBB0_298:
	WORD $0xf631 // xor    esi, esi

LBB0_1181:
	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   LBB0_1183

LBB0_1182:
	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  LBB0_1182

LBB0_1183:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1184:
	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  LBB0_1184
	JMP  LBB0_1553

LBB0_299:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_599
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_964

LBB0_302:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_602
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1089

LBB0_305:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_605
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1094

LBB0_308:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_608
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1099

LBB0_311:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x40f88341         // cmp    r8d, 64
	JB   LBB0_313
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_835
	LONG $0x49048d4a         // lea    rax, [rcx + 2*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_835

LBB0_313:
	WORD $0xf631 // xor    esi, esi

LBB0_1373:
	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   LBB0_1375

LBB0_1374:
	LONG $0x3204b60f // movzx    eax, byte [rdx + rsi]
	LONG $0x71048966 // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348 // add    rsi, 1
	LONG $0xffc78348 // add    rdi, -1
	JNE  LBB0_1374

LBB0_1375:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1376:
	LONG $0x3204b60f             // movzx    eax, byte [rdx + rsi]
	LONG $0x71048966             // mov    word [rcx + 2*rsi], ax
	LONG $0x3244b60f; BYTE $0x01 // movzx    eax, byte [rdx + rsi + 1]
	LONG $0x71448966; BYTE $0x02 // mov    word [rcx + 2*rsi + 2], ax
	LONG $0x3244b60f; BYTE $0x02 // movzx    eax, byte [rdx + rsi + 2]
	LONG $0x71448966; BYTE $0x04 // mov    word [rcx + 2*rsi + 4], ax
	LONG $0x3244b60f; BYTE $0x03 // movzx    eax, byte [rdx + rsi + 3]
	LONG $0x71448966; BYTE $0x06 // mov    word [rcx + 2*rsi + 6], ax
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1376
	JMP  LBB0_1553

LBB0_314:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x40f88341         // cmp    r8d, 64
	JB   LBB0_316
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_838
	LONG $0x49048d4a         // lea    rax, [rcx + 2*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_838

LBB0_316:
	WORD $0xf631 // xor    esi, esi

LBB0_1381:
	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   LBB0_1383

LBB0_1382:
	LONG $0x3204b60f // movzx    eax, byte [rdx + rsi]
	LONG $0x71048966 // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348 // add    rsi, 1
	LONG $0xffc78348 // add    rdi, -1
	JNE  LBB0_1382

LBB0_1383:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1384:
	LONG $0x3204b60f             // movzx    eax, byte [rdx + rsi]
	LONG $0x71048966             // mov    word [rcx + 2*rsi], ax
	LONG $0x3244b60f; BYTE $0x01 // movzx    eax, byte [rdx + rsi + 1]
	LONG $0x71448966; BYTE $0x02 // mov    word [rcx + 2*rsi + 2], ax
	LONG $0x3244b60f; BYTE $0x02 // movzx    eax, byte [rdx + rsi + 2]
	LONG $0x71448966; BYTE $0x04 // mov    word [rcx + 2*rsi + 4], ax
	LONG $0x3244b60f; BYTE $0x03 // movzx    eax, byte [rdx + rsi + 3]
	LONG $0x71448966; BYTE $0x06 // mov    word [rcx + 2*rsi + 6], ax
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1384
	JMP  LBB0_1553

LBB0_317:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_617
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_969

LBB0_320:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_620
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_974

LBB0_323:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_623
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1104

LBB0_326:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_626
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1109

LBB0_329:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_629
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1114

LBB0_332:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_632
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1119

LBB0_335:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_337
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_841
	LONG $0xc9048d4a         // lea    rax, [rcx + 8*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_841

LBB0_337:
	WORD $0xf631 // xor    esi, esi

LBB0_1389:
	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   LBB0_1391

LBB0_1390:
	LONG $0x04be0f48; BYTE $0x32 // movsx    rax, byte [rdx + rsi]
	LONG $0xf1048948             // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348             // add    rsi, 1
	LONG $0xffc78348             // add    rdi, -1
	JNE  LBB0_1390

LBB0_1391:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1392:
	LONG $0x04be0f48; BYTE $0x32   // movsx    rax, byte [rdx + rsi]
	LONG $0xf1048948               // mov    qword [rcx + 8*rsi], rax
	LONG $0x44be0f48; WORD $0x0132 // movsx    rax, byte [rdx + rsi + 1]
	LONG $0xf1448948; BYTE $0x08   // mov    qword [rcx + 8*rsi + 8], rax
	LONG $0x44be0f48; WORD $0x0232 // movsx    rax, byte [rdx + rsi + 2]
	LONG $0xf1448948; BYTE $0x10   // mov    qword [rcx + 8*rsi + 16], rax
	LONG $0x44be0f48; WORD $0x0332 // movsx    rax, byte [rdx + rsi + 3]
	LONG $0xf1448948; BYTE $0x18   // mov    qword [rcx + 8*rsi + 24], rax
	LONG $0x04c68348               // add    rsi, 4
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1392
	JMP  LBB0_1553

LBB0_338:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_340
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_844
	LONG $0x89048d4a         // lea    rax, [rcx + 4*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_844

LBB0_340:
	WORD $0xf631 // xor    esi, esi

LBB0_1397:
	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   LBB0_1399

LBB0_1398:
	LONG $0x3204be0f             // movsx    eax, byte [rdx + rsi]
	LONG $0xc02adac5             // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x0411fac5; BYTE $0xb1 // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	LONG $0xffc78348             // add    rdi, -1
	JNE  LBB0_1398

LBB0_1399:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1400:
	LONG $0x3204be0f               // movsx    eax, byte [rdx + rsi]
	LONG $0xc02adac5               // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x0411fac5; BYTE $0xb1   // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x3244be0f; BYTE $0x01   // movsx    eax, byte [rdx + rsi + 1]
	LONG $0xc02adac5               // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x4411fac5; WORD $0x04b1 // vmovss    dword [rcx + 4*rsi + 4], xmm0
	LONG $0x3244be0f; BYTE $0x02   // movsx    eax, byte [rdx + rsi + 2]
	LONG $0xc02adac5               // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x4411fac5; WORD $0x08b1 // vmovss    dword [rcx + 4*rsi + 8], xmm0
	LONG $0x3244be0f; BYTE $0x03   // movsx    eax, byte [rdx + rsi + 3]
	LONG $0xc02adac5               // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x4411fac5; WORD $0x0cb1 // vmovss    dword [rcx + 4*rsi + 12], xmm0
	LONG $0x04c68348               // add    rsi, 4
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1400
	JMP  LBB0_1553

LBB0_341:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_343
	LONG $0xca048d4a         // lea    rax, [rdx + 8*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_847
	LONG $0xc9048d4a         // lea    rax, [rcx + 8*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_847

LBB0_343:
	WORD $0xf631 // xor    esi, esi

LBB0_1405:
	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   LBB0_1407

LBB0_1406:
	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  LBB0_1406

LBB0_1407:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1408:
	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  LBB0_1408
	JMP  LBB0_1553

LBB0_344:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x04f88341         // cmp    r8d, 4
	JAE  LBB0_644
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_858

LBB0_347:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_646
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_979

LBB0_350:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_649
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1124

LBB0_353:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_652
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1129

LBB0_356:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_655
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1134

LBB0_359:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_361
	LONG $0xca048d4a         // lea    rax, [rdx + 8*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_860
	LONG $0xc9048d4a         // lea    rax, [rcx + 8*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_860

LBB0_361:
	WORD $0xf631 // xor    esi, esi

LBB0_1413:
	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   LBB0_1415

LBB0_1414:
	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  LBB0_1414

LBB0_1415:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1416:
	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  LBB0_1416
	JMP  LBB0_1553

LBB0_362:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_661
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1139

LBB0_365:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_664
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1144

LBB0_368:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_370
	LONG $0x8a048d4a         // lea    rax, [rdx + 4*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_863
	LONG $0x89048d4a         // lea    rax, [rcx + 4*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_863

LBB0_370:
	WORD $0xf631 // xor    esi, esi

LBB0_1421:
	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 $0x07e78348         // and    rdi, 7
	JE   LBB0_1423

LBB0_1422:
	WORD $0x1c8b; BYTE $0xb2 // mov    ebx, dword [rdx + 4*rsi]
	WORD $0x1c89; BYTE $0xb1 // mov    dword [rcx + 4*rsi], ebx
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1422

LBB0_1423:
	LONG $0x07f88348 // cmp    rax, 7
	JB   LBB0_1553

LBB0_1424:
	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 $0x10b2448b         // mov    eax, dword [rdx + 4*rsi + 16]
	LONG $0x10b14489         // mov    dword [rcx + 4*rsi + 16], eax
	LONG $0x14b2448b         // mov    eax, dword [rdx + 4*rsi + 20]
	LONG $0x14b14489         // mov    dword [rcx + 4*rsi + 20], eax
	LONG $0x18b2448b         // mov    eax, dword [rdx + 4*rsi + 24]
	LONG $0x18b14489         // mov    dword [rcx + 4*rsi + 24], eax
	LONG $0x1cb2448b         // mov    eax, dword [rdx + 4*rsi + 28]
	LONG $0x1cb14489         // mov    dword [rcx + 4*rsi + 28], eax
	LONG $0x08c68348         // add    rsi, 8
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_1424
	JMP  LBB0_1553

LBB0_371:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_373
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_866
	LONG $0xc9048d4a         // lea    rax, [rcx + 8*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_866

LBB0_373:
	WORD $0xf631 // xor    esi, esi

LBB0_1429:
	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   LBB0_1431

LBB0_1430:
	LONG $0x3204b60f // movzx    eax, byte [rdx + rsi]
	LONG $0xf1048948 // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348 // add    rsi, 1
	LONG $0xffc78348 // add    rdi, -1
	JNE  LBB0_1430

LBB0_1431:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1432:
	LONG $0x3204b60f             // movzx    eax, byte [rdx + rsi]
	LONG $0xf1048948             // mov    qword [rcx + 8*rsi], rax
	LONG $0x3244b60f; BYTE $0x01 // movzx    eax, byte [rdx + rsi + 1]
	LONG $0xf1448948; BYTE $0x08 // mov    qword [rcx + 8*rsi + 8], rax
	LONG $0x3244b60f; BYTE $0x02 // movzx    eax, byte [rdx + rsi + 2]
	LONG $0xf1448948; BYTE $0x10 // mov    qword [rcx + 8*rsi + 16], rax
	LONG $0x3244b60f; BYTE $0x03 // movzx    eax, byte [rdx + rsi + 3]
	LONG $0xf1448948; BYTE $0x18 // mov    qword [rcx + 8*rsi + 24], rax
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1432
	JMP  LBB0_1553

LBB0_374:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_376
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_869
	LONG $0x89048d4a         // lea    rax, [rcx + 4*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_869

LBB0_376:
	WORD $0xf631 // xor    esi, esi

LBB0_1437:
	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   LBB0_1439

LBB0_1438:
	LONG $0x3204b60f             // movzx    eax, byte [rdx + rsi]
	LONG $0xc02adac5             // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x0411fac5; BYTE $0xb1 // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	LONG $0xffc78348             // add    rdi, -1
	JNE  LBB0_1438

LBB0_1439:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1440:
	LONG $0x3204b60f               // movzx    eax, byte [rdx + rsi]
	LONG $0xc02adac5               // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x0411fac5; BYTE $0xb1   // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x3244b60f; BYTE $0x01   // movzx    eax, byte [rdx + rsi + 1]
	LONG $0xc02adac5               // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x4411fac5; WORD $0x04b1 // vmovss    dword [rcx + 4*rsi + 4], xmm0
	LONG $0x3244b60f; BYTE $0x02   // movzx    eax, byte [rdx + rsi + 2]
	LONG $0xc02adac5               // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x4411fac5; WORD $0x08b1 // vmovss    dword [rcx + 4*rsi + 8], xmm0
	LONG $0x3244b60f; BYTE $0x03   // movzx    eax, byte [rdx + rsi + 3]
	LONG $0xc02adac5               // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x4411fac5; WORD $0x0cb1 // vmovss    dword [rcx + 4*rsi + 12], xmm0
	LONG $0x04c68348               // add    rsi, 4
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1440
	JMP  LBB0_1553

LBB0_377:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_676
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_984

LBB0_380:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_679
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_989

LBB0_383:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_385
	LONG $0x8a048d4a         // lea    rax, [rdx + 4*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_872
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_872

LBB0_385:
	WORD $0xf631 // xor    esi, esi

LBB0_1445:
	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   LBB0_1447

LBB0_1446:
	LONG $0xb204b60f         // movzx    eax, byte [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1446

LBB0_1447:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1448:
	LONG $0xb204b60f             // movzx    eax, byte [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0xb244b60f; BYTE $0x04 // movzx    eax, byte [rdx + 4*rsi + 4]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0xb244b60f; BYTE $0x08 // movzx    eax, byte [rdx + 4*rsi + 8]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0xb244b60f; BYTE $0x0c // movzx    eax, byte [rdx + 4*rsi + 12]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1448
	JMP  LBB0_1553

LBB0_386:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_388
	LONG $0xca048d4a         // lea    rax, [rdx + 8*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_875
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_875

LBB0_388:
	WORD $0xf631 // xor    esi, esi

LBB0_1453:
	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   LBB0_1455

LBB0_1454:
	LONG $0x1c2cfbc5; BYTE $0xf2 // vcvttsd2si    ebx, qword [rdx + 8*rsi]
	WORD $0x1c88; BYTE $0x31     // mov    byte [rcx + rsi], bl
	LONG $0x01c68348             // add    rsi, 1
	LONG $0xffc78348             // add    rdi, -1
	JNE  LBB0_1454

LBB0_1455:
	LONG $0x03f88348 // cmp    rax, 3
	JB   LBB0_1553

LBB0_1456:
	LONG $0x042cfbc5; BYTE $0xf2   // vcvttsd2si    eax, qword [rdx + 8*rsi]
	WORD $0x0488; BYTE $0x31       // mov    byte [rcx + rsi], al
	LONG $0x442cfbc5; WORD $0x08f2 // vcvttsd2si    eax, qword [rdx + 8*rsi + 8]
	LONG $0x01314488               // mov    byte [rcx + rsi + 1], al
	LONG $0x442cfbc5; WORD $0x10f2 // vcvttsd2si    eax, qword [rdx + 8*rsi + 16]
	LONG $0x02314488               // mov    byte [rcx + rsi + 2], al
	LONG $0x442cfbc5; WORD $0x18f2 // vcvttsd2si    eax, qword [rdx + 8*rsi + 24]
	LONG $0x03314488               // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348               // add    rsi, 4
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1456
	JMP  LBB0_1553

LBB0_389:
	WORD $0x8545; BYTE $0xc0                   // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1                   // mov    r9d, r8d
	LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp    r8d, 128
	JB   LBB0_391
	LONG $0x0a048d4a                           // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8                   // cmp    rax, rcx
	JBE  LBB0_878
	LONG $0x09048d4a                           // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0                   // cmp    rax, rdx
	JBE  LBB0_878

LBB0_391:
	WORD $0xf631 // xor    esi, esi

LBB0_1461:
	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   LBB0_1463

LBB0_1462:
	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  LBB0_1462

LBB0_1463:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1464:
	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  LBB0_1464
	JMP  LBB0_1553

LBB0_392:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_394
	LONG $0xca048d4a         // lea    rax, [rdx + 8*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_881
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_881

LBB0_394:
	WORD $0xf631 // xor    esi, esi

LBB0_1469:
	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   LBB0_1471

LBB0_1470:
	LONG $0xf204b60f         // movzx    eax, byte [rdx + 8*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1470

LBB0_1471:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1472:
	LONG $0xf204b60f             // movzx    eax, byte [rdx + 8*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0xf244b60f; BYTE $0x08 // movzx    eax, byte [rdx + 8*rsi + 8]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0xf244b60f; BYTE $0x10 // movzx    eax, byte [rdx + 8*rsi + 16]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0xf244b60f; BYTE $0x18 // movzx    eax, byte [rdx + 8*rsi + 24]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1472
	JMP  LBB0_1553

LBB0_395:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x40f88341         // cmp    r8d, 64
	JB   LBB0_397
	LONG $0x4a048d4a         // lea    rax, [rdx + 2*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_884
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_884

LBB0_397:
	WORD $0xf631 // xor    esi, esi

LBB0_1477:
	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   LBB0_1479

LBB0_1478:
	LONG $0x7204b60f         // movzx    eax, byte [rdx + 2*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1478

LBB0_1479:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1480:
	LONG $0x7204b60f             // movzx    eax, byte [rdx + 2*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0x7244b60f; BYTE $0x02 // movzx    eax, byte [rdx + 2*rsi + 2]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0x7244b60f; BYTE $0x04 // movzx    eax, byte [rdx + 2*rsi + 4]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0x7244b60f; BYTE $0x06 // movzx    eax, byte [rdx + 2*rsi + 6]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1480
	JMP  LBB0_1553

LBB0_398:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x40f88341         // cmp    r8d, 64
	JB   LBB0_400
	LONG $0x4a048d4a         // lea    rax, [rdx + 2*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_887
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_887

LBB0_400:
	WORD $0xf631 // xor    esi, esi

LBB0_1485:
	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   LBB0_1487

LBB0_1486:
	LONG $0x7204b60f         // movzx    eax, byte [rdx + 2*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1486

LBB0_1487:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1488:
	LONG $0x7204b60f             // movzx    eax, byte [rdx + 2*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0x7244b60f; BYTE $0x02 // movzx    eax, byte [rdx + 2*rsi + 2]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0x7244b60f; BYTE $0x04 // movzx    eax, byte [rdx + 2*rsi + 4]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0x7244b60f; BYTE $0x06 // movzx    eax, byte [rdx + 2*rsi + 6]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1488
	JMP  LBB0_1553

LBB0_401:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JB   LBB0_403
	LONG $0xca048d4a         // lea    rax, [rdx + 8*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_890
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_890

LBB0_403:
	WORD $0xf631 // xor    esi, esi

LBB0_1493:
	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   LBB0_1495

LBB0_1494:
	LONG $0xf204b60f         // movzx    eax, byte [rdx + 8*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1494

LBB0_1495:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1496:
	LONG $0xf204b60f             // movzx    eax, byte [rdx + 8*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0xf244b60f; BYTE $0x08 // movzx    eax, byte [rdx + 8*rsi + 8]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0xf244b60f; BYTE $0x10 // movzx    eax, byte [rdx + 8*rsi + 16]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0xf244b60f; BYTE $0x18 // movzx    eax, byte [rdx + 8*rsi + 24]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1496
	JMP  LBB0_1553

LBB0_404:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_406
	LONG $0x8a048d4a         // lea    rax, [rdx + 4*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_893
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_893

LBB0_406:
	WORD $0xf631 // xor    esi, esi

LBB0_1501:
	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   LBB0_1503

LBB0_1502:
	LONG $0x042cfac5; BYTE $0xb2 // vcvttss2si    eax, dword [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0x01c68348             // add    rsi, 1
	LONG $0xffc78348             // add    rdi, -1
	JNE  LBB0_1502

LBB0_1503:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1504:
	LONG $0x042cfac5; BYTE $0xb2   // vcvttss2si    eax, dword [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31       // mov    byte [rcx + rsi], al
	LONG $0x442cfac5; WORD $0x04b2 // vcvttss2si    eax, dword [rdx + 4*rsi + 4]
	LONG $0x01314488               // mov    byte [rcx + rsi + 1], al
	LONG $0x442cfac5; WORD $0x08b2 // vcvttss2si    eax, dword [rdx + 4*rsi + 8]
	LONG $0x02314488               // mov    byte [rcx + rsi + 2], al
	LONG $0x442cfac5; WORD $0x0cb2 // vcvttss2si    eax, dword [rdx + 4*rsi + 12]
	LONG $0x03314488               // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348               // add    rsi, 4
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1504
	JMP  LBB0_1553

LBB0_407:
	WORD $0x8545; BYTE $0xc0                   // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1                   // mov    r9d, r8d
	LONG $0x80f88141; WORD $0x0000; BYTE $0x00 // cmp    r8d, 128
	JB   LBB0_409
	LONG $0x0a048d4a                           // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8                   // cmp    rax, rcx
	JBE  LBB0_896
	LONG $0x09048d4a                           // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0                   // cmp    rax, rdx
	JBE  LBB0_896

LBB0_409:
	WORD $0xf631 // xor    esi, esi

LBB0_1509:
	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   LBB0_1511

LBB0_1510:
	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  LBB0_1510

LBB0_1511:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1512:
	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  LBB0_1512
	JMP  LBB0_1553

LBB0_410:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_412
	LONG $0x8a048d4a         // lea    rax, [rdx + 4*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_899
	LONG $0x09048d4a         // lea    rax, [rcx + r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_899

LBB0_412:
	WORD $0xf631 // xor    esi, esi

LBB0_1517:
	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   LBB0_1519

LBB0_1518:
	LONG $0xb204b60f         // movzx    eax, byte [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31 // mov    byte [rcx + rsi], al
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1518

LBB0_1519:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1520:
	LONG $0xb204b60f             // movzx    eax, byte [rdx + 4*rsi]
	WORD $0x0488; BYTE $0x31     // mov    byte [rcx + rsi], al
	LONG $0xb244b60f; BYTE $0x04 // movzx    eax, byte [rdx + 4*rsi + 4]
	LONG $0x01314488             // mov    byte [rcx + rsi + 1], al
	LONG $0xb244b60f; BYTE $0x08 // movzx    eax, byte [rdx + 4*rsi + 8]
	LONG $0x02314488             // mov    byte [rcx + rsi + 2], al
	LONG $0xb244b60f; BYTE $0x0c // movzx    eax, byte [rdx + 4*rsi + 12]
	LONG $0x03314488             // mov    byte [rcx + rsi + 3], al
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1520
	JMP  LBB0_1553

LBB0_413:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_415
	LONG $0x8a048d4a         // lea    rax, [rdx + 4*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_902
	LONG $0x89048d4a         // lea    rax, [rcx + 4*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_902

LBB0_415:
	WORD $0xf631 // xor    esi, esi

LBB0_1525:
	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   LBB0_1527

LBB0_1526:
	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  LBB0_1526

LBB0_1527:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1528:
	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  LBB0_1528
	JMP  LBB0_1553

LBB0_416:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_715
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_994

LBB0_419:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_421
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_905
	LONG $0x89048d4a         // lea    rax, [rcx + 4*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_905

LBB0_421:
	WORD $0xf631 // xor    esi, esi

LBB0_1533:
	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   LBB0_1535

LBB0_1534:
	LONG $0x3204be0f         // movsx    eax, byte [rdx + rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1534

LBB0_1535:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1536:
	LONG $0x3204be0f             // movsx    eax, byte [rdx + rsi]
	WORD $0x0489; BYTE $0xb1     // mov    dword [rcx + 4*rsi], eax
	LONG $0x3244be0f; BYTE $0x01 // movsx    eax, byte [rdx + rsi + 1]
	LONG $0x04b14489             // mov    dword [rcx + 4*rsi + 4], eax
	LONG $0x3244be0f; BYTE $0x02 // movsx    eax, byte [rdx + rsi + 2]
	LONG $0x08b14489             // mov    dword [rcx + 4*rsi + 8], eax
	LONG $0x3244be0f; BYTE $0x03 // movsx    eax, byte [rdx + rsi + 3]
	LONG $0x0cb14489             // mov    dword [rcx + 4*rsi + 12], eax
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1536
	JMP  LBB0_1553

LBB0_422:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_721
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_999

LBB0_425:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_724
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1004

LBB0_428:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_727
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1009

LBB0_431:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x10f88341         // cmp    r8d, 16
	JAE  LBB0_730
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1014

LBB0_434:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JAE  LBB0_733
	WORD $0xf631             // xor    esi, esi
	JMP  LBB0_1019

LBB0_437:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_439
	LONG $0x0a048d4a         // lea    rax, [rdx + r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_908
	LONG $0x89048d4a         // lea    rax, [rcx + 4*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_908

LBB0_439:
	WORD $0xf631 // xor    esi, esi

LBB0_1541:
	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   LBB0_1543

LBB0_1542:
	LONG $0x3204b60f         // movzx    eax, byte [rdx + rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	LONG $0xffc78348         // add    rdi, -1
	JNE  LBB0_1542

LBB0_1543:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1544:
	LONG $0x3204b60f             // movzx    eax, byte [rdx + rsi]
	WORD $0x0489; BYTE $0xb1     // mov    dword [rcx + 4*rsi], eax
	LONG $0x3244b60f; BYTE $0x01 // movzx    eax, byte [rdx + rsi + 1]
	LONG $0x04b14489             // mov    dword [rcx + 4*rsi + 4], eax
	LONG $0x3244b60f; BYTE $0x02 // movzx    eax, byte [rdx + rsi + 2]
	LONG $0x08b14489             // mov    dword [rcx + 4*rsi + 8], eax
	LONG $0x3244b60f; BYTE $0x03 // movzx    eax, byte [rdx + rsi + 3]
	LONG $0x0cb14489             // mov    dword [rcx + 4*rsi + 12], eax
	LONG $0x04c68348             // add    rsi, 4
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1544
	JMP  LBB0_1553

LBB0_440:
	WORD $0x8545; BYTE $0xc0 // test    r8d, r8d
	JLE  LBB0_1553
	WORD $0x8945; BYTE $0xc1 // mov    r9d, r8d
	LONG $0x20f88341         // cmp    r8d, 32
	JB   LBB0_442
	LONG $0x8a048d4a         // lea    rax, [rdx + 4*r9]
	WORD $0x3948; BYTE $0xc8 // cmp    rax, rcx
	JBE  LBB0_911
	LONG $0x89048d4a         // lea    rax, [rcx + 4*r9]
	WORD $0x3948; BYTE $0xd0 // cmp    rax, rdx
	JBE  LBB0_911

LBB0_442:
	WORD $0xf631 // xor    esi, esi

LBB0_1549:
	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   LBB0_1551

LBB0_1550:
	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  LBB0_1550

LBB0_1551:
	LONG $0x03f88349 // cmp    r8, 3
	JB   LBB0_1553

LBB0_1552:
	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  LBB0_1552
	JMP  LBB0_1553

LBB0_446:
	WORD $0xe683; BYTE $0xfc // and    esi, -4
	WORD $0xff31             // xor    edi, edi

LBB0_447:
	LONG $0x2cfbe1c4; WORD $0xfa1c             // vcvttsd2si    rbx, qword [rdx + 8*rdi]
	WORD $0x1c89; BYTE $0xb9                   // mov    dword [rcx + 4*rdi], ebx
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x08 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 8]
	LONG $0x04b95c89                           // mov    dword [rcx + 4*rdi + 4], ebx
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x10 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 16]
	LONG $0x08b95c89                           // mov    dword [rcx + 4*rdi + 8], ebx
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x18 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 24]
	LONG $0x0cb95c89                           // mov    dword [rcx + 4*rdi + 12], ebx
	LONG $0x04c78348                           // add    rdi, 4
	WORD $0x3948; BYTE $0xfe                   // cmp    rsi, rdi
	JNE  LBB0_447

LBB0_448:
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1553
	LONG $0xb90c8d48         // lea    rcx, [rcx + 4*rdi]
	LONG $0xfa148d48         // lea    rdx, [rdx + 8*rdi]
	WORD $0xf631             // xor    esi, esi

LBB0_450:
	LONG $0x2cfbe1c4; WORD $0xf23c // vcvttsd2si    rdi, qword [rdx + 8*rsi]
	WORD $0x3c89; BYTE $0xb1       // mov    dword [rcx + 4*rsi], edi
	LONG $0x01c68348               // add    rsi, 1
	WORD $0x3948; BYTE $0xf0       // cmp    rax, rsi
	JNE  LBB0_450
	JMP  LBB0_1553

LBB0_454:
	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   LBB0_914
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_456:
	LONG $0x0410f8c5; BYTE $0xfa               // vmovups    xmm0, oword [rdx + 8*rdi]
	LONG $0x4c10f8c5; WORD $0x20fa             // vmovups    xmm1, oword [rdx + 8*rdi + 32]
	LONG $0x5410f8c5; WORD $0x40fa             // vmovups    xmm2, oword [rdx + 8*rdi + 64]
	LONG $0x5c10f8c5; WORD $0x60fa             // vmovups    xmm3, oword [rdx + 8*rdi + 96]
	LONG $0x44c6f8c5; WORD $0x10fa; BYTE $0x88 // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 16], 136
	LONG $0x4cc6f0c5; WORD $0x30fa; BYTE $0x88 // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 48], 136
	LONG $0x54c6e8c5; WORD $0x50fa; BYTE $0x88 // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 80], 136
	LONG $0x5cc6e0c5; WORD $0x70fa; BYTE $0x88 // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 112], 136
	LONG $0x0411f8c5; BYTE $0xb9               // vmovups    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f8c5; WORD $0x10b9             // vmovups    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f8c5; WORD $0x20b9             // vmovups    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f8c5; WORD $0x30b9             // vmovups    oword [rcx + 4*rdi + 48], xmm3
	QUAD $0x000080fa8410f8c5; BYTE $0x00       // vmovups    xmm0, oword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8c10f8c5; BYTE $0x00       // vmovups    xmm1, oword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa9410f8c5; BYTE $0x00       // vmovups    xmm2, oword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9c10f8c5; BYTE $0x00       // vmovups    xmm3, oword [rdx + 8*rdi + 224]
	QUAD $0x000090fa84c6f8c5; WORD $0x8800     // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 144], 136
	QUAD $0x0000b0fa8cc6f0c5; WORD $0x8800     // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 176], 136
	QUAD $0x0000d0fa94c6e8c5; WORD $0x8800     // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 208], 136
	QUAD $0x0000f0fa9cc6e0c5; WORD $0x8800     // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 240], 136
	LONG $0x4411f8c5; WORD $0x40b9             // vmovups    oword [rcx + 4*rdi + 64], xmm0
	LONG $0x4c11f8c5; WORD $0x50b9             // vmovups    oword [rcx + 4*rdi + 80], xmm1
	LONG $0x5411f8c5; WORD $0x60b9             // vmovups    oword [rcx + 4*rdi + 96], xmm2
	LONG $0x5c11f8c5; WORD $0x70b9             // vmovups    oword [rcx + 4*rdi + 112], xmm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_456
	JMP  LBB0_915

LBB0_457:
	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   LBB0_1020
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_459:
	LONG $0x337de2c4; WORD $0x7a04             // vpmovzxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x337de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovzxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x337de2c4; WORD $0x7a54; BYTE $0x20 // vpmovzxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x337de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovzxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x337de2c4; WORD $0x7a44; BYTE $0x40 // vpmovzxwd    ymm0, oword [rdx + 2*rdi + 64]
	LONG $0x337de2c4; WORD $0x7a4c; BYTE $0x50 // vpmovzxwd    ymm1, oword [rdx + 2*rdi + 80]
	LONG $0x337de2c4; WORD $0x7a54; BYTE $0x60 // vpmovzxwd    ymm2, oword [rdx + 2*rdi + 96]
	LONG $0x337de2c4; WORD $0x7a5c; BYTE $0x70 // vpmovzxwd    ymm3, oword [rdx + 2*rdi + 112]
	QUAD $0x000080b9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_459
	JMP  LBB0_1021

LBB0_460:
	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   LBB0_1025
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_462:
	LONG $0x237de2c4; WORD $0x7a04             // vpmovsxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovsxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x237de2c4; WORD $0x7a54; BYTE $0x20 // vpmovsxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x237de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovsxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x237de2c4; WORD $0x7a44; BYTE $0x40 // vpmovsxwd    ymm0, oword [rdx + 2*rdi + 64]
	LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x50 // vpmovsxwd    ymm1, oword [rdx + 2*rdi + 80]
	LONG $0x237de2c4; WORD $0x7a54; BYTE $0x60 // vpmovsxwd    ymm2, oword [rdx + 2*rdi + 96]
	LONG $0x237de2c4; WORD $0x7a5c; BYTE $0x70 // vpmovsxwd    ymm3, oword [rdx + 2*rdi + 112]
	QUAD $0x000080b9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_462
	JMP  LBB0_1026

LBB0_463:
	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   LBB0_1030
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_465:
	LONG $0x0410f8c5; BYTE $0xfa               // vmovups    xmm0, oword [rdx + 8*rdi]
	LONG $0x4c10f8c5; WORD $0x20fa             // vmovups    xmm1, oword [rdx + 8*rdi + 32]
	LONG $0x5410f8c5; WORD $0x40fa             // vmovups    xmm2, oword [rdx + 8*rdi + 64]
	LONG $0x5c10f8c5; WORD $0x60fa             // vmovups    xmm3, oword [rdx + 8*rdi + 96]
	LONG $0x44c6f8c5; WORD $0x10fa; BYTE $0x88 // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 16], 136
	LONG $0x4cc6f0c5; WORD $0x30fa; BYTE $0x88 // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 48], 136
	LONG $0x54c6e8c5; WORD $0x50fa; BYTE $0x88 // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 80], 136
	LONG $0x5cc6e0c5; WORD $0x70fa; BYTE $0x88 // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 112], 136
	LONG $0x0411f8c5; BYTE $0xb9               // vmovups    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f8c5; WORD $0x10b9             // vmovups    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f8c5; WORD $0x20b9             // vmovups    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f8c5; WORD $0x30b9             // vmovups    oword [rcx + 4*rdi + 48], xmm3
	QUAD $0x000080fa8410f8c5; BYTE $0x00       // vmovups    xmm0, oword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8c10f8c5; BYTE $0x00       // vmovups    xmm1, oword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa9410f8c5; BYTE $0x00       // vmovups    xmm2, oword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9c10f8c5; BYTE $0x00       // vmovups    xmm3, oword [rdx + 8*rdi + 224]
	QUAD $0x000090fa84c6f8c5; WORD $0x8800     // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 144], 136
	QUAD $0x0000b0fa8cc6f0c5; WORD $0x8800     // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 176], 136
	QUAD $0x0000d0fa94c6e8c5; WORD $0x8800     // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 208], 136
	QUAD $0x0000f0fa9cc6e0c5; WORD $0x8800     // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 240], 136
	LONG $0x4411f8c5; WORD $0x40b9             // vmovups    oword [rcx + 4*rdi + 64], xmm0
	LONG $0x4c11f8c5; WORD $0x50b9             // vmovups    oword [rcx + 4*rdi + 80], xmm1
	LONG $0x5411f8c5; WORD $0x60b9             // vmovups    oword [rcx + 4*rdi + 96], xmm2
	LONG $0x5c11f8c5; WORD $0x70b9             // vmovups    oword [rcx + 4*rdi + 112], xmm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_465
	JMP  LBB0_1031

LBB0_466:
	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   LBB0_1035
	WORD $0x894c; BYTE $0xc0       // mov    rax, r8
	LONG $0xfee08348               // and    rax, -2
	WORD $0xf748; BYTE $0xd8       // neg    rax
	WORD $0xff31                   // xor    edi, edi
	LONG $0x1879e2c4; WORD $0x2c45 // vbroadcastss    xmm0, dword 44[rbp] /* [rip + .LCPI0_2] */
	LONG $0x1879e2c4; WORD $0x304d // vbroadcastss    xmm1, dword 48[rbp] /* [rip + .LCPI0_3] */

LBB0_468:
	LONG $0x1410f8c5; BYTE $0xba   // vmovups    xmm2, oword [rdx + 4*rdi]
	LONG $0x5c10f8c5; WORD $0x10ba // vmovups    xmm3, oword [rdx + 4*rdi + 16]
	LONG $0x6410f8c5; WORD $0x20ba // vmovups    xmm4, oword [rdx + 4*rdi + 32]
	LONG $0xe8c2e8c5; BYTE $0x01   // vcmpltps    xmm5, xmm2, xmm0
	LONG $0xf05ce8c5               // vsubps    xmm6, xmm2, xmm0
	LONG $0xf65bfac5               // vcvttps2dq    xmm6, xmm6
	LONG $0xf157c8c5               // vxorps    xmm6, xmm6, xmm1
	LONG $0xd25bfac5               // vcvttps2dq    xmm2, xmm2
	LONG $0x4a49e3c4; WORD $0x50d2 // vblendvps    xmm2, xmm6, xmm2, xmm5
	LONG $0x6c10f8c5; WORD $0x30ba // vmovups    xmm5, oword [rdx + 4*rdi + 48]
	LONG $0xf0c2e0c5; BYTE $0x01   // vcmpltps    xmm6, xmm3, xmm0
	LONG $0xf85ce0c5               // vsubps    xmm7, xmm3, xmm0
	LONG $0xff5bfac5               // vcvttps2dq    xmm7, xmm7
	LONG $0xf957c0c5               // vxorps    xmm7, xmm7, xmm1
	LONG $0xdb5bfac5               // vcvttps2dq    xmm3, xmm3
	LONG $0x4a41e3c4; WORD $0x60db // vblendvps    xmm3, xmm7, xmm3, xmm6
	LONG $0xf0c2d8c5; BYTE $0x01   // vcmpltps    xmm6, xmm4, xmm0
	LONG $0xf85cd8c5               // vsubps    xmm7, xmm4, xmm0
	LONG $0xff5bfac5               // vcvttps2dq    xmm7, xmm7
	LONG $0xf957c0c5               // vxorps    xmm7, xmm7, xmm1
	LONG $0xe45bfac5               // vcvttps2dq    xmm4, xmm4
	LONG $0x4a41e3c4; WORD $0x60e4 // vblendvps    xmm4, xmm7, xmm4, xmm6
	LONG $0xf0c2d0c5; BYTE $0x01   // vcmpltps    xmm6, xmm5, xmm0
	LONG $0xf85cd0c5               // vsubps    xmm7, xmm5, xmm0
	LONG $0xff5bfac5               // vcvttps2dq    xmm7, xmm7
	LONG $0xf957c0c5               // vxorps    xmm7, xmm7, xmm1
	LONG $0xed5bfac5               // vcvttps2dq    xmm5, xmm5
	LONG $0x4a41e3c4; WORD $0x60ed // vblendvps    xmm5, xmm7, xmm5, xmm6
	LONG $0x1411f8c5; BYTE $0xb9   // vmovups    oword [rcx + 4*rdi], xmm2
	LONG $0x5c11f8c5; WORD $0x10b9 // vmovups    oword [rcx + 4*rdi + 16], xmm3
	LONG $0x6411f8c5; WORD $0x20b9 // vmovups    oword [rcx + 4*rdi + 32], xmm4
	LONG $0x6c11f8c5; WORD $0x30b9 // vmovups    oword [rcx + 4*rdi + 48], xmm5
	LONG $0x5410f8c5; WORD $0x40ba // vmovups    xmm2, oword [rdx + 4*rdi + 64]
	LONG $0x5c10f8c5; WORD $0x50ba // vmovups    xmm3, oword [rdx + 4*rdi + 80]
	LONG $0x6410f8c5; WORD $0x60ba // vmovups    xmm4, oword [rdx + 4*rdi + 96]
	LONG $0xe8c2e8c5; BYTE $0x01   // vcmpltps    xmm5, xmm2, xmm0
	LONG $0xf05ce8c5               // vsubps    xmm6, xmm2, xmm0
	LONG $0xf65bfac5               // vcvttps2dq    xmm6, xmm6
	LONG $0xf157c8c5               // vxorps    xmm6, xmm6, xmm1
	LONG $0xd25bfac5               // vcvttps2dq    xmm2, xmm2
	LONG $0x4a49e3c4; WORD $0x50d2 // vblendvps    xmm2, xmm6, xmm2, xmm5
	LONG $0x6c10f8c5; WORD $0x70ba // vmovups    xmm5, oword [rdx + 4*rdi + 112]
	LONG $0xf0c2e0c5; BYTE $0x01   // vcmpltps    xmm6, xmm3, xmm0
	LONG $0xf85ce0c5               // vsubps    xmm7, xmm3, xmm0
	LONG $0xff5bfac5               // vcvttps2dq    xmm7, xmm7
	LONG $0xf957c0c5               // vxorps    xmm7, xmm7, xmm1
	LONG $0xdb5bfac5               // vcvttps2dq    xmm3, xmm3
	LONG $0x4a41e3c4; WORD $0x60db // vblendvps    xmm3, xmm7, xmm3, xmm6
	LONG $0xf0c2d8c5; BYTE $0x01   // vcmpltps    xmm6, xmm4, xmm0
	LONG $0xf85cd8c5               // vsubps    xmm7, xmm4, xmm0
	LONG $0xff5bfac5               // vcvttps2dq    xmm7, xmm7
	LONG $0xf957c0c5               // vxorps    xmm7, xmm7, xmm1
	LONG $0xe45bfac5               // vcvttps2dq    xmm4, xmm4
	LONG $0x4a41e3c4; WORD $0x60e4 // vblendvps    xmm4, xmm7, xmm4, xmm6
	LONG $0xf0c2d0c5; BYTE $0x01   // vcmpltps    xmm6, xmm5, xmm0
	LONG $0xf85cd0c5               // vsubps    xmm7, xmm5, xmm0
	LONG $0xff5bfac5               // vcvttps2dq    xmm7, xmm7
	LONG $0xf957c0c5               // vxorps    xmm7, xmm7, xmm1
	LONG $0xed5bfac5               // vcvttps2dq    xmm5, xmm5
	LONG $0x4a41e3c4; WORD $0x60ed // vblendvps    xmm5, xmm7, xmm5, xmm6
	LONG $0x5411f8c5; WORD $0x40b9 // vmovups    oword [rcx + 4*rdi + 64], xmm2
	LONG $0x5c11f8c5; WORD $0x50b9 // vmovups    oword [rcx + 4*rdi + 80], xmm3
	LONG $0x6411f8c5; WORD $0x60b9 // vmovups    oword [rcx + 4*rdi + 96], xmm4
	LONG $0x6c11f8c5; WORD $0x70b9 // vmovups    oword [rcx + 4*rdi + 112], xmm5
	LONG $0x20c78348               // add    rdi, 32
	LONG $0x02c08348               // add    rax, 2
	JNE  LBB0_468
	JMP  LBB0_1036

LBB0_475:
	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   LBB0_1040
	WORD $0x894c; BYTE $0xc0       // mov    rax, r8
	LONG $0xfee08348               // and    rax, -2
	WORD $0xf748; BYTE $0xd8       // neg    rax
	WORD $0xff31                   // xor    edi, edi
	LONG $0x597de2c4; WORD $0x0845 // vpbroadcastq    ymm0, qword 8[rbp] /* [rip + .LCPI0_5] */

LBB0_477:
	LONG $0x357de2c4; WORD $0xba0c             // vpmovzxdq    ymm1, oword [rdx + 4*rdi]
	LONG $0x357de2c4; WORD $0xba54; BYTE $0x10 // vpmovzxdq    ymm2, oword [rdx + 4*rdi + 16]
	LONG $0x357de2c4; WORD $0xba5c; BYTE $0x20 // vpmovzxdq    ymm3, oword [rdx + 4*rdi + 32]
	LONG $0x357de2c4; WORD $0xba64; BYTE $0x30 // vpmovzxdq    ymm4, oword [rdx + 4*rdi + 48]
	LONG $0xc8ebf5c5                           // vpor    ymm1, ymm1, ymm0
	LONG $0xc85cf5c5                           // vsubpd    ymm1, ymm1, ymm0
	LONG $0xd0ebedc5                           // vpor    ymm2, ymm2, ymm0
	LONG $0xd05cedc5                           // vsubpd    ymm2, ymm2, ymm0
	LONG $0xd8ebe5c5                           // vpor    ymm3, ymm3, ymm0
	LONG $0xd85ce5c5                           // vsubpd    ymm3, ymm3, ymm0
	LONG $0xe0ebddc5                           // vpor    ymm4, ymm4, ymm0
	LONG $0xe05cddc5                           // vsubpd    ymm4, ymm4, ymm0
	LONG $0x0c11fdc5; BYTE $0xf9               // vmovupd    yword [rcx + 8*rdi], ymm1
	LONG $0x5411fdc5; WORD $0x20f9             // vmovupd    yword [rcx + 8*rdi + 32], ymm2
	LONG $0x5c11fdc5; WORD $0x40f9             // vmovupd    yword [rcx + 8*rdi + 64], ymm3
	LONG $0x6411fdc5; WORD $0x60f9             // vmovupd    yword [rcx + 8*rdi + 96], ymm4
	LONG $0x357de2c4; WORD $0xba4c; BYTE $0x40 // vpmovzxdq    ymm1, oword [rdx + 4*rdi + 64]
	LONG $0x357de2c4; WORD $0xba54; BYTE $0x50 // vpmovzxdq    ymm2, oword [rdx + 4*rdi + 80]
	LONG $0x357de2c4; WORD $0xba5c; BYTE $0x60 // vpmovzxdq    ymm3, oword [rdx + 4*rdi + 96]
	LONG $0x357de2c4; WORD $0xba64; BYTE $0x70 // vpmovzxdq    ymm4, oword [rdx + 4*rdi + 112]
	LONG $0xc8ebf5c5                           // vpor    ymm1, ymm1, ymm0
	LONG $0xc85cf5c5                           // vsubpd    ymm1, ymm1, ymm0
	LONG $0xd0ebedc5                           // vpor    ymm2, ymm2, ymm0
	LONG $0xd05cedc5                           // vsubpd    ymm2, ymm2, ymm0
	LONG $0xd8ebe5c5                           // vpor    ymm3, ymm3, ymm0
	LONG $0xd85ce5c5                           // vsubpd    ymm3, ymm3, ymm0
	LONG $0xe0ebddc5                           // vpor    ymm4, ymm4, ymm0
	LONG $0xe05cddc5                           // vsubpd    ymm4, ymm4, ymm0
	QUAD $0x000080f98c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 128], ymm1
	QUAD $0x0000a0f99411fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 160], ymm2
	QUAD $0x0000c0f99c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 192], ymm3
	QUAD $0x0000e0f9a411fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 224], ymm4
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_477
	JMP  LBB0_1041

LBB0_484:
	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   LBB0_919
	WORD $0x894c; BYTE $0xc0       // mov    rax, r8
	LONG $0xfee08348               // and    rax, -2
	WORD $0xf748; BYTE $0xd8       // neg    rax
	WORD $0xff31                   // xor    edi, edi
	LONG $0x597de2c4; WORD $0x0845 // vpbroadcastq    ymm0, qword 8[rbp] /* [rip + .LCPI0_5] */
	LONG $0xc9eff1c5               // vpxor    xmm1, xmm1, xmm1
	LONG $0x597de2c4; WORD $0x1055 // vpbroadcastq    ymm2, qword 16[rbp] /* [rip + .LCPI0_6] */
	LONG $0x197de2c4; WORD $0x185d // vbroadcastsd    ymm3, qword 24[rbp] /* [rip + .LCPI0_7] */

LBB0_486:
	LONG $0x246ffec5; BYTE $0xfa         // vmovdqu    ymm4, yword [rdx + 8*rdi]
	LONG $0x6c6ffec5; WORD $0x20fa       // vmovdqu    ymm5, yword [rdx + 8*rdi + 32]
	LONG $0x746ffec5; WORD $0x40fa       // vmovdqu    ymm6, yword [rdx + 8*rdi + 64]
	LONG $0x7c6ffec5; WORD $0x60fa       // vmovdqu    ymm7, yword [rdx + 8*rdi + 96]
	LONG $0x025d63c4; WORD $0xaac1       // vpblendd    ymm8, ymm4, ymm1, 170
	LONG $0xc0eb3dc5                     // vpor    ymm8, ymm8, ymm0
	LONG $0xd473ddc5; BYTE $0x20         // vpsrlq    ymm4, ymm4, 32
	LONG $0xe2ebddc5                     // vpor    ymm4, ymm4, ymm2
	LONG $0xe35cddc5                     // vsubpd    ymm4, ymm4, ymm3
	LONG $0xe458bdc5                     // vaddpd    ymm4, ymm8, ymm4
	LONG $0x025563c4; WORD $0xaac1       // vpblendd    ymm8, ymm5, ymm1, 170
	LONG $0xc0eb3dc5                     // vpor    ymm8, ymm8, ymm0
	LONG $0xd573d5c5; BYTE $0x20         // vpsrlq    ymm5, ymm5, 32
	LONG $0xeaebd5c5                     // vpor    ymm5, ymm5, ymm2
	LONG $0xeb5cd5c5                     // vsubpd    ymm5, ymm5, ymm3
	LONG $0xed58bdc5                     // vaddpd    ymm5, ymm8, ymm5
	LONG $0x024d63c4; WORD $0xaac1       // vpblendd    ymm8, ymm6, ymm1, 170
	LONG $0xc0eb3dc5                     // vpor    ymm8, ymm8, ymm0
	LONG $0xd673cdc5; BYTE $0x20         // vpsrlq    ymm6, ymm6, 32
	LONG $0xf2ebcdc5                     // vpor    ymm6, ymm6, ymm2
	LONG $0xf35ccdc5                     // vsubpd    ymm6, ymm6, ymm3
	LONG $0xf658bdc5                     // vaddpd    ymm6, ymm8, ymm6
	LONG $0x024563c4; WORD $0xaac1       // vpblendd    ymm8, ymm7, ymm1, 170
	LONG $0xc0eb3dc5                     // vpor    ymm8, ymm8, ymm0
	LONG $0xd773c5c5; BYTE $0x20         // vpsrlq    ymm7, ymm7, 32
	LONG $0xfaebc5c5                     // vpor    ymm7, ymm7, ymm2
	LONG $0xfb5cc5c5                     // vsubpd    ymm7, ymm7, ymm3
	LONG $0xff58bdc5                     // vaddpd    ymm7, ymm8, ymm7
	LONG $0x2411fdc5; BYTE $0xf9         // vmovupd    yword [rcx + 8*rdi], ymm4
	LONG $0x6c11fdc5; WORD $0x20f9       // vmovupd    yword [rcx + 8*rdi + 32], ymm5
	LONG $0x7411fdc5; WORD $0x40f9       // vmovupd    yword [rcx + 8*rdi + 64], ymm6
	LONG $0x7c11fdc5; WORD $0x60f9       // vmovupd    yword [rcx + 8*rdi + 96], ymm7
	QUAD $0x000080faa46ffec5; BYTE $0x00 // vmovdqu    ymm4, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0faac6ffec5; BYTE $0x00 // vmovdqu    ymm5, yword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fab46ffec5; BYTE $0x00 // vmovdqu    ymm6, yword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fabc6ffec5; BYTE $0x00 // vmovdqu    ymm7, yword [rdx + 8*rdi + 224]
	LONG $0x025d63c4; WORD $0xaac1       // vpblendd    ymm8, ymm4, ymm1, 170
	LONG $0xc0eb3dc5                     // vpor    ymm8, ymm8, ymm0
	LONG $0xd473ddc5; BYTE $0x20         // vpsrlq    ymm4, ymm4, 32
	LONG $0xe2ebddc5                     // vpor    ymm4, ymm4, ymm2
	LONG $0xe35cddc5                     // vsubpd    ymm4, ymm4, ymm3
	LONG $0xe458bdc5                     // vaddpd    ymm4, ymm8, ymm4
	LONG $0x025563c4; WORD $0xaac1       // vpblendd    ymm8, ymm5, ymm1, 170
	LONG $0xc0eb3dc5                     // vpor    ymm8, ymm8, ymm0
	LONG $0xd573d5c5; BYTE $0x20         // vpsrlq    ymm5, ymm5, 32
	LONG $0xeaebd5c5                     // vpor    ymm5, ymm5, ymm2
	LONG $0xeb5cd5c5                     // vsubpd    ymm5, ymm5, ymm3
	LONG $0xed58bdc5                     // vaddpd    ymm5, ymm8, ymm5
	LONG $0x024d63c4; WORD $0xaac1       // vpblendd    ymm8, ymm6, ymm1, 170
	LONG $0xc0eb3dc5                     // vpor    ymm8, ymm8, ymm0
	LONG $0xd673cdc5; BYTE $0x20         // vpsrlq    ymm6, ymm6, 32
	LONG $0xf2ebcdc5                     // vpor    ymm6, ymm6, ymm2
	LONG $0xf35ccdc5                     // vsubpd    ymm6, ymm6, ymm3
	LONG $0xf658bdc5                     // vaddpd    ymm6, ymm8, ymm6
	LONG $0x024563c4; WORD $0xaac1       // vpblendd    ymm8, ymm7, ymm1, 170
	LONG $0xc0eb3dc5                     // vpor    ymm8, ymm8, ymm0
	LONG $0xd773c5c5; BYTE $0x20         // vpsrlq    ymm7, ymm7, 32
	LONG $0xfaebc5c5                     // vpor    ymm7, ymm7, ymm2
	LONG $0xfb5cc5c5                     // vsubpd    ymm7, ymm7, ymm3
	LONG $0xff58bdc5                     // vaddpd    ymm7, ymm8, ymm7
	QUAD $0x000080f9a411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 128], ymm4
	QUAD $0x0000a0f9ac11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 160], ymm5
	QUAD $0x0000c0f9b411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 192], ymm6
	QUAD $0x0000e0f9bc11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 224], ymm7
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_486
	JMP  LBB0_920

LBB0_487:
	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   LBB0_1045
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_489:
	LONG $0x3379e2c4; WORD $0x7a04             // vpmovzxwd    xmm0, qword [rdx + 2*rdi]
	LONG $0x3379e2c4; WORD $0x7a4c; BYTE $0x08 // vpmovzxwd    xmm1, qword [rdx + 2*rdi + 8]
	LONG $0x3379e2c4; WORD $0x7a54; BYTE $0x10 // vpmovzxwd    xmm2, qword [rdx + 2*rdi + 16]
	LONG $0x3379e2c4; WORD $0x7a5c; BYTE $0x18 // vpmovzxwd    xmm3, qword [rdx + 2*rdi + 24]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	LONG $0x0411fcc5; BYTE $0xf9               // vmovups    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20f9             // vmovups    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40f9             // vmovups    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60f9             // vmovups    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x3379e2c4; WORD $0x7a44; BYTE $0x20 // vpmovzxwd    xmm0, qword [rdx + 2*rdi + 32]
	LONG $0x3379e2c4; WORD $0x7a4c; BYTE $0x28 // vpmovzxwd    xmm1, qword [rdx + 2*rdi + 40]
	LONG $0x3379e2c4; WORD $0x7a54; BYTE $0x30 // vpmovzxwd    xmm2, qword [rdx + 2*rdi + 48]
	LONG $0x3379e2c4; WORD $0x7a5c; BYTE $0x38 // vpmovzxwd    xmm3, qword [rdx + 2*rdi + 56]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	QUAD $0x000080f98411fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f99411fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_489
	JMP  LBB0_1046

LBB0_490:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0xf0 // and    esi, -16
	LONG $0xf0468d48         // lea    rax, [rsi - 16]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x04e8c149         // shr    r8, 4
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1050
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_492:
	LONG $0x2379e2c4; WORD $0x7a04             // vpmovsxwd    xmm0, qword [rdx + 2*rdi]
	LONG $0x2379e2c4; WORD $0x7a4c; BYTE $0x08 // vpmovsxwd    xmm1, qword [rdx + 2*rdi + 8]
	LONG $0x2379e2c4; WORD $0x7a54; BYTE $0x10 // vpmovsxwd    xmm2, qword [rdx + 2*rdi + 16]
	LONG $0x2379e2c4; WORD $0x7a5c; BYTE $0x18 // vpmovsxwd    xmm3, qword [rdx + 2*rdi + 24]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	LONG $0x0411fcc5; BYTE $0xf9               // vmovups    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20f9             // vmovups    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40f9             // vmovups    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60f9             // vmovups    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x2379e2c4; WORD $0x7a44; BYTE $0x20 // vpmovsxwd    xmm0, qword [rdx + 2*rdi + 32]
	LONG $0x2379e2c4; WORD $0x7a4c; BYTE $0x28 // vpmovsxwd    xmm1, qword [rdx + 2*rdi + 40]
	LONG $0x2379e2c4; WORD $0x7a54; BYTE $0x30 // vpmovsxwd    xmm2, qword [rdx + 2*rdi + 48]
	LONG $0x2379e2c4; WORD $0x7a5c; BYTE $0x38 // vpmovsxwd    xmm3, qword [rdx + 2*rdi + 56]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	QUAD $0x000080f98411fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f99411fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_492
	JMP  LBB0_1051

LBB0_493:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0xf0 // and    esi, -16
	LONG $0xf0468d48         // lea    rax, [rsi - 16]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x04e8c149         // shr    r8, 4
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1055
	WORD $0x894d; BYTE $0xc2 // mov    r10, r8
	LONG $0xfee28349         // and    r10, -2
	WORD $0xf749; BYTE $0xda // neg    r10
	WORD $0xff31             // xor    edi, edi

LBB0_495:
	LONG $0x046ffac5; BYTE $0xfa         // vmovdqu    xmm0, oword [rdx + 8*rdi]
	LONG $0x4c6ffac5; WORD $0x10fa       // vmovdqu    xmm1, oword [rdx + 8*rdi + 16]
	LONG $0x16f9e3c4; WORD $0x01c0       // vpextrq    rax, xmm0, 1
	LONG $0x2aa3e1c4; BYTE $0xd0         // vcvtsi2sd    xmm2, xmm11, rax
	LONG $0x5c6ffac5; WORD $0x20fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 32]
	LONG $0x7ef9e1c4; BYTE $0xc0         // vmovq    rax, xmm0
	LONG $0x2aa3e1c4; BYTE $0xc0         // vcvtsi2sd    xmm0, xmm11, rax
	LONG $0x16f9e3c4; WORD $0x01c8       // vpextrq    rax, xmm1, 1
	LONG $0x2aa3e1c4; BYTE $0xe0         // vcvtsi2sd    xmm4, xmm11, rax
	LONG $0x6c6ffac5; WORD $0x30fa       // vmovdqu    xmm5, oword [rdx + 8*rdi + 48]
	LONG $0x7ef9e1c4; BYTE $0xc8         // vmovq    rax, xmm1
	LONG $0x2aa3e1c4; BYTE $0xc8         // vcvtsi2sd    xmm1, xmm11, rax
	LONG $0x16f9e3c4; WORD $0x01e8       // vpextrq    rax, xmm5, 1
	LONG $0x2aa3e1c4; BYTE $0xf0         // vcvtsi2sd    xmm6, xmm11, rax
	LONG $0xc21479c5                     // vunpcklpd    xmm8, xmm0, xmm2
	LONG $0x7ef9e1c4; BYTE $0xe8         // vmovq    rax, xmm5
	LONG $0x2aa3e1c4; BYTE $0xd0         // vcvtsi2sd    xmm2, xmm11, rax
	LONG $0x16f9e3c4; WORD $0x01d8       // vpextrq    rax, xmm3, 1
	LONG $0x2aa3e1c4; BYTE $0xe8         // vcvtsi2sd    xmm5, xmm11, rax
	LONG $0xd41471c5                     // vunpcklpd    xmm10, xmm1, xmm4
	LONG $0x7ef9e1c4; BYTE $0xd8         // vmovq    rax, xmm3
	LONG $0x2aa3e1c4; BYTE $0xd8         // vcvtsi2sd    xmm3, xmm11, rax
	LONG $0xce1469c5                     // vunpcklpd    xmm9, xmm2, xmm6
	LONG $0x646ffac5; WORD $0x50fa       // vmovdqu    xmm4, oword [rdx + 8*rdi + 80]
	LONG $0x16f9e3c4; WORD $0x01e0       // vpextrq    rax, xmm4, 1
	LONG $0xdd14e1c5                     // vunpcklpd    xmm3, xmm3, xmm5
	LONG $0x2aa3e1c4; BYTE $0xe8         // vcvtsi2sd    xmm5, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xe0         // vmovq    rax, xmm4
	LONG $0x2aa3e1c4; BYTE $0xe0         // vcvtsi2sd    xmm4, xmm11, rax
	LONG $0xe514d9c5                     // vunpcklpd    xmm4, xmm4, xmm5
	LONG $0x6c6ffac5; WORD $0x40fa       // vmovdqu    xmm5, oword [rdx + 8*rdi + 64]
	LONG $0x16f9e3c4; WORD $0x01e8       // vpextrq    rax, xmm5, 1
	LONG $0x2aa3e1c4; BYTE $0xf0         // vcvtsi2sd    xmm6, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xe8         // vmovq    rax, xmm5
	LONG $0x2aa3e1c4; BYTE $0xe8         // vcvtsi2sd    xmm5, xmm11, rax
	LONG $0x7c6ffac5; WORD $0x70fa       // vmovdqu    xmm7, oword [rdx + 8*rdi + 112]
	LONG $0x16f9e3c4; WORD $0x01f8       // vpextrq    rax, xmm7, 1
	LONG $0x2aa3e1c4; BYTE $0xc0         // vcvtsi2sd    xmm0, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xf8         // vmovq    rax, xmm7
	LONG $0x2aa3e1c4; BYTE $0xf8         // vcvtsi2sd    xmm7, xmm11, rax
	LONG $0x546ffac5; WORD $0x60fa       // vmovdqu    xmm2, oword [rdx + 8*rdi + 96]
	LONG $0x16f9e3c4; WORD $0x01d0       // vpextrq    rax, xmm2, 1
	LONG $0x2aa3e1c4; BYTE $0xc8         // vcvtsi2sd    xmm1, xmm11, rax
	LONG $0xee14d1c5                     // vunpcklpd    xmm5, xmm5, xmm6
	LONG $0x7ef9e1c4; BYTE $0xd0         // vmovq    rax, xmm2
	LONG $0x2aa3e1c4; BYTE $0xd0         // vcvtsi2sd    xmm2, xmm11, rax
	LONG $0xc014c1c5                     // vunpcklpd    xmm0, xmm7, xmm0
	LONG $0xc914e9c5                     // vunpcklpd    xmm1, xmm2, xmm1
	LONG $0x541179c5; WORD $0x10f9       // vmovupd    oword [rcx + 8*rdi + 16], xmm10
	LONG $0x041179c5; BYTE $0xf9         // vmovupd    oword [rcx + 8*rdi], xmm8
	LONG $0x5c11f9c5; WORD $0x20f9       // vmovupd    oword [rcx + 8*rdi + 32], xmm3
	LONG $0x4c1179c5; WORD $0x30f9       // vmovupd    oword [rcx + 8*rdi + 48], xmm9
	LONG $0x6c11f9c5; WORD $0x40f9       // vmovupd    oword [rcx + 8*rdi + 64], xmm5
	LONG $0x6411f9c5; WORD $0x50f9       // vmovupd    oword [rcx + 8*rdi + 80], xmm4
	LONG $0x4c11f9c5; WORD $0x60f9       // vmovupd    oword [rcx + 8*rdi + 96], xmm1
	LONG $0x4411f9c5; WORD $0x70f9       // vmovupd    oword [rcx + 8*rdi + 112], xmm0
	QUAD $0x000080fa846ffac5; BYTE $0x00 // vmovdqu    xmm0, oword [rdx + 8*rdi + 128]
	QUAD $0x000090fa8c6ffac5; BYTE $0x00 // vmovdqu    xmm1, oword [rdx + 8*rdi + 144]
	LONG $0x16f9e3c4; WORD $0x01c0       // vpextrq    rax, xmm0, 1
	LONG $0x2aa3e1c4; BYTE $0xd0         // vcvtsi2sd    xmm2, xmm11, rax
	QUAD $0x0000a0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 160]
	LONG $0x7ef9e1c4; BYTE $0xc0         // vmovq    rax, xmm0
	LONG $0x2aa3e1c4; BYTE $0xc0         // vcvtsi2sd    xmm0, xmm11, rax
	LONG $0x16f9e3c4; WORD $0x01c8       // vpextrq    rax, xmm1, 1
	LONG $0x2aa3e1c4; BYTE $0xe0         // vcvtsi2sd    xmm4, xmm11, rax
	QUAD $0x0000b0faac6ffac5; BYTE $0x00 // vmovdqu    xmm5, oword [rdx + 8*rdi + 176]
	LONG $0x7ef9e1c4; BYTE $0xc8         // vmovq    rax, xmm1
	LONG $0x2aa3e1c4; BYTE $0xc8         // vcvtsi2sd    xmm1, xmm11, rax
	LONG $0x16f9e3c4; WORD $0x01e8       // vpextrq    rax, xmm5, 1
	LONG $0x2aa3e1c4; BYTE $0xf0         // vcvtsi2sd    xmm6, xmm11, rax
	LONG $0xc21479c5                     // vunpcklpd    xmm8, xmm0, xmm2
	LONG $0x7ef9e1c4; BYTE $0xe8         // vmovq    rax, xmm5
	LONG $0x2aa3e1c4; BYTE $0xd0         // vcvtsi2sd    xmm2, xmm11, rax
	LONG $0x16f9e3c4; WORD $0x01d8       // vpextrq    rax, xmm3, 1
	LONG $0x2aa3e1c4; BYTE $0xe8         // vcvtsi2sd    xmm5, xmm11, rax
	LONG $0xd41471c5                     // vunpcklpd    xmm10, xmm1, xmm4
	LONG $0x7ef9e1c4; BYTE $0xd8         // vmovq    rax, xmm3
	LONG $0x2aa3e1c4; BYTE $0xd8         // vcvtsi2sd    xmm3, xmm11, rax
	LONG $0xce1469c5                     // vunpcklpd    xmm9, xmm2, xmm6
	QUAD $0x0000d0faa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 8*rdi + 208]
	LONG $0x16f9e3c4; WORD $0x01e0       // vpextrq    rax, xmm4, 1
	LONG $0xdd14e1c5                     // vunpcklpd    xmm3, xmm3, xmm5
	LONG $0x2aa3e1c4; BYTE $0xe8         // vcvtsi2sd    xmm5, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xe0         // vmovq    rax, xmm4
	LONG $0x2aa3e1c4; BYTE $0xe0         // vcvtsi2sd    xmm4, xmm11, rax
	LONG $0xe514d9c5                     // vunpcklpd    xmm4, xmm4, xmm5
	QUAD $0x0000c0faac6ffac5; BYTE $0x00 // vmovdqu    xmm5, oword [rdx + 8*rdi + 192]
	LONG $0x16f9e3c4; WORD $0x01e8       // vpextrq    rax, xmm5, 1
	LONG $0x2aa3e1c4; BYTE $0xf0         // vcvtsi2sd    xmm6, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xe8         // vmovq    rax, xmm5
	LONG $0x2aa3e1c4; BYTE $0xe8         // vcvtsi2sd    xmm5, xmm11, rax
	QUAD $0x0000f0fabc6ffac5; BYTE $0x00 // vmovdqu    xmm7, oword [rdx + 8*rdi + 240]
	LONG $0x16f9e3c4; WORD $0x01f8       // vpextrq    rax, xmm7, 1
	LONG $0x2aa3e1c4; BYTE $0xc0         // vcvtsi2sd    xmm0, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xf8         // vmovq    rax, xmm7
	LONG $0x2aa3e1c4; BYTE $0xf8         // vcvtsi2sd    xmm7, xmm11, rax
	QUAD $0x0000e0fa946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 8*rdi + 224]
	LONG $0x16f9e3c4; WORD $0x01d0       // vpextrq    rax, xmm2, 1
	LONG $0x2aa3e1c4; BYTE $0xc8         // vcvtsi2sd    xmm1, xmm11, rax
	LONG $0xee14d1c5                     // vunpcklpd    xmm5, xmm5, xmm6
	LONG $0x7ef9e1c4; BYTE $0xd0         // vmovq    rax, xmm2
	LONG $0x2aa3e1c4; BYTE $0xd0         // vcvtsi2sd    xmm2, xmm11, rax
	LONG $0xc014c1c5                     // vunpcklpd    xmm0, xmm7, xmm0
	LONG $0xc914e9c5                     // vunpcklpd    xmm1, xmm2, xmm1
	QUAD $0x000090f9941179c5; BYTE $0x00 // vmovupd    oword [rcx + 8*rdi + 144], xmm10
	QUAD $0x000080f9841179c5; BYTE $0x00 // vmovupd    oword [rcx + 8*rdi + 128], xmm8
	QUAD $0x0000a0f99c11f9c5; BYTE $0x00 // vmovupd    oword [rcx + 8*rdi + 160], xmm3
	QUAD $0x0000b0f98c1179c5; BYTE $0x00 // vmovupd    oword [rcx + 8*rdi + 176], xmm9
	QUAD $0x0000c0f9ac11f9c5; BYTE $0x00 // vmovupd    oword [rcx + 8*rdi + 192], xmm5
	QUAD $0x0000d0f9a411f9c5; BYTE $0x00 // vmovupd    oword [rcx + 8*rdi + 208], xmm4
	QUAD $0x0000e0f98c11f9c5; BYTE $0x00 // vmovupd    oword [rcx + 8*rdi + 224], xmm1
	QUAD $0x0000f0f98411f9c5; BYTE $0x00 // vmovupd    oword [rcx + 8*rdi + 240], xmm0
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c28349                     // add    r10, 2
	JNE  LBB0_495
	JMP  LBB0_1056

LBB0_496:
	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   LBB0_1060
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_498:
	LONG $0x045afcc5; BYTE $0xba         // vcvtps2pd    ymm0, oword [rdx + 4*rdi]
	LONG $0x4c5afcc5; WORD $0x10ba       // vcvtps2pd    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x545afcc5; WORD $0x20ba       // vcvtps2pd    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x5c5afcc5; WORD $0x30ba       // vcvtps2pd    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x0411fcc5; BYTE $0xf9         // vmovups    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20f9       // vmovups    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40f9       // vmovups    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60f9       // vmovups    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x445afcc5; WORD $0x40ba       // vcvtps2pd    ymm0, oword [rdx + 4*rdi + 64]
	LONG $0x4c5afcc5; WORD $0x50ba       // vcvtps2pd    ymm1, oword [rdx + 4*rdi + 80]
	LONG $0x545afcc5; WORD $0x60ba       // vcvtps2pd    ymm2, oword [rdx + 4*rdi + 96]
	LONG $0x5c5afcc5; WORD $0x70ba       // vcvtps2pd    ymm3, oword [rdx + 4*rdi + 112]
	QUAD $0x000080f98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_498
	JMP  LBB0_1061

LBB0_502:
	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   LBB0_925
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_504:
	LONG $0x04e6fec5; BYTE $0xba         // vcvtdq2pd    ymm0, oword [rdx + 4*rdi]
	LONG $0x4ce6fec5; WORD $0x10ba       // vcvtdq2pd    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x54e6fec5; WORD $0x20ba       // vcvtdq2pd    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x5ce6fec5; WORD $0x30ba       // vcvtdq2pd    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x0411fcc5; BYTE $0xf9         // vmovups    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20f9       // vmovups    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40f9       // vmovups    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60f9       // vmovups    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x44e6fec5; WORD $0x40ba       // vcvtdq2pd    ymm0, oword [rdx + 4*rdi + 64]
	LONG $0x4ce6fec5; WORD $0x50ba       // vcvtdq2pd    ymm1, oword [rdx + 4*rdi + 80]
	LONG $0x54e6fec5; WORD $0x60ba       // vcvtdq2pd    ymm2, oword [rdx + 4*rdi + 96]
	LONG $0x5ce6fec5; WORD $0x70ba       // vcvtdq2pd    ymm3, oword [rdx + 4*rdi + 112]
	QUAD $0x000080f98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_504
	JMP  LBB0_926

LBB0_535:
	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   LBB0_930
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_537:
	LONG $0x357de2c4; WORD $0xba04             // vpmovzxdq    ymm0, oword [rdx + 4*rdi]
	LONG $0x357de2c4; WORD $0xba4c; BYTE $0x10 // vpmovzxdq    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x357de2c4; WORD $0xba54; BYTE $0x20 // vpmovzxdq    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x357de2c4; WORD $0xba5c; BYTE $0x30 // vpmovzxdq    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x357de2c4; WORD $0xba44; BYTE $0x40 // vpmovzxdq    ymm0, oword [rdx + 4*rdi + 64]
	LONG $0x357de2c4; WORD $0xba4c; BYTE $0x50 // vpmovzxdq    ymm1, oword [rdx + 4*rdi + 80]
	LONG $0x357de2c4; WORD $0xba54; BYTE $0x60 // vpmovzxdq    ymm2, oword [rdx + 4*rdi + 96]
	LONG $0x357de2c4; WORD $0xba5c; BYTE $0x70 // vpmovzxdq    ymm3, oword [rdx + 4*rdi + 112]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_537
	JMP  LBB0_931

LBB0_538:
	WORD $0x8945; BYTE $0xce // mov    r14d, r9d
	LONG $0xfce68341         // and    r14d, -4
	LONG $0xfc468d49         // lea    rax, [r14 - 4]
	WORD $0x8949; BYTE $0xc2 // mov    r10, rax
	LONG $0x02eac149         // shr    r10, 2
	LONG $0x01c28349         // add    r10, 1
	WORD $0x8945; BYTE $0xd0 // mov    r8d, r10d
	LONG $0x03e08341         // and    r8d, 3
	LONG $0x0cf88348         // cmp    rax, 12
	JAE  LBB0_793
	WORD $0xc031             // xor    eax, eax
	JMP  LBB0_795

LBB0_546:
	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   LBB0_935
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_548:
	LONG $0x347de2c4; WORD $0x7a04             // vpmovzxwq    ymm0, qword [rdx + 2*rdi]
	LONG $0x347de2c4; WORD $0x7a4c; BYTE $0x08 // vpmovzxwq    ymm1, qword [rdx + 2*rdi + 8]
	LONG $0x347de2c4; WORD $0x7a54; BYTE $0x10 // vpmovzxwq    ymm2, qword [rdx + 2*rdi + 16]
	LONG $0x347de2c4; WORD $0x7a5c; BYTE $0x18 // vpmovzxwq    ymm3, qword [rdx + 2*rdi + 24]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x347de2c4; WORD $0x7a44; BYTE $0x20 // vpmovzxwq    ymm0, qword [rdx + 2*rdi + 32]
	LONG $0x347de2c4; WORD $0x7a4c; BYTE $0x28 // vpmovzxwq    ymm1, qword [rdx + 2*rdi + 40]
	LONG $0x347de2c4; WORD $0x7a54; BYTE $0x30 // vpmovzxwq    ymm2, qword [rdx + 2*rdi + 48]
	LONG $0x347de2c4; WORD $0x7a5c; BYTE $0x38 // vpmovzxwq    ymm3, qword [rdx + 2*rdi + 56]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_548
	JMP  LBB0_936

LBB0_549:
	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   LBB0_940
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_551:
	LONG $0x247de2c4; WORD $0x7a04             // vpmovsxwq    ymm0, qword [rdx + 2*rdi]
	LONG $0x247de2c4; WORD $0x7a4c; BYTE $0x08 // vpmovsxwq    ymm1, qword [rdx + 2*rdi + 8]
	LONG $0x247de2c4; WORD $0x7a54; BYTE $0x10 // vpmovsxwq    ymm2, qword [rdx + 2*rdi + 16]
	LONG $0x247de2c4; WORD $0x7a5c; BYTE $0x18 // vpmovsxwq    ymm3, qword [rdx + 2*rdi + 24]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x247de2c4; WORD $0x7a44; BYTE $0x20 // vpmovsxwq    ymm0, qword [rdx + 2*rdi + 32]
	LONG $0x247de2c4; WORD $0x7a4c; BYTE $0x28 // vpmovsxwq    ymm1, qword [rdx + 2*rdi + 40]
	LONG $0x247de2c4; WORD $0x7a54; BYTE $0x30 // vpmovsxwq    ymm2, qword [rdx + 2*rdi + 48]
	LONG $0x247de2c4; WORD $0x7a5c; BYTE $0x38 // vpmovsxwq    ymm3, qword [rdx + 2*rdi + 56]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_551
	JMP  LBB0_941

LBB0_555:
	WORD $0x8945; BYTE $0xce // mov    r14d, r9d
	LONG $0xfce68341         // and    r14d, -4
	LONG $0xfc468d49         // lea    rax, [r14 - 4]
	WORD $0x8949; BYTE $0xc2 // mov    r10, rax
	LONG $0x02eac149         // shr    r10, 2
	LONG $0x01c28349         // add    r10, 1
	WORD $0x8945; BYTE $0xd0 // mov    r8d, r10d
	LONG $0x03e08341         // and    r8d, 3
	LONG $0x0cf88348         // cmp    rax, 12
	JAE  LBB0_810
	WORD $0xc031             // xor    eax, eax
	JMP  LBB0_812

LBB0_560:
	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   LBB0_945
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_562:
	LONG $0x257de2c4; WORD $0xba04             // vpmovsxdq    ymm0, oword [rdx + 4*rdi]
	LONG $0x257de2c4; WORD $0xba4c; BYTE $0x10 // vpmovsxdq    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x257de2c4; WORD $0xba54; BYTE $0x20 // vpmovsxdq    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x257de2c4; WORD $0xba5c; BYTE $0x30 // vpmovsxdq    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x257de2c4; WORD $0xba44; BYTE $0x40 // vpmovsxdq    ymm0, oword [rdx + 4*rdi + 64]
	LONG $0x257de2c4; WORD $0xba4c; BYTE $0x50 // vpmovsxdq    ymm1, oword [rdx + 4*rdi + 80]
	LONG $0x257de2c4; WORD $0xba54; BYTE $0x60 // vpmovsxdq    ymm2, oword [rdx + 4*rdi + 96]
	LONG $0x257de2c4; WORD $0xba5c; BYTE $0x70 // vpmovsxdq    ymm3, oword [rdx + 4*rdi + 112]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_562
	JMP  LBB0_946

LBB0_563:
	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   LBB0_1065
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	QUAD $0x00000080856ffdc5 // vmovdqa    ymm0, yword 128[rbp] /* [rip + .LCPI0_11] */

LBB0_565:
	LONG $0x0c6ffec5; BYTE $0xba         // vmovdqu    ymm1, yword [rdx + 4*rdi]
	LONG $0x546ffec5; WORD $0x20ba       // vmovdqu    ymm2, yword [rdx + 4*rdi + 32]
	LONG $0x5c6ffec5; WORD $0x40ba       // vmovdqu    ymm3, yword [rdx + 4*rdi + 64]
	LONG $0x646ffec5; WORD $0x60ba       // vmovdqu    ymm4, yword [rdx + 4*rdi + 96]
	LONG $0x0075e2c4; BYTE $0xc8         // vpshufb    ymm1, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xe8c9       // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd0         // vpshufb    ymm2, ymm2, ymm0
	LONG $0x00fde3c4; WORD $0xe8d2       // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xd8         // vpshufb    ymm3, ymm3, ymm0
	LONG $0x00fde3c4; WORD $0xe8db       // vpermq    ymm3, ymm3, 232
	LONG $0x005de2c4; BYTE $0xe0         // vpshufb    ymm4, ymm4, ymm0
	LONG $0x00fde3c4; WORD $0xe8e4       // vpermq    ymm4, ymm4, 232
	LONG $0x0c7ffac5; BYTE $0x79         // vmovdqu    oword [rcx + 2*rdi], xmm1
	LONG $0x547ffac5; WORD $0x1079       // vmovdqu    oword [rcx + 2*rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2079       // vmovdqu    oword [rcx + 2*rdi + 32], xmm3
	LONG $0x647ffac5; WORD $0x3079       // vmovdqu    oword [rcx + 2*rdi + 48], xmm4
	QUAD $0x000080ba8c6ffec5; BYTE $0x00 // vmovdqu    ymm1, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0ba946ffec5; BYTE $0x00 // vmovdqu    ymm2, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0ba9c6ffec5; BYTE $0x00 // vmovdqu    ymm3, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0baa46ffec5; BYTE $0x00 // vmovdqu    ymm4, yword [rdx + 4*rdi + 224]
	LONG $0x0075e2c4; BYTE $0xc8         // vpshufb    ymm1, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xe8c9       // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd0         // vpshufb    ymm2, ymm2, ymm0
	LONG $0x00fde3c4; WORD $0xe8d2       // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xd8         // vpshufb    ymm3, ymm3, ymm0
	LONG $0x00fde3c4; WORD $0xe8db       // vpermq    ymm3, ymm3, 232
	LONG $0x005de2c4; BYTE $0xe0         // vpshufb    ymm4, ymm4, ymm0
	LONG $0x00fde3c4; WORD $0xe8e4       // vpermq    ymm4, ymm4, 232
	LONG $0x4c7ffac5; WORD $0x4079       // vmovdqu    oword [rcx + 2*rdi + 64], xmm1
	LONG $0x547ffac5; WORD $0x5079       // vmovdqu    oword [rcx + 2*rdi + 80], xmm2
	LONG $0x5c7ffac5; WORD $0x6079       // vmovdqu    oword [rcx + 2*rdi + 96], xmm3
	LONG $0x647ffac5; WORD $0x7079       // vmovdqu    oword [rcx + 2*rdi + 112], xmm4
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_565
	JMP  LBB0_1066

LBB0_566:
	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   LBB0_1070
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	QUAD $0x00000080856ffdc5 // vmovdqa    ymm0, yword 128[rbp] /* [rip + .LCPI0_11] */

LBB0_568:
	LONG $0x0c6ffec5; BYTE $0xba         // vmovdqu    ymm1, yword [rdx + 4*rdi]
	LONG $0x546ffec5; WORD $0x20ba       // vmovdqu    ymm2, yword [rdx + 4*rdi + 32]
	LONG $0x5c6ffec5; WORD $0x40ba       // vmovdqu    ymm3, yword [rdx + 4*rdi + 64]
	LONG $0x646ffec5; WORD $0x60ba       // vmovdqu    ymm4, yword [rdx + 4*rdi + 96]
	LONG $0x0075e2c4; BYTE $0xc8         // vpshufb    ymm1, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xe8c9       // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd0         // vpshufb    ymm2, ymm2, ymm0
	LONG $0x00fde3c4; WORD $0xe8d2       // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xd8         // vpshufb    ymm3, ymm3, ymm0
	LONG $0x00fde3c4; WORD $0xe8db       // vpermq    ymm3, ymm3, 232
	LONG $0x005de2c4; BYTE $0xe0         // vpshufb    ymm4, ymm4, ymm0
	LONG $0x00fde3c4; WORD $0xe8e4       // vpermq    ymm4, ymm4, 232
	LONG $0x0c7ffac5; BYTE $0x79         // vmovdqu    oword [rcx + 2*rdi], xmm1
	LONG $0x547ffac5; WORD $0x1079       // vmovdqu    oword [rcx + 2*rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2079       // vmovdqu    oword [rcx + 2*rdi + 32], xmm3
	LONG $0x647ffac5; WORD $0x3079       // vmovdqu    oword [rcx + 2*rdi + 48], xmm4
	QUAD $0x000080ba8c6ffec5; BYTE $0x00 // vmovdqu    ymm1, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0ba946ffec5; BYTE $0x00 // vmovdqu    ymm2, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0ba9c6ffec5; BYTE $0x00 // vmovdqu    ymm3, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0baa46ffec5; BYTE $0x00 // vmovdqu    ymm4, yword [rdx + 4*rdi + 224]
	LONG $0x0075e2c4; BYTE $0xc8         // vpshufb    ymm1, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xe8c9       // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd0         // vpshufb    ymm2, ymm2, ymm0
	LONG $0x00fde3c4; WORD $0xe8d2       // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xd8         // vpshufb    ymm3, ymm3, ymm0
	LONG $0x00fde3c4; WORD $0xe8db       // vpermq    ymm3, ymm3, 232
	LONG $0x005de2c4; BYTE $0xe0         // vpshufb    ymm4, ymm4, ymm0
	LONG $0x00fde3c4; WORD $0xe8e4       // vpermq    ymm4, ymm4, 232
	LONG $0x4c7ffac5; WORD $0x4079       // vmovdqu    oword [rcx + 2*rdi + 64], xmm1
	LONG $0x547ffac5; WORD $0x5079       // vmovdqu    oword [rcx + 2*rdi + 80], xmm2
	LONG $0x5c7ffac5; WORD $0x6079       // vmovdqu    oword [rcx + 2*rdi + 96], xmm3
	LONG $0x647ffac5; WORD $0x7079       // vmovdqu    oword [rcx + 2*rdi + 112], xmm4
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_568
	JMP  LBB0_1071

LBB0_569:
	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   LBB0_1075
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_571:
	LONG $0x04e6fdc5; BYTE $0xfa         // vcvttpd2dq    xmm0, yword [rdx + 8*rdi]
	LONG $0x4ce6fdc5; WORD $0x20fa       // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0x54e6fdc5; WORD $0x40fa       // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 64]
	LONG $0x5ce6fdc5; WORD $0x60fa       // vcvttpd2dq    xmm3, yword [rdx + 8*rdi + 96]
	LONG $0x186de3c4; WORD $0x01d3       // vinsertf128    ymm2, ymm2, xmm3, 1
	LONG $0x2b6de2c4; BYTE $0xd0         // vpackusdw    ymm2, ymm2, ymm0
	LONG $0x187de3c4; WORD $0x01c1       // vinsertf128    ymm0, ymm0, xmm1, 1
	LONG $0x2b7de2c4; BYTE $0xc0         // vpackusdw    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5                     // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0       // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x79         // vmovdqu    yword [rcx + 2*rdi], ymm0
	QUAD $0x000080fa84e6fdc5; BYTE $0x00 // vcvttpd2dq    xmm0, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8ce6fdc5; BYTE $0x00 // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa94e6fdc5; BYTE $0x00 // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9ce6fdc5; BYTE $0x00 // vcvttpd2dq    xmm3, yword [rdx + 8*rdi + 224]
	LONG $0x186de3c4; WORD $0x01d3       // vinsertf128    ymm2, ymm2, xmm3, 1
	LONG $0x2b6de2c4; BYTE $0xd0         // vpackusdw    ymm2, ymm2, ymm0
	LONG $0x187de3c4; WORD $0x01c1       // vinsertf128    ymm0, ymm0, xmm1, 1
	LONG $0x2b7de2c4; BYTE $0xc0         // vpackusdw    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5                     // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0       // vpermq    ymm0, ymm0, 216
	LONG $0x447ffec5; WORD $0x2079       // vmovdqu    yword [rcx + 2*rdi + 32], ymm0
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_571
	JMP  LBB0_1076

LBB0_572:
	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   LBB0_1080
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_574:
	LONG $0x04e6fdc5; BYTE $0xfa         // vcvttpd2dq    xmm0, yword [rdx + 8*rdi]
	LONG $0x4ce6fdc5; WORD $0x20fa       // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0x54e6fdc5; WORD $0x40fa       // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 64]
	LONG $0x5ce6fdc5; WORD $0x60fa       // vcvttpd2dq    xmm3, yword [rdx + 8*rdi + 96]
	LONG $0x186de3c4; WORD $0x01d3       // vinsertf128    ymm2, ymm2, xmm3, 1
	LONG $0xd06bedc5                     // vpackssdw    ymm2, ymm2, ymm0
	LONG $0x187de3c4; WORD $0x01c1       // vinsertf128    ymm0, ymm0, xmm1, 1
	LONG $0xc06bfdc5                     // vpackssdw    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5                     // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0       // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x79         // vmovdqu    yword [rcx + 2*rdi], ymm0
	QUAD $0x000080fa84e6fdc5; BYTE $0x00 // vcvttpd2dq    xmm0, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8ce6fdc5; BYTE $0x00 // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa94e6fdc5; BYTE $0x00 // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9ce6fdc5; BYTE $0x00 // vcvttpd2dq    xmm3, yword [rdx + 8*rdi + 224]
	LONG $0x186de3c4; WORD $0x01d3       // vinsertf128    ymm2, ymm2, xmm3, 1
	LONG $0xd06bedc5                     // vpackssdw    ymm2, ymm2, ymm0
	LONG $0x187de3c4; WORD $0x01c1       // vinsertf128    ymm0, ymm0, xmm1, 1
	LONG $0xc06bfdc5                     // vpackssdw    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5                     // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0       // vpermq    ymm0, ymm0, 216
	LONG $0x447ffec5; WORD $0x2079       // vmovdqu    yword [rcx + 2*rdi + 32], ymm0
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_574
	JMP  LBB0_1081

LBB0_581:
	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   LBB0_950
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	LONG $0xc0eff9c5         // vpxor    xmm0, xmm0, xmm0

LBB0_583:
	LONG $0x0e7963c4; WORD $0xfa04; BYTE $0x11         // vpblendw    xmm8, xmm0, oword [rdx + 8*rdi], 17
	QUAD $0x1110fa540e79e3c4                           // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 16], 17
	QUAD $0x1120fa5c0e79e3c4                           // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 32], 17
	QUAD $0x1130fa640e79e3c4                           // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 48], 17
	QUAD $0x1140fa6c0e79e3c4                           // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 64], 17
	QUAD $0x1150fa740e79e3c4                           // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 80], 17
	QUAD $0x1160fa7c0e79e3c4                           // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 96], 17
	QUAD $0x1170fa4c0e79e3c4                           // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi + 112], 17
	LONG $0x384de3c4; WORD $0x01c9                     // vinserti128    ymm1, ymm6, xmm1, 1
	LONG $0x3855e3c4; WORD $0x01ef                     // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc9                       // vpackusdw    ymm1, ymm5, ymm1
	LONG $0x2b75e2c4; BYTE $0xc8                       // vpackusdw    ymm1, ymm1, ymm0
	LONG $0x386de3c4; WORD $0x01d4                     // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x383de3c4; WORD $0x01db                     // vinserti128    ymm3, ymm8, xmm3, 1
	LONG $0x2b65e2c4; BYTE $0xd2                       // vpackusdw    ymm2, ymm3, ymm2
	LONG $0x2b6de2c4; BYTE $0xd0                       // vpackusdw    ymm2, ymm2, ymm0
	LONG $0xc96cedc5                                   // vpunpcklqdq    ymm1, ymm2, ymm1
	LONG $0x00fde3c4; WORD $0xd8c9                     // vpermq    ymm1, ymm1, 216
	LONG $0x0c7ffec5; BYTE $0x79                       // vmovdqu    yword [rcx + 2*rdi], ymm1
	QUAD $0x0080fa840e7963c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm8, xmm0, oword [rdx + 8*rdi + 128], 17
	QUAD $0x0090fa940e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 144], 17
	QUAD $0x00a0fa9c0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 160], 17
	QUAD $0x00b0faa40e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 176], 17
	QUAD $0x00c0faac0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 192], 17
	QUAD $0x00d0fab40e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 208], 17
	QUAD $0x00e0fabc0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 224], 17
	QUAD $0x00f0fa8c0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi + 240], 17
	LONG $0x384de3c4; WORD $0x01c9                     // vinserti128    ymm1, ymm6, xmm1, 1
	LONG $0x3855e3c4; WORD $0x01ef                     // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc9                       // vpackusdw    ymm1, ymm5, ymm1
	LONG $0x2b75e2c4; BYTE $0xc8                       // vpackusdw    ymm1, ymm1, ymm0
	LONG $0x386de3c4; WORD $0x01d4                     // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x383de3c4; WORD $0x01db                     // vinserti128    ymm3, ymm8, xmm3, 1
	LONG $0x2b65e2c4; BYTE $0xd2                       // vpackusdw    ymm2, ymm3, ymm2
	LONG $0x2b6de2c4; BYTE $0xd0                       // vpackusdw    ymm2, ymm2, ymm0
	LONG $0xc96cedc5                                   // vpunpcklqdq    ymm1, ymm2, ymm1
	LONG $0x00fde3c4; WORD $0xd8c9                     // vpermq    ymm1, ymm1, 216
	LONG $0x4c7ffec5; WORD $0x2079                     // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x20c78348                                   // add    rdi, 32
	LONG $0x02c08348                                   // add    rax, 2
	JNE  LBB0_583
	JMP  LBB0_951

LBB0_584:
	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   LBB0_955
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	LONG $0xc0eff9c5         // vpxor    xmm0, xmm0, xmm0

LBB0_586:
	LONG $0x0e7963c4; WORD $0xfa04; BYTE $0x11         // vpblendw    xmm8, xmm0, oword [rdx + 8*rdi], 17
	QUAD $0x1110fa540e79e3c4                           // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 16], 17
	QUAD $0x1120fa5c0e79e3c4                           // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 32], 17
	QUAD $0x1130fa640e79e3c4                           // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 48], 17
	QUAD $0x1140fa6c0e79e3c4                           // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 64], 17
	QUAD $0x1150fa740e79e3c4                           // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 80], 17
	QUAD $0x1160fa7c0e79e3c4                           // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 96], 17
	QUAD $0x1170fa4c0e79e3c4                           // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi + 112], 17
	LONG $0x384de3c4; WORD $0x01c9                     // vinserti128    ymm1, ymm6, xmm1, 1
	LONG $0x3855e3c4; WORD $0x01ef                     // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc9                       // vpackusdw    ymm1, ymm5, ymm1
	LONG $0x2b75e2c4; BYTE $0xc8                       // vpackusdw    ymm1, ymm1, ymm0
	LONG $0x386de3c4; WORD $0x01d4                     // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x383de3c4; WORD $0x01db                     // vinserti128    ymm3, ymm8, xmm3, 1
	LONG $0x2b65e2c4; BYTE $0xd2                       // vpackusdw    ymm2, ymm3, ymm2
	LONG $0x2b6de2c4; BYTE $0xd0                       // vpackusdw    ymm2, ymm2, ymm0
	LONG $0xc96cedc5                                   // vpunpcklqdq    ymm1, ymm2, ymm1
	LONG $0x00fde3c4; WORD $0xd8c9                     // vpermq    ymm1, ymm1, 216
	LONG $0x0c7ffec5; BYTE $0x79                       // vmovdqu    yword [rcx + 2*rdi], ymm1
	QUAD $0x0080fa840e7963c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm8, xmm0, oword [rdx + 8*rdi + 128], 17
	QUAD $0x0090fa940e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 144], 17
	QUAD $0x00a0fa9c0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 160], 17
	QUAD $0x00b0faa40e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 176], 17
	QUAD $0x00c0faac0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 192], 17
	QUAD $0x00d0fab40e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 208], 17
	QUAD $0x00e0fabc0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 224], 17
	QUAD $0x00f0fa8c0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi + 240], 17
	LONG $0x384de3c4; WORD $0x01c9                     // vinserti128    ymm1, ymm6, xmm1, 1
	LONG $0x3855e3c4; WORD $0x01ef                     // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc9                       // vpackusdw    ymm1, ymm5, ymm1
	LONG $0x2b75e2c4; BYTE $0xc8                       // vpackusdw    ymm1, ymm1, ymm0
	LONG $0x386de3c4; WORD $0x01d4                     // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x383de3c4; WORD $0x01db                     // vinserti128    ymm3, ymm8, xmm3, 1
	LONG $0x2b65e2c4; BYTE $0xd2                       // vpackusdw    ymm2, ymm3, ymm2
	LONG $0x2b6de2c4; BYTE $0xd0                       // vpackusdw    ymm2, ymm2, ymm0
	LONG $0xc96cedc5                                   // vpunpcklqdq    ymm1, ymm2, ymm1
	LONG $0x00fde3c4; WORD $0xd8c9                     // vpermq    ymm1, ymm1, 216
	LONG $0x4c7ffec5; WORD $0x2079                     // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x20c78348                                   // add    rdi, 32
	LONG $0x02c08348                                   // add    rax, 2
	JNE  LBB0_586
	JMP  LBB0_956

LBB0_599:
	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   LBB0_960
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	LONG $0xc0eff9c5         // vpxor    xmm0, xmm0, xmm0

LBB0_601:
	LONG $0x0e7963c4; WORD $0xfa04; BYTE $0x11         // vpblendw    xmm8, xmm0, oword [rdx + 8*rdi], 17
	QUAD $0x1110fa540e79e3c4                           // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 16], 17
	QUAD $0x1120fa5c0e79e3c4                           // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 32], 17
	QUAD $0x1130fa640e79e3c4                           // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 48], 17
	QUAD $0x1140fa6c0e79e3c4                           // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 64], 17
	QUAD $0x1150fa740e79e3c4                           // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 80], 17
	QUAD $0x1160fa7c0e79e3c4                           // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 96], 17
	QUAD $0x1170fa4c0e79e3c4                           // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi + 112], 17
	LONG $0x384de3c4; WORD $0x01c9                     // vinserti128    ymm1, ymm6, xmm1, 1
	LONG $0x3855e3c4; WORD $0x01ef                     // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc9                       // vpackusdw    ymm1, ymm5, ymm1
	LONG $0x2b75e2c4; BYTE $0xc8                       // vpackusdw    ymm1, ymm1, ymm0
	LONG $0x386de3c4; WORD $0x01d4                     // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x383de3c4; WORD $0x01db                     // vinserti128    ymm3, ymm8, xmm3, 1
	LONG $0x2b65e2c4; BYTE $0xd2                       // vpackusdw    ymm2, ymm3, ymm2
	LONG $0x2b6de2c4; BYTE $0xd0                       // vpackusdw    ymm2, ymm2, ymm0
	LONG $0xc96cedc5                                   // vpunpcklqdq    ymm1, ymm2, ymm1
	LONG $0x00fde3c4; WORD $0xd8c9                     // vpermq    ymm1, ymm1, 216
	LONG $0x0c7ffec5; BYTE $0x79                       // vmovdqu    yword [rcx + 2*rdi], ymm1
	QUAD $0x0080fa840e7963c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm8, xmm0, oword [rdx + 8*rdi + 128], 17
	QUAD $0x0090fa940e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 144], 17
	QUAD $0x00a0fa9c0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 160], 17
	QUAD $0x00b0faa40e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 176], 17
	QUAD $0x00c0faac0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 192], 17
	QUAD $0x00d0fab40e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 208], 17
	QUAD $0x00e0fabc0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 224], 17
	QUAD $0x00f0fa8c0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi + 240], 17
	LONG $0x384de3c4; WORD $0x01c9                     // vinserti128    ymm1, ymm6, xmm1, 1
	LONG $0x3855e3c4; WORD $0x01ef                     // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc9                       // vpackusdw    ymm1, ymm5, ymm1
	LONG $0x2b75e2c4; BYTE $0xc8                       // vpackusdw    ymm1, ymm1, ymm0
	LONG $0x386de3c4; WORD $0x01d4                     // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x383de3c4; WORD $0x01db                     // vinserti128    ymm3, ymm8, xmm3, 1
	LONG $0x2b65e2c4; BYTE $0xd2                       // vpackusdw    ymm2, ymm3, ymm2
	LONG $0x2b6de2c4; BYTE $0xd0                       // vpackusdw    ymm2, ymm2, ymm0
	LONG $0xc96cedc5                                   // vpunpcklqdq    ymm1, ymm2, ymm1
	LONG $0x00fde3c4; WORD $0xd8c9                     // vpermq    ymm1, ymm1, 216
	LONG $0x4c7ffec5; WORD $0x2079                     // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x20c78348                                   // add    rdi, 32
	LONG $0x02c08348                                   // add    rax, 2
	JNE  LBB0_601
	JMP  LBB0_961

LBB0_602:
	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   LBB0_1085
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	LONG $0xc0eff9c5         // vpxor    xmm0, xmm0, xmm0

LBB0_604:
	LONG $0x0e7963c4; WORD $0xfa04; BYTE $0x11         // vpblendw    xmm8, xmm0, oword [rdx + 8*rdi], 17
	QUAD $0x1110fa540e79e3c4                           // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 16], 17
	QUAD $0x1120fa5c0e79e3c4                           // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 32], 17
	QUAD $0x1130fa640e79e3c4                           // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 48], 17
	QUAD $0x1140fa6c0e79e3c4                           // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 64], 17
	QUAD $0x1150fa740e79e3c4                           // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 80], 17
	QUAD $0x1160fa7c0e79e3c4                           // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 96], 17
	QUAD $0x1170fa4c0e79e3c4                           // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi + 112], 17
	LONG $0x384de3c4; WORD $0x01c9                     // vinserti128    ymm1, ymm6, xmm1, 1
	LONG $0x3855e3c4; WORD $0x01ef                     // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc9                       // vpackusdw    ymm1, ymm5, ymm1
	LONG $0x2b75e2c4; BYTE $0xc8                       // vpackusdw    ymm1, ymm1, ymm0
	LONG $0x386de3c4; WORD $0x01d4                     // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x383de3c4; WORD $0x01db                     // vinserti128    ymm3, ymm8, xmm3, 1
	LONG $0x2b65e2c4; BYTE $0xd2                       // vpackusdw    ymm2, ymm3, ymm2
	LONG $0x2b6de2c4; BYTE $0xd0                       // vpackusdw    ymm2, ymm2, ymm0
	LONG $0xc96cedc5                                   // vpunpcklqdq    ymm1, ymm2, ymm1
	LONG $0x00fde3c4; WORD $0xd8c9                     // vpermq    ymm1, ymm1, 216
	LONG $0x0c7ffec5; BYTE $0x79                       // vmovdqu    yword [rcx + 2*rdi], ymm1
	QUAD $0x0080fa840e7963c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm8, xmm0, oword [rdx + 8*rdi + 128], 17
	QUAD $0x0090fa940e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 144], 17
	QUAD $0x00a0fa9c0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 160], 17
	QUAD $0x00b0faa40e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 176], 17
	QUAD $0x00c0faac0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 192], 17
	QUAD $0x00d0fab40e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 208], 17
	QUAD $0x00e0fabc0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 224], 17
	QUAD $0x00f0fa8c0e79e3c4; WORD $0x0000; BYTE $0x11 // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi + 240], 17
	LONG $0x384de3c4; WORD $0x01c9                     // vinserti128    ymm1, ymm6, xmm1, 1
	LONG $0x3855e3c4; WORD $0x01ef                     // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc9                       // vpackusdw    ymm1, ymm5, ymm1
	LONG $0x2b75e2c4; BYTE $0xc8                       // vpackusdw    ymm1, ymm1, ymm0
	LONG $0x386de3c4; WORD $0x01d4                     // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x383de3c4; WORD $0x01db                     // vinserti128    ymm3, ymm8, xmm3, 1
	LONG $0x2b65e2c4; BYTE $0xd2                       // vpackusdw    ymm2, ymm3, ymm2
	LONG $0x2b6de2c4; BYTE $0xd0                       // vpackusdw    ymm2, ymm2, ymm0
	LONG $0xc96cedc5                                   // vpunpcklqdq    ymm1, ymm2, ymm1
	LONG $0x00fde3c4; WORD $0xd8c9                     // vpermq    ymm1, ymm1, 216
	LONG $0x4c7ffec5; WORD $0x2079                     // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x20c78348                                   // add    rdi, 32
	LONG $0x02c08348                                   // add    rax, 2
	JNE  LBB0_604
	JMP  LBB0_1086

LBB0_605:
	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   LBB0_1090
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_607:
	LONG $0x045bfec5; BYTE $0xba         // vcvttps2dq    ymm0, yword [rdx + 4*rdi]
	LONG $0x397de3c4; WORD $0x01c1       // vextracti128    xmm1, ymm0, 1
	LONG $0x2b79e2c4; BYTE $0xc1         // vpackusdw    xmm0, xmm0, xmm1
	LONG $0x4c5bfec5; WORD $0x20ba       // vcvttps2dq    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0x2b71e2c4; BYTE $0xca         // vpackusdw    xmm1, xmm1, xmm2
	LONG $0x545bfec5; WORD $0x40ba       // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0x2b69e2c4; BYTE $0xd3         // vpackusdw    xmm2, xmm2, xmm3
	LONG $0x5c5bfec5; WORD $0x60ba       // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0x2b61e2c4; BYTE $0xdc         // vpackusdw    xmm3, xmm3, xmm4
	LONG $0x047ffac5; BYTE $0x79         // vmovdqu    oword [rcx + 2*rdi], xmm0
	LONG $0x4c7ffac5; WORD $0x1079       // vmovdqu    oword [rcx + 2*rdi + 16], xmm1
	LONG $0x547ffac5; WORD $0x2079       // vmovdqu    oword [rcx + 2*rdi + 32], xmm2
	LONG $0x5c7ffac5; WORD $0x3079       // vmovdqu    oword [rcx + 2*rdi + 48], xmm3
	QUAD $0x000080ba845bfec5; BYTE $0x00 // vcvttps2dq    ymm0, yword [rdx + 4*rdi + 128]
	LONG $0x397de3c4; WORD $0x01c1       // vextracti128    xmm1, ymm0, 1
	LONG $0x2b79e2c4; BYTE $0xc1         // vpackusdw    xmm0, xmm0, xmm1
	QUAD $0x0000a0ba8c5bfec5; BYTE $0x00 // vcvttps2dq    ymm1, yword [rdx + 4*rdi + 160]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0x2b71e2c4; BYTE $0xca         // vpackusdw    xmm1, xmm1, xmm2
	QUAD $0x0000c0ba945bfec5; BYTE $0x00 // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 192]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0x2b69e2c4; BYTE $0xd3         // vpackusdw    xmm2, xmm2, xmm3
	QUAD $0x0000e0ba9c5bfec5; BYTE $0x00 // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 224]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0x2b61e2c4; BYTE $0xdc         // vpackusdw    xmm3, xmm3, xmm4
	LONG $0x447ffac5; WORD $0x4079       // vmovdqu    oword [rcx + 2*rdi + 64], xmm0
	LONG $0x4c7ffac5; WORD $0x5079       // vmovdqu    oword [rcx + 2*rdi + 80], xmm1
	LONG $0x547ffac5; WORD $0x6079       // vmovdqu    oword [rcx + 2*rdi + 96], xmm2
	LONG $0x5c7ffac5; WORD $0x7079       // vmovdqu    oword [rcx + 2*rdi + 112], xmm3
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_607
	JMP  LBB0_1091

LBB0_608:
	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   LBB0_1095
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_610:
	LONG $0x045bfec5; BYTE $0xba         // vcvttps2dq    ymm0, yword [rdx + 4*rdi]
	LONG $0x397de3c4; WORD $0x01c1       // vextracti128    xmm1, ymm0, 1
	LONG $0xc16bf9c5                     // vpackssdw    xmm0, xmm0, xmm1
	LONG $0x4c5bfec5; WORD $0x20ba       // vcvttps2dq    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0xca6bf1c5                     // vpackssdw    xmm1, xmm1, xmm2
	LONG $0x545bfec5; WORD $0x40ba       // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0xd36be9c5                     // vpackssdw    xmm2, xmm2, xmm3
	LONG $0x5c5bfec5; WORD $0x60ba       // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0xdc6be1c5                     // vpackssdw    xmm3, xmm3, xmm4
	LONG $0x047ffac5; BYTE $0x79         // vmovdqu    oword [rcx + 2*rdi], xmm0
	LONG $0x4c7ffac5; WORD $0x1079       // vmovdqu    oword [rcx + 2*rdi + 16], xmm1
	LONG $0x547ffac5; WORD $0x2079       // vmovdqu    oword [rcx + 2*rdi + 32], xmm2
	LONG $0x5c7ffac5; WORD $0x3079       // vmovdqu    oword [rcx + 2*rdi + 48], xmm3
	QUAD $0x000080ba845bfec5; BYTE $0x00 // vcvttps2dq    ymm0, yword [rdx + 4*rdi + 128]
	LONG $0x397de3c4; WORD $0x01c1       // vextracti128    xmm1, ymm0, 1
	LONG $0xc16bf9c5                     // vpackssdw    xmm0, xmm0, xmm1
	QUAD $0x0000a0ba8c5bfec5; BYTE $0x00 // vcvttps2dq    ymm1, yword [rdx + 4*rdi + 160]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0xca6bf1c5                     // vpackssdw    xmm1, xmm1, xmm2
	QUAD $0x0000c0ba945bfec5; BYTE $0x00 // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 192]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0xd36be9c5                     // vpackssdw    xmm2, xmm2, xmm3
	QUAD $0x0000e0ba9c5bfec5; BYTE $0x00 // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 224]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0xdc6be1c5                     // vpackssdw    xmm3, xmm3, xmm4
	LONG $0x447ffac5; WORD $0x4079       // vmovdqu    oword [rcx + 2*rdi + 64], xmm0
	LONG $0x4c7ffac5; WORD $0x5079       // vmovdqu    oword [rcx + 2*rdi + 80], xmm1
	LONG $0x547ffac5; WORD $0x6079       // vmovdqu    oword [rcx + 2*rdi + 96], xmm2
	LONG $0x5c7ffac5; WORD $0x7079       // vmovdqu    oword [rcx + 2*rdi + 112], xmm3
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_610
	JMP  LBB0_1096

LBB0_617:
	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   LBB0_965
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	QUAD $0x00000080856ffdc5 // vmovdqa    ymm0, yword 128[rbp] /* [rip + .LCPI0_11] */

LBB0_619:
	LONG $0x0c6ffec5; BYTE $0xba         // vmovdqu    ymm1, yword [rdx + 4*rdi]
	LONG $0x546ffec5; WORD $0x20ba       // vmovdqu    ymm2, yword [rdx + 4*rdi + 32]
	LONG $0x5c6ffec5; WORD $0x40ba       // vmovdqu    ymm3, yword [rdx + 4*rdi + 64]
	LONG $0x646ffec5; WORD $0x60ba       // vmovdqu    ymm4, yword [rdx + 4*rdi + 96]
	LONG $0x0075e2c4; BYTE $0xc8         // vpshufb    ymm1, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xe8c9       // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd0         // vpshufb    ymm2, ymm2, ymm0
	LONG $0x00fde3c4; WORD $0xe8d2       // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xd8         // vpshufb    ymm3, ymm3, ymm0
	LONG $0x00fde3c4; WORD $0xe8db       // vpermq    ymm3, ymm3, 232
	LONG $0x005de2c4; BYTE $0xe0         // vpshufb    ymm4, ymm4, ymm0
	LONG $0x00fde3c4; WORD $0xe8e4       // vpermq    ymm4, ymm4, 232
	LONG $0x0c7ffac5; BYTE $0x79         // vmovdqu    oword [rcx + 2*rdi], xmm1
	LONG $0x547ffac5; WORD $0x1079       // vmovdqu    oword [rcx + 2*rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2079       // vmovdqu    oword [rcx + 2*rdi + 32], xmm3
	LONG $0x647ffac5; WORD $0x3079       // vmovdqu    oword [rcx + 2*rdi + 48], xmm4
	QUAD $0x000080ba8c6ffec5; BYTE $0x00 // vmovdqu    ymm1, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0ba946ffec5; BYTE $0x00 // vmovdqu    ymm2, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0ba9c6ffec5; BYTE $0x00 // vmovdqu    ymm3, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0baa46ffec5; BYTE $0x00 // vmovdqu    ymm4, yword [rdx + 4*rdi + 224]
	LONG $0x0075e2c4; BYTE $0xc8         // vpshufb    ymm1, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xe8c9       // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd0         // vpshufb    ymm2, ymm2, ymm0
	LONG $0x00fde3c4; WORD $0xe8d2       // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xd8         // vpshufb    ymm3, ymm3, ymm0
	LONG $0x00fde3c4; WORD $0xe8db       // vpermq    ymm3, ymm3, 232
	LONG $0x005de2c4; BYTE $0xe0         // vpshufb    ymm4, ymm4, ymm0
	LONG $0x00fde3c4; WORD $0xe8e4       // vpermq    ymm4, ymm4, 232
	LONG $0x4c7ffac5; WORD $0x4079       // vmovdqu    oword [rcx + 2*rdi + 64], xmm1
	LONG $0x547ffac5; WORD $0x5079       // vmovdqu    oword [rcx + 2*rdi + 80], xmm2
	LONG $0x5c7ffac5; WORD $0x6079       // vmovdqu    oword [rcx + 2*rdi + 96], xmm3
	LONG $0x647ffac5; WORD $0x7079       // vmovdqu    oword [rcx + 2*rdi + 112], xmm4
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_619
	JMP  LBB0_966

LBB0_620:
	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   LBB0_970
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	QUAD $0x00000080856ffdc5 // vmovdqa    ymm0, yword 128[rbp] /* [rip + .LCPI0_11] */

LBB0_622:
	LONG $0x0c6ffec5; BYTE $0xba         // vmovdqu    ymm1, yword [rdx + 4*rdi]
	LONG $0x546ffec5; WORD $0x20ba       // vmovdqu    ymm2, yword [rdx + 4*rdi + 32]
	LONG $0x5c6ffec5; WORD $0x40ba       // vmovdqu    ymm3, yword [rdx + 4*rdi + 64]
	LONG $0x646ffec5; WORD $0x60ba       // vmovdqu    ymm4, yword [rdx + 4*rdi + 96]
	LONG $0x0075e2c4; BYTE $0xc8         // vpshufb    ymm1, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xe8c9       // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd0         // vpshufb    ymm2, ymm2, ymm0
	LONG $0x00fde3c4; WORD $0xe8d2       // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xd8         // vpshufb    ymm3, ymm3, ymm0
	LONG $0x00fde3c4; WORD $0xe8db       // vpermq    ymm3, ymm3, 232
	LONG $0x005de2c4; BYTE $0xe0         // vpshufb    ymm4, ymm4, ymm0
	LONG $0x00fde3c4; WORD $0xe8e4       // vpermq    ymm4, ymm4, 232
	LONG $0x0c7ffac5; BYTE $0x79         // vmovdqu    oword [rcx + 2*rdi], xmm1
	LONG $0x547ffac5; WORD $0x1079       // vmovdqu    oword [rcx + 2*rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2079       // vmovdqu    oword [rcx + 2*rdi + 32], xmm3
	LONG $0x647ffac5; WORD $0x3079       // vmovdqu    oword [rcx + 2*rdi + 48], xmm4
	QUAD $0x000080ba8c6ffec5; BYTE $0x00 // vmovdqu    ymm1, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0ba946ffec5; BYTE $0x00 // vmovdqu    ymm2, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0ba9c6ffec5; BYTE $0x00 // vmovdqu    ymm3, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0baa46ffec5; BYTE $0x00 // vmovdqu    ymm4, yword [rdx + 4*rdi + 224]
	LONG $0x0075e2c4; BYTE $0xc8         // vpshufb    ymm1, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xe8c9       // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd0         // vpshufb    ymm2, ymm2, ymm0
	LONG $0x00fde3c4; WORD $0xe8d2       // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xd8         // vpshufb    ymm3, ymm3, ymm0
	LONG $0x00fde3c4; WORD $0xe8db       // vpermq    ymm3, ymm3, 232
	LONG $0x005de2c4; BYTE $0xe0         // vpshufb    ymm4, ymm4, ymm0
	LONG $0x00fde3c4; WORD $0xe8e4       // vpermq    ymm4, ymm4, 232
	LONG $0x4c7ffac5; WORD $0x4079       // vmovdqu    oword [rcx + 2*rdi + 64], xmm1
	LONG $0x547ffac5; WORD $0x5079       // vmovdqu    oword [rcx + 2*rdi + 80], xmm2
	LONG $0x5c7ffac5; WORD $0x6079       // vmovdqu    oword [rcx + 2*rdi + 96], xmm3
	LONG $0x647ffac5; WORD $0x7079       // vmovdqu    oword [rcx + 2*rdi + 112], xmm4
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_622
	JMP  LBB0_971

LBB0_623:
	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   LBB0_1100
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_625:
	LONG $0x357de2c4; WORD $0xba04             // vpmovzxdq    ymm0, oword [rdx + 4*rdi]
	LONG $0x357de2c4; WORD $0xba4c; BYTE $0x10 // vpmovzxdq    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x357de2c4; WORD $0xba54; BYTE $0x20 // vpmovzxdq    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x357de2c4; WORD $0xba5c; BYTE $0x30 // vpmovzxdq    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x357de2c4; WORD $0xba44; BYTE $0x40 // vpmovzxdq    ymm0, oword [rdx + 4*rdi + 64]
	LONG $0x357de2c4; WORD $0xba4c; BYTE $0x50 // vpmovzxdq    ymm1, oword [rdx + 4*rdi + 80]
	LONG $0x357de2c4; WORD $0xba54; BYTE $0x60 // vpmovzxdq    ymm2, oword [rdx + 4*rdi + 96]
	LONG $0x357de2c4; WORD $0xba5c; BYTE $0x70 // vpmovzxdq    ymm3, oword [rdx + 4*rdi + 112]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_625
	JMP  LBB0_1101

LBB0_626:
	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   LBB0_1105
	WORD $0x894c; BYTE $0xc0       // mov    rax, r8
	LONG $0xfee08348               // and    rax, -2
	WORD $0xf748; BYTE $0xd8       // neg    rax
	LONG $0x587de2c4; WORD $0x3445 // vpbroadcastd    ymm0, dword 52[rbp] /* [rip + .LCPI0_13] */
	WORD $0xff31                   // xor    edi, edi
	LONG $0x587de2c4; WORD $0x384d // vpbroadcastd    ymm1, dword 56[rbp] /* [rip + .LCPI0_14] */
	LONG $0x187de2c4; WORD $0x3c55 // vbroadcastss    ymm2, dword 60[rbp] /* [rip + .LCPI0_15] */

LBB0_628:
	LONG $0x1c6ffec5; BYTE $0xba         // vmovdqu    ymm3, yword [rdx + 4*rdi]
	LONG $0x646ffec5; WORD $0x20ba       // vmovdqu    ymm4, yword [rdx + 4*rdi + 32]
	LONG $0x6c6ffec5; WORD $0x40ba       // vmovdqu    ymm5, yword [rdx + 4*rdi + 64]
	LONG $0x746ffec5; WORD $0x60ba       // vmovdqu    ymm6, yword [rdx + 4*rdi + 96]
	LONG $0x0e65e3c4; WORD $0xaaf8       // vpblendw    ymm7, ymm3, ymm0, 170
	LONG $0xd372e5c5; BYTE $0x10         // vpsrld    ymm3, ymm3, 16
	LONG $0x0e65e3c4; WORD $0xaad9       // vpblendw    ymm3, ymm3, ymm1, 170
	LONG $0xda5ce4c5                     // vsubps    ymm3, ymm3, ymm2
	LONG $0xdb58c4c5                     // vaddps    ymm3, ymm7, ymm3
	LONG $0x0e5de3c4; WORD $0xaaf8       // vpblendw    ymm7, ymm4, ymm0, 170
	LONG $0xd472ddc5; BYTE $0x10         // vpsrld    ymm4, ymm4, 16
	LONG $0x0e5de3c4; WORD $0xaae1       // vpblendw    ymm4, ymm4, ymm1, 170
	LONG $0xe25cdcc5                     // vsubps    ymm4, ymm4, ymm2
	LONG $0xe458c4c5                     // vaddps    ymm4, ymm7, ymm4
	LONG $0x0e55e3c4; WORD $0xaaf8       // vpblendw    ymm7, ymm5, ymm0, 170
	LONG $0xd572d5c5; BYTE $0x10         // vpsrld    ymm5, ymm5, 16
	LONG $0x0e55e3c4; WORD $0xaae9       // vpblendw    ymm5, ymm5, ymm1, 170
	LONG $0xea5cd4c5                     // vsubps    ymm5, ymm5, ymm2
	LONG $0xed58c4c5                     // vaddps    ymm5, ymm7, ymm5
	LONG $0x0e4de3c4; WORD $0xaaf8       // vpblendw    ymm7, ymm6, ymm0, 170
	LONG $0xd672cdc5; BYTE $0x10         // vpsrld    ymm6, ymm6, 16
	LONG $0x0e4de3c4; WORD $0xaaf1       // vpblendw    ymm6, ymm6, ymm1, 170
	LONG $0xf25cccc5                     // vsubps    ymm6, ymm6, ymm2
	LONG $0xf658c4c5                     // vaddps    ymm6, ymm7, ymm6
	LONG $0x1c11fcc5; BYTE $0xb9         // vmovups    yword [rcx + 4*rdi], ymm3
	LONG $0x6411fcc5; WORD $0x20b9       // vmovups    yword [rcx + 4*rdi + 32], ymm4
	LONG $0x6c11fcc5; WORD $0x40b9       // vmovups    yword [rcx + 4*rdi + 64], ymm5
	LONG $0x7411fcc5; WORD $0x60b9       // vmovups    yword [rcx + 4*rdi + 96], ymm6
	QUAD $0x000080ba9c6ffec5; BYTE $0x00 // vmovdqu    ymm3, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0baa46ffec5; BYTE $0x00 // vmovdqu    ymm4, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0baac6ffec5; BYTE $0x00 // vmovdqu    ymm5, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0bab46ffec5; BYTE $0x00 // vmovdqu    ymm6, yword [rdx + 4*rdi + 224]
	LONG $0x0e65e3c4; WORD $0xaaf8       // vpblendw    ymm7, ymm3, ymm0, 170
	LONG $0xd372e5c5; BYTE $0x10         // vpsrld    ymm3, ymm3, 16
	LONG $0x0e65e3c4; WORD $0xaad9       // vpblendw    ymm3, ymm3, ymm1, 170
	LONG $0xda5ce4c5                     // vsubps    ymm3, ymm3, ymm2
	LONG $0xdb58c4c5                     // vaddps    ymm3, ymm7, ymm3
	LONG $0x0e5de3c4; WORD $0xaaf8       // vpblendw    ymm7, ymm4, ymm0, 170
	LONG $0xd472ddc5; BYTE $0x10         // vpsrld    ymm4, ymm4, 16
	LONG $0x0e5de3c4; WORD $0xaae1       // vpblendw    ymm4, ymm4, ymm1, 170
	LONG $0xe25cdcc5                     // vsubps    ymm4, ymm4, ymm2
	LONG $0xe458c4c5                     // vaddps    ymm4, ymm7, ymm4
	LONG $0x0e55e3c4; WORD $0xaaf8       // vpblendw    ymm7, ymm5, ymm0, 170
	LONG $0xd572d5c5; BYTE $0x10         // vpsrld    ymm5, ymm5, 16
	LONG $0x0e55e3c4; WORD $0xaae9       // vpblendw    ymm5, ymm5, ymm1, 170
	LONG $0xea5cd4c5                     // vsubps    ymm5, ymm5, ymm2
	LONG $0xed58c4c5                     // vaddps    ymm5, ymm7, ymm5
	LONG $0x0e4de3c4; WORD $0xaaf8       // vpblendw    ymm7, ymm6, ymm0, 170
	LONG $0xd672cdc5; BYTE $0x10         // vpsrld    ymm6, ymm6, 16
	LONG $0x0e4de3c4; WORD $0xaaf1       // vpblendw    ymm6, ymm6, ymm1, 170
	LONG $0xf25cccc5                     // vsubps    ymm6, ymm6, ymm2
	LONG $0xf658c4c5                     // vaddps    ymm6, ymm7, ymm6
	QUAD $0x000080b99c11fcc5; BYTE $0x00 // vmovups    yword [rcx + 4*rdi + 128], ymm3
	QUAD $0x0000a0b9a411fcc5; BYTE $0x00 // vmovups    yword [rcx + 4*rdi + 160], ymm4
	QUAD $0x0000c0b9ac11fcc5; BYTE $0x00 // vmovups    yword [rcx + 4*rdi + 192], ymm5
	QUAD $0x0000e0b9b411fcc5; BYTE $0x00 // vmovups    yword [rcx + 4*rdi + 224], ymm6
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_628
	JMP  LBB0_1106

LBB0_629:
	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   LBB0_1110
	WORD $0x894d; BYTE $0xc2 // mov    r10, r8
	LONG $0xfee28349         // and    r10, -2
	WORD $0xf749; BYTE $0xda // neg    r10
	WORD $0xff31             // xor    edi, edi

LBB0_631:
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x08 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 8]
	LONG $0x6ef9e1c4; BYTE $0xc3               // vmovq    xmm0, rbx
	LONG $0x2cfbe1c4; WORD $0xfa1c             // vcvttsd2si    rbx, qword [rdx + 8*rdi]
	LONG $0x6ef9e1c4; BYTE $0xcb               // vmovq    xmm1, rbx
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x18 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 24]
	LONG $0xc06c71c5                           // vpunpcklqdq    xmm8, xmm1, xmm0
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x10 // vcvttsd2si    rax, qword [rdx + 8*rdi + 16]
	LONG $0x6ef9e1c4; BYTE $0xcb               // vmovq    xmm1, rbx
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x38 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 56]
	LONG $0x6ef9e1c4; BYTE $0xd0               // vmovq    xmm2, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x30 // vcvttsd2si    rax, qword [rdx + 8*rdi + 48]
	LONG $0xc96ce9c5                           // vpunpcklqdq    xmm1, xmm2, xmm1
	LONG $0x6ef9e1c4; BYTE $0xd3               // vmovq    xmm2, rbx
	LONG $0x6ef9e1c4; BYTE $0xd8               // vmovq    xmm3, rax
	LONG $0xd26ce1c5                           // vpunpcklqdq    xmm2, xmm3, xmm2
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x28 // vcvttsd2si    rax, qword [rdx + 8*rdi + 40]
	LONG $0x6ef9e1c4; BYTE $0xd8               // vmovq    xmm3, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x20 // vcvttsd2si    rax, qword [rdx + 8*rdi + 32]
	LONG $0x6ef9e1c4; BYTE $0xe0               // vmovq    xmm4, rax
	LONG $0xdb6cd9c5                           // vpunpcklqdq    xmm3, xmm4, xmm3
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x58 // vcvttsd2si    rax, qword [rdx + 8*rdi + 88]
	LONG $0x6ef9e1c4; BYTE $0xe0               // vmovq    xmm4, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x50 // vcvttsd2si    rax, qword [rdx + 8*rdi + 80]
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x48 // vcvttsd2si    rax, qword [rdx + 8*rdi + 72]
	LONG $0xe46cd1c5                           // vpunpcklqdq    xmm4, xmm5, xmm4
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x40 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 64]
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x78 // vcvttsd2si    rax, qword [rdx + 8*rdi + 120]
	LONG $0x6ef9e1c4; BYTE $0xf3               // vmovq    xmm6, rbx
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x70 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 112]
	LONG $0xed6cc9c5                           // vpunpcklqdq    xmm5, xmm6, xmm5
	LONG $0x6ef9e1c4; BYTE $0xf0               // vmovq    xmm6, rax
	LONG $0x6ef9e1c4; BYTE $0xfb               // vmovq    xmm7, rbx
	LONG $0xf66cc1c5                           // vpunpcklqdq    xmm6, xmm7, xmm6
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x68 // vcvttsd2si    rax, qword [rdx + 8*rdi + 104]
	LONG $0x6ef9e1c4; BYTE $0xf8               // vmovq    xmm7, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x60 // vcvttsd2si    rax, qword [rdx + 8*rdi + 96]
	LONG $0x6ef9e1c4; BYTE $0xc0               // vmovq    xmm0, rax
	LONG $0xc76cf9c5                           // vpunpcklqdq    xmm0, xmm0, xmm7
	LONG $0x4c7ffac5; WORD $0x10f9             // vmovdqu    oword [rcx + 8*rdi + 16], xmm1
	LONG $0x047f7ac5; BYTE $0xf9               // vmovdqu    oword [rcx + 8*rdi], xmm8
	LONG $0x5c7ffac5; WORD $0x20f9             // vmovdqu    oword [rcx + 8*rdi + 32], xmm3
	LONG $0x547ffac5; WORD $0x30f9             // vmovdqu    oword [rcx + 8*rdi + 48], xmm2
	LONG $0x6c7ffac5; WORD $0x40f9             // vmovdqu    oword [rcx + 8*rdi + 64], xmm5
	LONG $0x647ffac5; WORD $0x50f9             // vmovdqu    oword [rcx + 8*rdi + 80], xmm4
	LONG $0x447ffac5; WORD $0x60f9             // vmovdqu    oword [rcx + 8*rdi + 96], xmm0
	LONG $0x747ffac5; WORD $0x70f9             // vmovdqu    oword [rcx + 8*rdi + 112], xmm6
	QUAD $0x0088fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 136]
	QUAD $0x0080fa9c2cfbe1c4; WORD $0x0000     // vcvttsd2si    rbx, qword [rdx + 8*rdi + 128]
	LONG $0x6ef9e1c4; BYTE $0xc0               // vmovq    xmm0, rax
	QUAD $0x0098fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 152]
	LONG $0x6ef9e1c4; BYTE $0xcb               // vmovq    xmm1, rbx
	QUAD $0x0090fa9c2cfbe1c4; WORD $0x0000     // vcvttsd2si    rbx, qword [rdx + 8*rdi + 144]
	LONG $0x6ef9e1c4; BYTE $0xd0               // vmovq    xmm2, rax
	LONG $0xc06c71c5                           // vpunpcklqdq    xmm8, xmm1, xmm0
	LONG $0x6ef9e1c4; BYTE $0xcb               // vmovq    xmm1, rbx
	LONG $0xca6cf1c5                           // vpunpcklqdq    xmm1, xmm1, xmm2
	QUAD $0x00b8fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 184]
	LONG $0x6ef9e1c4; BYTE $0xd0               // vmovq    xmm2, rax
	QUAD $0x00b0fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 176]
	LONG $0x6ef9e1c4; BYTE $0xd8               // vmovq    xmm3, rax
	LONG $0xd26ce1c5                           // vpunpcklqdq    xmm2, xmm3, xmm2
	QUAD $0x00a8fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 168]
	LONG $0x6ef9e1c4; BYTE $0xd8               // vmovq    xmm3, rax
	QUAD $0x00a0fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 160]
	LONG $0x6ef9e1c4; BYTE $0xe0               // vmovq    xmm4, rax
	QUAD $0x00d8fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 216]
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	QUAD $0x00d0fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 208]
	LONG $0x6ef9e1c4; BYTE $0xf0               // vmovq    xmm6, rax
	QUAD $0x00c8fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 200]
	LONG $0x6ef9e1c4; BYTE $0xf8               // vmovq    xmm7, rax
	QUAD $0x00c0fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 192]
	LONG $0xdb6cd9c5                           // vpunpcklqdq    xmm3, xmm4, xmm3
	LONG $0xe56cc9c5                           // vpunpcklqdq    xmm4, xmm6, xmm5
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	LONG $0xef6cd1c5                           // vpunpcklqdq    xmm5, xmm5, xmm7
	QUAD $0x00f8fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 248]
	LONG $0x6ef9e1c4; BYTE $0xf0               // vmovq    xmm6, rax
	QUAD $0x00f0fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 240]
	LONG $0x6ef9e1c4; BYTE $0xf8               // vmovq    xmm7, rax
	LONG $0xf66cc1c5                           // vpunpcklqdq    xmm6, xmm7, xmm6
	QUAD $0x00e8fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 232]
	LONG $0x6ef9e1c4; BYTE $0xf8               // vmovq    xmm7, rax
	QUAD $0x00e0fa842cfbe1c4; WORD $0x0000     // vcvttsd2si    rax, qword [rdx + 8*rdi + 224]
	LONG $0x6ef9e1c4; BYTE $0xc0               // vmovq    xmm0, rax
	LONG $0xc76cf9c5                           // vpunpcklqdq    xmm0, xmm0, xmm7
	QUAD $0x000090f98c7ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 144], xmm1
	QUAD $0x000080f9847f7ac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 128], xmm8
	QUAD $0x0000a0f99c7ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 160], xmm3
	QUAD $0x0000b0f9947ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 176], xmm2
	QUAD $0x0000c0f9ac7ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 192], xmm5
	QUAD $0x0000d0f9a47ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 208], xmm4
	QUAD $0x0000e0f9847ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 224], xmm0
	QUAD $0x0000f0f9b47ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 240], xmm6
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c28349                           // add    r10, 2
	JNE  LBB0_631
	JMP  LBB0_1111

LBB0_632:
	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   LBB0_1115
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_634:
	LONG $0x045afdc5; BYTE $0xfa         // vcvtpd2ps    xmm0, yword [rdx + 8*rdi]
	LONG $0x4c5afdc5; WORD $0x20fa       // vcvtpd2ps    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0x545afdc5; WORD $0x40fa       // vcvtpd2ps    xmm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c5afdc5; WORD $0x60fa       // vcvtpd2ps    xmm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411f9c5; BYTE $0xb9         // vmovupd    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f9c5; WORD $0x10b9       // vmovupd    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f9c5; WORD $0x20b9       // vmovupd    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f9c5; WORD $0x30b9       // vmovupd    oword [rcx + 4*rdi + 48], xmm3
	QUAD $0x000080fa845afdc5; BYTE $0x00 // vcvtpd2ps    xmm0, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8c5afdc5; BYTE $0x00 // vcvtpd2ps    xmm1, yword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa945afdc5; BYTE $0x00 // vcvtpd2ps    xmm2, yword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9c5afdc5; BYTE $0x00 // vcvtpd2ps    xmm3, yword [rdx + 8*rdi + 224]
	LONG $0x4411f9c5; WORD $0x40b9       // vmovupd    oword [rcx + 4*rdi + 64], xmm0
	LONG $0x4c11f9c5; WORD $0x50b9       // vmovupd    oword [rcx + 4*rdi + 80], xmm1
	LONG $0x5411f9c5; WORD $0x60b9       // vmovupd    oword [rcx + 4*rdi + 96], xmm2
	LONG $0x5c11f9c5; WORD $0x70b9       // vmovupd    oword [rcx + 4*rdi + 112], xmm3
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_634
	JMP  LBB0_1116

LBB0_644:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0xfc // and    esi, -4
	LONG $0xfc468d48         // lea    rax, [rsi - 4]
	WORD $0x8949; BYTE $0xc2 // mov    r10, rax
	LONG $0x02eac149         // shr    r10, 2
	LONG $0x01c28349         // add    r10, 1
	WORD $0x8945; BYTE $0xd0 // mov    r8d, r10d
	LONG $0x03e08341         // and    r8d, 3
	LONG $0x0cf88348         // cmp    rax, 12
	JAE  LBB0_850
	WORD $0xc031             // xor    eax, eax
	JMP  LBB0_852

LBB0_646:
	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   LBB0_975
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_648:
	LONG $0x347de2c4; WORD $0x7a04             // vpmovzxwq    ymm0, qword [rdx + 2*rdi]
	LONG $0x347de2c4; WORD $0x7a4c; BYTE $0x08 // vpmovzxwq    ymm1, qword [rdx + 2*rdi + 8]
	LONG $0x347de2c4; WORD $0x7a54; BYTE $0x10 // vpmovzxwq    ymm2, qword [rdx + 2*rdi + 16]
	LONG $0x347de2c4; WORD $0x7a5c; BYTE $0x18 // vpmovzxwq    ymm3, qword [rdx + 2*rdi + 24]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x347de2c4; WORD $0x7a44; BYTE $0x20 // vpmovzxwq    ymm0, qword [rdx + 2*rdi + 32]
	LONG $0x347de2c4; WORD $0x7a4c; BYTE $0x28 // vpmovzxwq    ymm1, qword [rdx + 2*rdi + 40]
	LONG $0x347de2c4; WORD $0x7a54; BYTE $0x30 // vpmovzxwq    ymm2, qword [rdx + 2*rdi + 48]
	LONG $0x347de2c4; WORD $0x7a5c; BYTE $0x38 // vpmovzxwq    ymm3, qword [rdx + 2*rdi + 56]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_648
	JMP  LBB0_976

LBB0_649:
	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   LBB0_1120
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_651:
	LONG $0x337de2c4; WORD $0x7a04             // vpmovzxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x337de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovzxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x337de2c4; WORD $0x7a54; BYTE $0x20 // vpmovzxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x337de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovzxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	LONG $0x0411fcc5; BYTE $0xb9               // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9             // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9             // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9             // vmovups    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x337de2c4; WORD $0x7a44; BYTE $0x40 // vpmovzxwd    ymm0, oword [rdx + 2*rdi + 64]
	LONG $0x337de2c4; WORD $0x7a4c; BYTE $0x50 // vpmovzxwd    ymm1, oword [rdx + 2*rdi + 80]
	LONG $0x337de2c4; WORD $0x7a54; BYTE $0x60 // vpmovzxwd    ymm2, oword [rdx + 2*rdi + 96]
	LONG $0x337de2c4; WORD $0x7a5c; BYTE $0x70 // vpmovzxwd    ymm3, oword [rdx + 2*rdi + 112]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	QUAD $0x000080b98411fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c11fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b99411fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c11fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_651
	JMP  LBB0_1121

LBB0_652:
	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   LBB0_1125
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_654:
	LONG $0x247de2c4; WORD $0x7a04             // vpmovsxwq    ymm0, qword [rdx + 2*rdi]
	LONG $0x247de2c4; WORD $0x7a4c; BYTE $0x08 // vpmovsxwq    ymm1, qword [rdx + 2*rdi + 8]
	LONG $0x247de2c4; WORD $0x7a54; BYTE $0x10 // vpmovsxwq    ymm2, qword [rdx + 2*rdi + 16]
	LONG $0x247de2c4; WORD $0x7a5c; BYTE $0x18 // vpmovsxwq    ymm3, qword [rdx + 2*rdi + 24]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x247de2c4; WORD $0x7a44; BYTE $0x20 // vpmovsxwq    ymm0, qword [rdx + 2*rdi + 32]
	LONG $0x247de2c4; WORD $0x7a4c; BYTE $0x28 // vpmovsxwq    ymm1, qword [rdx + 2*rdi + 40]
	LONG $0x247de2c4; WORD $0x7a54; BYTE $0x30 // vpmovsxwq    ymm2, qword [rdx + 2*rdi + 48]
	LONG $0x247de2c4; WORD $0x7a5c; BYTE $0x38 // vpmovsxwq    ymm3, qword [rdx + 2*rdi + 56]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_654
	JMP  LBB0_1126

LBB0_655:
	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   LBB0_1130
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_657:
	LONG $0x237de2c4; WORD $0x7a04             // vpmovsxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovsxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x237de2c4; WORD $0x7a54; BYTE $0x20 // vpmovsxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x237de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovsxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	LONG $0x0411fcc5; BYTE $0xb9               // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9             // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9             // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9             // vmovups    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x237de2c4; WORD $0x7a44; BYTE $0x40 // vpmovsxwd    ymm0, oword [rdx + 2*rdi + 64]
	LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x50 // vpmovsxwd    ymm1, oword [rdx + 2*rdi + 80]
	LONG $0x237de2c4; WORD $0x7a54; BYTE $0x60 // vpmovsxwd    ymm2, oword [rdx + 2*rdi + 96]
	LONG $0x237de2c4; WORD $0x7a5c; BYTE $0x70 // vpmovsxwd    ymm3, oword [rdx + 2*rdi + 112]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	QUAD $0x000080b98411fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c11fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b99411fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c11fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_657
	JMP  LBB0_1131

LBB0_661:
	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   LBB0_1135
	WORD $0x894d; BYTE $0xc2 // mov    r10, r8
	LONG $0xfee28349         // and    r10, -2
	WORD $0xf749; BYTE $0xda // neg    r10
	WORD $0xff31             // xor    edi, edi

LBB0_663:
	LONG $0x046ffac5; BYTE $0xfa         // vmovdqu    xmm0, oword [rdx + 8*rdi]
	LONG $0x16f9e3c4; WORD $0x01c0       // vpextrq    rax, xmm0, 1
	LONG $0x4c6ffac5; WORD $0x10fa       // vmovdqu    xmm1, oword [rdx + 8*rdi + 16]
	LONG $0x2abae1c4; BYTE $0xd0         // vcvtsi2ss    xmm2, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xc0         // vmovq    rax, xmm0
	LONG $0x2abae1c4; BYTE $0xc0         // vcvtsi2ss    xmm0, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xc8         // vmovq    rax, xmm1
	LONG $0x2abae1c4; BYTE $0xd8         // vcvtsi2ss    xmm3, xmm8, rax
	LONG $0x16f9e3c4; WORD $0x01c8       // vpextrq    rax, xmm1, 1
	LONG $0x2abae1c4; BYTE $0xc8         // vcvtsi2ss    xmm1, xmm8, rax
	LONG $0x646ffac5; WORD $0x20fa       // vmovdqu    xmm4, oword [rdx + 8*rdi + 32]
	LONG $0x16f9e3c4; WORD $0x01e0       // vpextrq    rax, xmm4, 1
	LONG $0x6c6ffac5; WORD $0x30fa       // vmovdqu    xmm5, oword [rdx + 8*rdi + 48]
	LONG $0x2abae1c4; BYTE $0xf0         // vcvtsi2ss    xmm6, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xe0         // vmovq    rax, xmm4
	LONG $0x2abae1c4; BYTE $0xe0         // vcvtsi2ss    xmm4, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xe8         // vmovq    rax, xmm5
	LONG $0x2abae1c4; BYTE $0xf8         // vcvtsi2ss    xmm7, xmm8, rax
	LONG $0x2179e3c4; WORD $0x10c2       // vinsertps    xmm0, xmm0, xmm2, 16
	LONG $0x2179e3c4; WORD $0x20c3       // vinsertps    xmm0, xmm0, xmm3, 32
	LONG $0x16f9e3c4; WORD $0x01e8       // vpextrq    rax, xmm5, 1
	LONG $0x2179e3c4; WORD $0x30c1       // vinsertps    xmm0, xmm0, xmm1, 48
	LONG $0x2abae1c4; BYTE $0xc8         // vcvtsi2ss    xmm1, xmm8, rax
	LONG $0x2159e3c4; WORD $0x10d6       // vinsertps    xmm2, xmm4, xmm6, 16
	LONG $0x5c6ffac5; WORD $0x40fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 64]
	LONG $0x16f9e3c4; WORD $0x01d8       // vpextrq    rax, xmm3, 1
	LONG $0x2abae1c4; BYTE $0xe0         // vcvtsi2ss    xmm4, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xd8         // vmovq    rax, xmm3
	LONG $0x2abae1c4; BYTE $0xd8         // vcvtsi2ss    xmm3, xmm8, rax
	LONG $0x6c6ffac5; WORD $0x50fa       // vmovdqu    xmm5, oword [rdx + 8*rdi + 80]
	LONG $0x7ef9e1c4; BYTE $0xe8         // vmovq    rax, xmm5
	LONG $0x2abae1c4; BYTE $0xf0         // vcvtsi2ss    xmm6, xmm8, rax
	LONG $0x2169e3c4; WORD $0x20d7       // vinsertps    xmm2, xmm2, xmm7, 32
	LONG $0x2169e3c4; WORD $0x30c9       // vinsertps    xmm1, xmm2, xmm1, 48
	LONG $0x16f9e3c4; WORD $0x01e8       // vpextrq    rax, xmm5, 1
	LONG $0x2161e3c4; WORD $0x10d4       // vinsertps    xmm2, xmm3, xmm4, 16
	LONG $0x2abae1c4; BYTE $0xd8         // vcvtsi2ss    xmm3, xmm8, rax
	LONG $0x2169e3c4; WORD $0x20d6       // vinsertps    xmm2, xmm2, xmm6, 32
	LONG $0x646ffac5; WORD $0x60fa       // vmovdqu    xmm4, oword [rdx + 8*rdi + 96]
	LONG $0x16f9e3c4; WORD $0x01e0       // vpextrq    rax, xmm4, 1
	LONG $0x2abae1c4; BYTE $0xe8         // vcvtsi2ss    xmm5, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xe0         // vmovq    rax, xmm4
	LONG $0x2abae1c4; BYTE $0xe0         // vcvtsi2ss    xmm4, xmm8, rax
	LONG $0x746ffac5; WORD $0x70fa       // vmovdqu    xmm6, oword [rdx + 8*rdi + 112]
	LONG $0x7ef9e1c4; BYTE $0xf0         // vmovq    rax, xmm6
	LONG $0x2abae1c4; BYTE $0xf8         // vcvtsi2ss    xmm7, xmm8, rax
	LONG $0x2169e3c4; WORD $0x30d3       // vinsertps    xmm2, xmm2, xmm3, 48
	LONG $0x2159e3c4; WORD $0x10dd       // vinsertps    xmm3, xmm4, xmm5, 16
	LONG $0x16f9e3c4; WORD $0x01f0       // vpextrq    rax, xmm6, 1
	LONG $0x2161e3c4; WORD $0x20df       // vinsertps    xmm3, xmm3, xmm7, 32
	LONG $0x2abae1c4; BYTE $0xe0         // vcvtsi2ss    xmm4, xmm8, rax
	LONG $0x2161e3c4; WORD $0x30dc       // vinsertps    xmm3, xmm3, xmm4, 48
	LONG $0x0411f8c5; BYTE $0xb9         // vmovups    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f8c5; WORD $0x10b9       // vmovups    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f8c5; WORD $0x20b9       // vmovups    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f8c5; WORD $0x30b9       // vmovups    oword [rcx + 4*rdi + 48], xmm3
	QUAD $0x000080fa846ffac5; BYTE $0x00 // vmovdqu    xmm0, oword [rdx + 8*rdi + 128]
	LONG $0x16f9e3c4; WORD $0x01c0       // vpextrq    rax, xmm0, 1
	QUAD $0x000090fa8c6ffac5; BYTE $0x00 // vmovdqu    xmm1, oword [rdx + 8*rdi + 144]
	LONG $0x2abae1c4; BYTE $0xd0         // vcvtsi2ss    xmm2, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xc0         // vmovq    rax, xmm0
	LONG $0x2abae1c4; BYTE $0xc0         // vcvtsi2ss    xmm0, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xc8         // vmovq    rax, xmm1
	LONG $0x2abae1c4; BYTE $0xd8         // vcvtsi2ss    xmm3, xmm8, rax
	LONG $0x16f9e3c4; WORD $0x01c8       // vpextrq    rax, xmm1, 1
	LONG $0x2abae1c4; BYTE $0xc8         // vcvtsi2ss    xmm1, xmm8, rax
	QUAD $0x0000a0faa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 8*rdi + 160]
	LONG $0x16f9e3c4; WORD $0x01e0       // vpextrq    rax, xmm4, 1
	LONG $0x2abae1c4; BYTE $0xe8         // vcvtsi2ss    xmm5, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xe0         // vmovq    rax, xmm4
	LONG $0x2abae1c4; BYTE $0xe0         // vcvtsi2ss    xmm4, xmm8, rax
	LONG $0x2179e3c4; WORD $0x10c2       // vinsertps    xmm0, xmm0, xmm2, 16
	QUAD $0x0000b0fa946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 8*rdi + 176]
	LONG $0x16f9c3c4; WORD $0x01d3       // vpextrq    r11, xmm2, 1
	LONG $0x7ef9e1c4; BYTE $0xd0         // vmovq    rax, xmm2
	LONG $0x2abae1c4; BYTE $0xd0         // vcvtsi2ss    xmm2, xmm8, rax
	LONG $0x2179e3c4; WORD $0x20c3       // vinsertps    xmm0, xmm0, xmm3, 32
	LONG $0x2abac1c4; BYTE $0xdb         // vcvtsi2ss    xmm3, xmm8, r11
	LONG $0x2179e3c4; WORD $0x30c1       // vinsertps    xmm0, xmm0, xmm1, 48
	QUAD $0x0000c0fa8c6ffac5; BYTE $0x00 // vmovdqu    xmm1, oword [rdx + 8*rdi + 192]
	LONG $0x16f9e3c4; WORD $0x01c8       // vpextrq    rax, xmm1, 1
	LONG $0x2159e3c4; WORD $0x10e5       // vinsertps    xmm4, xmm4, xmm5, 16
	LONG $0x2abae1c4; BYTE $0xe8         // vcvtsi2ss    xmm5, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xc8         // vmovq    rax, xmm1
	LONG $0x2abae1c4; BYTE $0xc8         // vcvtsi2ss    xmm1, xmm8, rax
	LONG $0x2159e3c4; WORD $0x20d2       // vinsertps    xmm2, xmm4, xmm2, 32
	QUAD $0x0000d0faa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 8*rdi + 208]
	LONG $0x16f9c3c4; WORD $0x01e3       // vpextrq    r11, xmm4, 1
	LONG $0x7ef9e1c4; BYTE $0xe0         // vmovq    rax, xmm4
	LONG $0x2abae1c4; BYTE $0xe0         // vcvtsi2ss    xmm4, xmm8, rax
	LONG $0x2169e3c4; WORD $0x30d3       // vinsertps    xmm2, xmm2, xmm3, 48
	LONG $0x2abac1c4; BYTE $0xdb         // vcvtsi2ss    xmm3, xmm8, r11
	LONG $0x2171e3c4; WORD $0x10cd       // vinsertps    xmm1, xmm1, xmm5, 16
	QUAD $0x0000e0faac6ffac5; BYTE $0x00 // vmovdqu    xmm5, oword [rdx + 8*rdi + 224]
	LONG $0x16f9e3c4; WORD $0x01e8       // vpextrq    rax, xmm5, 1
	LONG $0x2171e3c4; WORD $0x20cc       // vinsertps    xmm1, xmm1, xmm4, 32
	LONG $0x2abae1c4; BYTE $0xe0         // vcvtsi2ss    xmm4, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xe8         // vmovq    rax, xmm5
	LONG $0x2abae1c4; BYTE $0xe8         // vcvtsi2ss    xmm5, xmm8, rax
	LONG $0x2171e3c4; WORD $0x30cb       // vinsertps    xmm1, xmm1, xmm3, 48
	QUAD $0x0000f0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 240]
	LONG $0x16f9c3c4; WORD $0x01db       // vpextrq    r11, xmm3, 1
	LONG $0x7ef9e1c4; BYTE $0xd8         // vmovq    rax, xmm3
	LONG $0x2abae1c4; BYTE $0xd8         // vcvtsi2ss    xmm3, xmm8, rax
	LONG $0x2151e3c4; WORD $0x10e4       // vinsertps    xmm4, xmm5, xmm4, 16
	LONG $0x2abac1c4; BYTE $0xeb         // vcvtsi2ss    xmm5, xmm8, r11
	LONG $0x2159e3c4; WORD $0x20db       // vinsertps    xmm3, xmm4, xmm3, 32
	LONG $0x2161e3c4; WORD $0x30dd       // vinsertps    xmm3, xmm3, xmm5, 48
	LONG $0x4411f8c5; WORD $0x40b9       // vmovups    oword [rcx + 4*rdi + 64], xmm0
	LONG $0x5411f8c5; WORD $0x50b9       // vmovups    oword [rcx + 4*rdi + 80], xmm2
	LONG $0x4c11f8c5; WORD $0x60b9       // vmovups    oword [rcx + 4*rdi + 96], xmm1
	LONG $0x5c11f8c5; WORD $0x70b9       // vmovups    oword [rcx + 4*rdi + 112], xmm3
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c28349                     // add    r10, 2
	JNE  LBB0_663
	JMP  LBB0_1136

LBB0_664:
	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   LBB0_1140
	WORD $0x894d; BYTE $0xc2 // mov    r10, r8
	LONG $0xfee28349         // and    r10, -2
	WORD $0xf749; BYTE $0xda // neg    r10
	WORD $0xff31             // xor    edi, edi

LBB0_666:
	LONG $0x2cfae1c4; WORD $0xba5c; BYTE $0x04 // vcvttss2si    rbx, dword [rdx + 4*rdi + 4]
	LONG $0x6ef9e1c4; BYTE $0xc3               // vmovq    xmm0, rbx
	LONG $0x2cfae1c4; WORD $0xba1c             // vcvttss2si    rbx, dword [rdx + 4*rdi]
	LONG $0x6ef9e1c4; BYTE $0xcb               // vmovq    xmm1, rbx
	LONG $0x2cfae1c4; WORD $0xba5c; BYTE $0x0c // vcvttss2si    rbx, dword [rdx + 4*rdi + 12]
	LONG $0xc06c71c5                           // vpunpcklqdq    xmm8, xmm1, xmm0
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x08 // vcvttss2si    rax, dword [rdx + 4*rdi + 8]
	LONG $0x6ef9e1c4; BYTE $0xcb               // vmovq    xmm1, rbx
	LONG $0x2cfae1c4; WORD $0xba5c; BYTE $0x1c // vcvttss2si    rbx, dword [rdx + 4*rdi + 28]
	LONG $0x6ef9e1c4; BYTE $0xd0               // vmovq    xmm2, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x18 // vcvttss2si    rax, dword [rdx + 4*rdi + 24]
	LONG $0xc96ce9c5                           // vpunpcklqdq    xmm1, xmm2, xmm1
	LONG $0x6ef9e1c4; BYTE $0xd3               // vmovq    xmm2, rbx
	LONG $0x6ef9e1c4; BYTE $0xd8               // vmovq    xmm3, rax
	LONG $0xd26ce1c5                           // vpunpcklqdq    xmm2, xmm3, xmm2
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x14 // vcvttss2si    rax, dword [rdx + 4*rdi + 20]
	LONG $0x6ef9e1c4; BYTE $0xd8               // vmovq    xmm3, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x10 // vcvttss2si    rax, dword [rdx + 4*rdi + 16]
	LONG $0x6ef9e1c4; BYTE $0xe0               // vmovq    xmm4, rax
	LONG $0xdb6cd9c5                           // vpunpcklqdq    xmm3, xmm4, xmm3
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x2c // vcvttss2si    rax, dword [rdx + 4*rdi + 44]
	LONG $0x6ef9e1c4; BYTE $0xe0               // vmovq    xmm4, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x28 // vcvttss2si    rax, dword [rdx + 4*rdi + 40]
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x24 // vcvttss2si    rax, dword [rdx + 4*rdi + 36]
	LONG $0xe46cd1c5                           // vpunpcklqdq    xmm4, xmm5, xmm4
	LONG $0x2cfae1c4; WORD $0xba5c; BYTE $0x20 // vcvttss2si    rbx, dword [rdx + 4*rdi + 32]
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x3c // vcvttss2si    rax, dword [rdx + 4*rdi + 60]
	LONG $0x6ef9e1c4; BYTE $0xf3               // vmovq    xmm6, rbx
	LONG $0x2cfae1c4; WORD $0xba5c; BYTE $0x38 // vcvttss2si    rbx, dword [rdx + 4*rdi + 56]
	LONG $0xed6cc9c5                           // vpunpcklqdq    xmm5, xmm6, xmm5
	LONG $0x6ef9e1c4; BYTE $0xf0               // vmovq    xmm6, rax
	LONG $0x6ef9e1c4; BYTE $0xfb               // vmovq    xmm7, rbx
	LONG $0xf66cc1c5                           // vpunpcklqdq    xmm6, xmm7, xmm6
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x34 // vcvttss2si    rax, dword [rdx + 4*rdi + 52]
	LONG $0x6ef9e1c4; BYTE $0xf8               // vmovq    xmm7, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x30 // vcvttss2si    rax, dword [rdx + 4*rdi + 48]
	LONG $0x6ef9e1c4; BYTE $0xc0               // vmovq    xmm0, rax
	LONG $0xc76cf9c5                           // vpunpcklqdq    xmm0, xmm0, xmm7
	LONG $0x4c7ffac5; WORD $0x10f9             // vmovdqu    oword [rcx + 8*rdi + 16], xmm1
	LONG $0x047f7ac5; BYTE $0xf9               // vmovdqu    oword [rcx + 8*rdi], xmm8
	LONG $0x5c7ffac5; WORD $0x20f9             // vmovdqu    oword [rcx + 8*rdi + 32], xmm3
	LONG $0x547ffac5; WORD $0x30f9             // vmovdqu    oword [rcx + 8*rdi + 48], xmm2
	LONG $0x6c7ffac5; WORD $0x40f9             // vmovdqu    oword [rcx + 8*rdi + 64], xmm5
	LONG $0x647ffac5; WORD $0x50f9             // vmovdqu    oword [rcx + 8*rdi + 80], xmm4
	LONG $0x447ffac5; WORD $0x60f9             // vmovdqu    oword [rcx + 8*rdi + 96], xmm0
	LONG $0x747ffac5; WORD $0x70f9             // vmovdqu    oword [rcx + 8*rdi + 112], xmm6
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x44 // vcvttss2si    rax, dword [rdx + 4*rdi + 68]
	LONG $0x2cfae1c4; WORD $0xba5c; BYTE $0x40 // vcvttss2si    rbx, dword [rdx + 4*rdi + 64]
	LONG $0x6ef9e1c4; BYTE $0xc0               // vmovq    xmm0, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x4c // vcvttss2si    rax, dword [rdx + 4*rdi + 76]
	LONG $0x6ef9e1c4; BYTE $0xcb               // vmovq    xmm1, rbx
	LONG $0x2cfae1c4; WORD $0xba5c; BYTE $0x48 // vcvttss2si    rbx, dword [rdx + 4*rdi + 72]
	LONG $0x6ef9e1c4; BYTE $0xd0               // vmovq    xmm2, rax
	LONG $0xc06c71c5                           // vpunpcklqdq    xmm8, xmm1, xmm0
	LONG $0x6ef9e1c4; BYTE $0xcb               // vmovq    xmm1, rbx
	LONG $0xca6cf1c5                           // vpunpcklqdq    xmm1, xmm1, xmm2
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x5c // vcvttss2si    rax, dword [rdx + 4*rdi + 92]
	LONG $0x6ef9e1c4; BYTE $0xd0               // vmovq    xmm2, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x58 // vcvttss2si    rax, dword [rdx + 4*rdi + 88]
	LONG $0x6ef9e1c4; BYTE $0xd8               // vmovq    xmm3, rax
	LONG $0xd26ce1c5                           // vpunpcklqdq    xmm2, xmm3, xmm2
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x54 // vcvttss2si    rax, dword [rdx + 4*rdi + 84]
	LONG $0x6ef9e1c4; BYTE $0xd8               // vmovq    xmm3, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x50 // vcvttss2si    rax, dword [rdx + 4*rdi + 80]
	LONG $0x6ef9e1c4; BYTE $0xe0               // vmovq    xmm4, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x6c // vcvttss2si    rax, dword [rdx + 4*rdi + 108]
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x68 // vcvttss2si    rax, dword [rdx + 4*rdi + 104]
	LONG $0x6ef9e1c4; BYTE $0xf0               // vmovq    xmm6, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x64 // vcvttss2si    rax, dword [rdx + 4*rdi + 100]
	LONG $0x6ef9e1c4; BYTE $0xf8               // vmovq    xmm7, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x60 // vcvttss2si    rax, dword [rdx + 4*rdi + 96]
	LONG $0xdb6cd9c5                           // vpunpcklqdq    xmm3, xmm4, xmm3
	LONG $0xe56cc9c5                           // vpunpcklqdq    xmm4, xmm6, xmm5
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	LONG $0xef6cd1c5                           // vpunpcklqdq    xmm5, xmm5, xmm7
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x7c // vcvttss2si    rax, dword [rdx + 4*rdi + 124]
	LONG $0x6ef9e1c4; BYTE $0xf0               // vmovq    xmm6, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x78 // vcvttss2si    rax, dword [rdx + 4*rdi + 120]
	LONG $0x6ef9e1c4; BYTE $0xf8               // vmovq    xmm7, rax
	LONG $0xf66cc1c5                           // vpunpcklqdq    xmm6, xmm7, xmm6
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x74 // vcvttss2si    rax, dword [rdx + 4*rdi + 116]
	LONG $0x6ef9e1c4; BYTE $0xf8               // vmovq    xmm7, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x70 // vcvttss2si    rax, dword [rdx + 4*rdi + 112]
	LONG $0x6ef9e1c4; BYTE $0xc0               // vmovq    xmm0, rax
	LONG $0xc76cf9c5                           // vpunpcklqdq    xmm0, xmm0, xmm7
	QUAD $0x000090f98c7ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 144], xmm1
	QUAD $0x000080f9847f7ac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 128], xmm8
	QUAD $0x0000a0f99c7ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 160], xmm3
	QUAD $0x0000b0f9947ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 176], xmm2
	QUAD $0x0000c0f9ac7ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 192], xmm5
	QUAD $0x0000d0f9a47ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 208], xmm4
	QUAD $0x0000e0f9847ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 224], xmm0
	QUAD $0x0000f0f9b47ffac5; BYTE $0x00       // vmovdqu    oword [rcx + 8*rdi + 240], xmm6
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c28349                           // add    r10, 2
	JNE  LBB0_666
	JMP  LBB0_1141

LBB0_676:
	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   LBB0_980
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_678:
	LONG $0x257de2c4; WORD $0xba04             // vpmovsxdq    ymm0, oword [rdx + 4*rdi]
	LONG $0x257de2c4; WORD $0xba4c; BYTE $0x10 // vpmovsxdq    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x257de2c4; WORD $0xba54; BYTE $0x20 // vpmovsxdq    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x257de2c4; WORD $0xba5c; BYTE $0x30 // vpmovsxdq    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x257de2c4; WORD $0xba44; BYTE $0x40 // vpmovsxdq    ymm0, oword [rdx + 4*rdi + 64]
	LONG $0x257de2c4; WORD $0xba4c; BYTE $0x50 // vpmovsxdq    ymm1, oword [rdx + 4*rdi + 80]
	LONG $0x257de2c4; WORD $0xba54; BYTE $0x60 // vpmovsxdq    ymm2, oword [rdx + 4*rdi + 96]
	LONG $0x257de2c4; WORD $0xba5c; BYTE $0x70 // vpmovsxdq    ymm3, oword [rdx + 4*rdi + 112]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_678
	JMP  LBB0_981

LBB0_679:
	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   LBB0_985
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_681:
	LONG $0x045bfcc5; BYTE $0xba         // vcvtdq2ps    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c5bfcc5; WORD $0x20ba       // vcvtdq2ps    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x545bfcc5; WORD $0x40ba       // vcvtdq2ps    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c5bfcc5; WORD $0x60ba       // vcvtdq2ps    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xb9         // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9       // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9       // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9       // vmovups    yword [rcx + 4*rdi + 96], ymm3
	QUAD $0x000080ba845bfcc5; BYTE $0x00 // vcvtdq2ps    ymm0, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0ba8c5bfcc5; BYTE $0x00 // vcvtdq2ps    ymm1, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0ba945bfcc5; BYTE $0x00 // vcvtdq2ps    ymm2, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0ba9c5bfcc5; BYTE $0x00 // vcvtdq2ps    ymm3, yword [rdx + 4*rdi + 224]
	QUAD $0x000080b98411fcc5; BYTE $0x00 // vmovups    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c11fcc5; BYTE $0x00 // vmovups    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b99411fcc5; BYTE $0x00 // vmovups    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c11fcc5; BYTE $0x00 // vmovups    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_681
	JMP  LBB0_986

LBB0_715:
	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   LBB0_990
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_717:
	LONG $0x04e6fdc5; BYTE $0xfa         // vcvttpd2dq    xmm0, yword [rdx + 8*rdi]
	LONG $0x4ce6fdc5; WORD $0x20fa       // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0x54e6fdc5; WORD $0x40fa       // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 64]
	LONG $0x5ce6fdc5; WORD $0x60fa       // vcvttpd2dq    xmm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411f9c5; BYTE $0xb9         // vmovupd    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f9c5; WORD $0x10b9       // vmovupd    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f9c5; WORD $0x20b9       // vmovupd    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f9c5; WORD $0x30b9       // vmovupd    oword [rcx + 4*rdi + 48], xmm3
	QUAD $0x000080fa84e6fdc5; BYTE $0x00 // vcvttpd2dq    xmm0, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8ce6fdc5; BYTE $0x00 // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa94e6fdc5; BYTE $0x00 // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9ce6fdc5; BYTE $0x00 // vcvttpd2dq    xmm3, yword [rdx + 8*rdi + 224]
	LONG $0x4411f9c5; WORD $0x40b9       // vmovupd    oword [rcx + 4*rdi + 64], xmm0
	LONG $0x4c11f9c5; WORD $0x50b9       // vmovupd    oword [rcx + 4*rdi + 80], xmm1
	LONG $0x5411f9c5; WORD $0x60b9       // vmovupd    oword [rcx + 4*rdi + 96], xmm2
	LONG $0x5c11f9c5; WORD $0x70b9       // vmovupd    oword [rcx + 4*rdi + 112], xmm3
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_717
	JMP  LBB0_991

LBB0_721:
	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   LBB0_995
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_723:
	LONG $0x0410f8c5; BYTE $0xfa               // vmovups    xmm0, oword [rdx + 8*rdi]
	LONG $0x4c10f8c5; WORD $0x20fa             // vmovups    xmm1, oword [rdx + 8*rdi + 32]
	LONG $0x5410f8c5; WORD $0x40fa             // vmovups    xmm2, oword [rdx + 8*rdi + 64]
	LONG $0x5c10f8c5; WORD $0x60fa             // vmovups    xmm3, oword [rdx + 8*rdi + 96]
	LONG $0x44c6f8c5; WORD $0x10fa; BYTE $0x88 // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 16], 136
	LONG $0x4cc6f0c5; WORD $0x30fa; BYTE $0x88 // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 48], 136
	LONG $0x54c6e8c5; WORD $0x50fa; BYTE $0x88 // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 80], 136
	LONG $0x5cc6e0c5; WORD $0x70fa; BYTE $0x88 // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 112], 136
	LONG $0x0411f8c5; BYTE $0xb9               // vmovups    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f8c5; WORD $0x10b9             // vmovups    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f8c5; WORD $0x20b9             // vmovups    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f8c5; WORD $0x30b9             // vmovups    oword [rcx + 4*rdi + 48], xmm3
	QUAD $0x000080fa8410f8c5; BYTE $0x00       // vmovups    xmm0, oword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8c10f8c5; BYTE $0x00       // vmovups    xmm1, oword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa9410f8c5; BYTE $0x00       // vmovups    xmm2, oword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9c10f8c5; BYTE $0x00       // vmovups    xmm3, oword [rdx + 8*rdi + 224]
	QUAD $0x000090fa84c6f8c5; WORD $0x8800     // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 144], 136
	QUAD $0x0000b0fa8cc6f0c5; WORD $0x8800     // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 176], 136
	QUAD $0x0000d0fa94c6e8c5; WORD $0x8800     // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 208], 136
	QUAD $0x0000f0fa9cc6e0c5; WORD $0x8800     // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 240], 136
	LONG $0x4411f8c5; WORD $0x40b9             // vmovups    oword [rcx + 4*rdi + 64], xmm0
	LONG $0x4c11f8c5; WORD $0x50b9             // vmovups    oword [rcx + 4*rdi + 80], xmm1
	LONG $0x5411f8c5; WORD $0x60b9             // vmovups    oword [rcx + 4*rdi + 96], xmm2
	LONG $0x5c11f8c5; WORD $0x70b9             // vmovups    oword [rcx + 4*rdi + 112], xmm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_723
	JMP  LBB0_996

LBB0_724:
	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   LBB0_1000
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_726:
	LONG $0x337de2c4; WORD $0x7a04             // vpmovzxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x337de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovzxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x337de2c4; WORD $0x7a54; BYTE $0x20 // vpmovzxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x337de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovzxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x337de2c4; WORD $0x7a44; BYTE $0x40 // vpmovzxwd    ymm0, oword [rdx + 2*rdi + 64]
	LONG $0x337de2c4; WORD $0x7a4c; BYTE $0x50 // vpmovzxwd    ymm1, oword [rdx + 2*rdi + 80]
	LONG $0x337de2c4; WORD $0x7a54; BYTE $0x60 // vpmovzxwd    ymm2, oword [rdx + 2*rdi + 96]
	LONG $0x337de2c4; WORD $0x7a5c; BYTE $0x70 // vpmovzxwd    ymm3, oword [rdx + 2*rdi + 112]
	QUAD $0x000080b9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_726
	JMP  LBB0_1001

LBB0_727:
	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   LBB0_1005
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_729:
	LONG $0x237de2c4; WORD $0x7a04             // vpmovsxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovsxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x237de2c4; WORD $0x7a54; BYTE $0x20 // vpmovsxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x237de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovsxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x237de2c4; WORD $0x7a44; BYTE $0x40 // vpmovsxwd    ymm0, oword [rdx + 2*rdi + 64]
	LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x50 // vpmovsxwd    ymm1, oword [rdx + 2*rdi + 80]
	LONG $0x237de2c4; WORD $0x7a54; BYTE $0x60 // vpmovsxwd    ymm2, oword [rdx + 2*rdi + 96]
	LONG $0x237de2c4; WORD $0x7a5c; BYTE $0x70 // vpmovsxwd    ymm3, oword [rdx + 2*rdi + 112]
	QUAD $0x000080b9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_729
	JMP  LBB0_1006

LBB0_730:
	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   LBB0_1010
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_732:
	LONG $0x0410f8c5; BYTE $0xfa               // vmovups    xmm0, oword [rdx + 8*rdi]
	LONG $0x4c10f8c5; WORD $0x20fa             // vmovups    xmm1, oword [rdx + 8*rdi + 32]
	LONG $0x5410f8c5; WORD $0x40fa             // vmovups    xmm2, oword [rdx + 8*rdi + 64]
	LONG $0x5c10f8c5; WORD $0x60fa             // vmovups    xmm3, oword [rdx + 8*rdi + 96]
	LONG $0x44c6f8c5; WORD $0x10fa; BYTE $0x88 // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 16], 136
	LONG $0x4cc6f0c5; WORD $0x30fa; BYTE $0x88 // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 48], 136
	LONG $0x54c6e8c5; WORD $0x50fa; BYTE $0x88 // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 80], 136
	LONG $0x5cc6e0c5; WORD $0x70fa; BYTE $0x88 // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 112], 136
	LONG $0x0411f8c5; BYTE $0xb9               // vmovups    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f8c5; WORD $0x10b9             // vmovups    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f8c5; WORD $0x20b9             // vmovups    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f8c5; WORD $0x30b9             // vmovups    oword [rcx + 4*rdi + 48], xmm3
	QUAD $0x000080fa8410f8c5; BYTE $0x00       // vmovups    xmm0, oword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8c10f8c5; BYTE $0x00       // vmovups    xmm1, oword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa9410f8c5; BYTE $0x00       // vmovups    xmm2, oword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9c10f8c5; BYTE $0x00       // vmovups    xmm3, oword [rdx + 8*rdi + 224]
	QUAD $0x000090fa84c6f8c5; WORD $0x8800     // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 144], 136
	QUAD $0x0000b0fa8cc6f0c5; WORD $0x8800     // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 176], 136
	QUAD $0x0000d0fa94c6e8c5; WORD $0x8800     // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 208], 136
	QUAD $0x0000f0fa9cc6e0c5; WORD $0x8800     // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 240], 136
	LONG $0x4411f8c5; WORD $0x40b9             // vmovups    oword [rcx + 4*rdi + 64], xmm0
	LONG $0x4c11f8c5; WORD $0x50b9             // vmovups    oword [rcx + 4*rdi + 80], xmm1
	LONG $0x5411f8c5; WORD $0x60b9             // vmovups    oword [rcx + 4*rdi + 96], xmm2
	LONG $0x5c11f8c5; WORD $0x70b9             // vmovups    oword [rcx + 4*rdi + 112], xmm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_732
	JMP  LBB0_1011

LBB0_733:
	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   LBB0_1015
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_735:
	LONG $0x045bfec5; BYTE $0xba         // vcvttps2dq    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c5bfec5; WORD $0x20ba       // vcvttps2dq    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x545bfec5; WORD $0x40ba       // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c5bfec5; WORD $0x60ba       // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xb9         // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9       // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9       // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9       // vmovups    yword [rcx + 4*rdi + 96], ymm3
	QUAD $0x000080ba845bfec5; BYTE $0x00 // vcvttps2dq    ymm0, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0ba8c5bfec5; BYTE $0x00 // vcvttps2dq    ymm1, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0ba945bfec5; BYTE $0x00 // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0ba9c5bfec5; BYTE $0x00 // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 224]
	QUAD $0x000080b98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_735
	JMP  LBB0_1016

LBB0_742:
	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   LBB0_1185
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_744:
	LONG $0x0410fcc5; BYTE $0xba         // vmovups    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c10fcc5; WORD $0x20ba       // vmovups    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x5410fcc5; WORD $0x40ba       // vmovups    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c10fcc5; WORD $0x60ba       // vmovups    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xb9         // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9       // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9       // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9       // vmovups    yword [rcx + 4*rdi + 96], ymm3
	QUAD $0x000080ba8410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0ba8c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0ba9410fdc5; BYTE $0x00 // vmovupd    ymm2, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0ba9c10fdc5; BYTE $0x00 // vmovupd    ymm3, yword [rdx + 4*rdi + 224]
	QUAD $0x000080b98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_744
	JMP  LBB0_1186

LBB0_745:
	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   LBB0_1193
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_747:
	LONG $0x217de2c4; WORD $0x3a04             // vpmovsxbd    ymm0, qword [rdx + rdi]
	LONG $0x217de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovsxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x217de2c4; WORD $0x3a54; BYTE $0x10 // vpmovsxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x217de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovsxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x217de2c4; WORD $0x3a44; BYTE $0x20 // vpmovsxbd    ymm0, qword [rdx + rdi + 32]
	LONG $0x217de2c4; WORD $0x3a4c; BYTE $0x28 // vpmovsxbd    ymm1, qword [rdx + rdi + 40]
	LONG $0x217de2c4; WORD $0x3a54; BYTE $0x30 // vpmovsxbd    ymm2, qword [rdx + rdi + 48]
	LONG $0x217de2c4; WORD $0x3a5c; BYTE $0x38 // vpmovsxbd    ymm3, qword [rdx + rdi + 56]
	QUAD $0x000080b9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_747
	JMP  LBB0_1194

LBB0_748:
	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   LBB0_1201
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_750:
	LONG $0x317de2c4; WORD $0x3a04             // vpmovzxbd    ymm0, qword [rdx + rdi]
	LONG $0x317de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovzxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x317de2c4; WORD $0x3a54; BYTE $0x10 // vpmovzxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x317de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovzxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x317de2c4; WORD $0x3a44; BYTE $0x20 // vpmovzxbd    ymm0, qword [rdx + rdi + 32]
	LONG $0x317de2c4; WORD $0x3a4c; BYTE $0x28 // vpmovzxbd    ymm1, qword [rdx + rdi + 40]
	LONG $0x317de2c4; WORD $0x3a54; BYTE $0x30 // vpmovzxbd    ymm2, qword [rdx + rdi + 48]
	LONG $0x317de2c4; WORD $0x3a5c; BYTE $0x38 // vpmovzxbd    ymm3, qword [rdx + rdi + 56]
	QUAD $0x000080b9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_750
	JMP  LBB0_1202

LBB0_751:
	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   LBB0_1209
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_753:
	LONG $0x0410fcc5; BYTE $0xba         // vmovups    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c10fcc5; WORD $0x20ba       // vmovups    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x5410fcc5; WORD $0x40ba       // vmovups    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c10fcc5; WORD $0x60ba       // vmovups    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xb9         // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9       // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9       // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9       // vmovups    yword [rcx + 4*rdi + 96], ymm3
	QUAD $0x000080ba8410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0ba8c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0ba9410fdc5; BYTE $0x00 // vmovupd    ymm2, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0ba9c10fdc5; BYTE $0x00 // vmovupd    ymm3, yword [rdx + 4*rdi + 224]
	QUAD $0x000080b98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_753
	JMP  LBB0_1210

LBB0_754:
	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   LBB0_1217
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_756:
	LONG $0x0410fcc5; BYTE $0xfa         // vmovups    ymm0, yword [rdx + 8*rdi]
	LONG $0x4c10fcc5; WORD $0x20fa       // vmovups    ymm1, yword [rdx + 8*rdi + 32]
	LONG $0x5410fcc5; WORD $0x40fa       // vmovups    ymm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c10fcc5; WORD $0x60fa       // vmovups    ymm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xf9         // vmovups    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20f9       // vmovups    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40f9       // vmovups    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60f9       // vmovups    yword [rcx + 8*rdi + 96], ymm3
	QUAD $0x000080fa8410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa9410fdc5; BYTE $0x00 // vmovupd    ymm2, yword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9c10fdc5; BYTE $0x00 // vmovupd    ymm3, yword [rdx + 8*rdi + 224]
	QUAD $0x000080f98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_756
	JMP  LBB0_1218

LBB0_757:
	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   LBB0_1225
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_759:
	LONG $0x2179e2c4; WORD $0x3a04             // vpmovsxbd    xmm0, dword [rdx + rdi]
	LONG $0x2179e2c4; WORD $0x3a4c; BYTE $0x04 // vpmovsxbd    xmm1, dword [rdx + rdi + 4]
	LONG $0x2179e2c4; WORD $0x3a54; BYTE $0x08 // vpmovsxbd    xmm2, dword [rdx + rdi + 8]
	LONG $0x2179e2c4; WORD $0x3a5c; BYTE $0x0c // vpmovsxbd    xmm3, dword [rdx + rdi + 12]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	LONG $0x0411fcc5; BYTE $0xf9               // vmovups    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20f9             // vmovups    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40f9             // vmovups    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60f9             // vmovups    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x2179e2c4; WORD $0x3a44; BYTE $0x10 // vpmovsxbd    xmm0, dword [rdx + rdi + 16]
	LONG $0x2179e2c4; WORD $0x3a4c; BYTE $0x14 // vpmovsxbd    xmm1, dword [rdx + rdi + 20]
	LONG $0x2179e2c4; WORD $0x3a54; BYTE $0x18 // vpmovsxbd    xmm2, dword [rdx + rdi + 24]
	LONG $0x2179e2c4; WORD $0x3a5c; BYTE $0x1c // vpmovsxbd    xmm3, dword [rdx + rdi + 28]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	QUAD $0x000080f98411fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f99411fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_759
	JMP  LBB0_1226

LBB0_760:
	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   LBB0_1233
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_762:
	LONG $0x3179e2c4; WORD $0x3a04             // vpmovzxbd    xmm0, dword [rdx + rdi]
	LONG $0x3179e2c4; WORD $0x3a4c; BYTE $0x04 // vpmovzxbd    xmm1, dword [rdx + rdi + 4]
	LONG $0x3179e2c4; WORD $0x3a54; BYTE $0x08 // vpmovzxbd    xmm2, dword [rdx + rdi + 8]
	LONG $0x3179e2c4; WORD $0x3a5c; BYTE $0x0c // vpmovzxbd    xmm3, dword [rdx + rdi + 12]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	LONG $0x0411fcc5; BYTE $0xf9               // vmovups    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20f9             // vmovups    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40f9             // vmovups    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60f9             // vmovups    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x3179e2c4; WORD $0x3a44; BYTE $0x10 // vpmovzxbd    xmm0, dword [rdx + rdi + 16]
	LONG $0x3179e2c4; WORD $0x3a4c; BYTE $0x14 // vpmovzxbd    xmm1, dword [rdx + rdi + 20]
	LONG $0x3179e2c4; WORD $0x3a54; BYTE $0x18 // vpmovzxbd    xmm2, dword [rdx + rdi + 24]
	LONG $0x3179e2c4; WORD $0x3a5c; BYTE $0x1c // vpmovzxbd    xmm3, dword [rdx + rdi + 28]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	QUAD $0x000080f98411fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f99411fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_762
	JMP  LBB0_1234

LBB0_763:
	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   LBB0_1241
	WORD $0x894c; BYTE $0xc0     // mov    rax, r8
	LONG $0xfee08348             // and    rax, -2
	WORD $0xf748; BYTE $0xd8     // neg    rax
	WORD $0xff31                 // xor    edi, edi
	LONG $0x456ff9c5; BYTE $0x70 // vmovdqa    xmm0, oword 112[rbp] /* [rip + .LCPI0_12] */

LBB0_765:
	LONG $0x0c6ffac5; BYTE $0xba         // vmovdqu    xmm1, oword [rdx + 4*rdi]
	LONG $0x546ffac5; WORD $0x10ba       // vmovdqu    xmm2, oword [rdx + 4*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20ba       // vmovdqu    xmm3, oword [rdx + 4*rdi + 32]
	LONG $0x646ffac5; WORD $0x30ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5                     // vpunpckldq    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x50ba       // vmovdqu    xmm3, oword [rdx + 4*rdi + 80]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x40ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 64]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5                     // vpunpckldq    xmm3, xmm4, xmm3
	LONG $0x646ffac5; WORD $0x70ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 112]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0x6c6ffac5; WORD $0x60ba       // vmovdqu    xmm5, oword [rdx + 4*rdi + 96]
	LONG $0x0051e2c4; BYTE $0xe8         // vpshufb    xmm5, xmm5, xmm0
	LONG $0xe462d1c5                     // vpunpckldq    xmm4, xmm5, xmm4
	LONG $0x3865e3c4; WORD $0x01dc       // vinserti128    ymm3, ymm3, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01ca       // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xcb6cf5c5                     // vpunpcklqdq    ymm1, ymm1, ymm3
	LONG $0x00fde3c4; WORD $0xd8c9       // vpermq    ymm1, ymm1, 216
	LONG $0x0c7ffec5; BYTE $0x39         // vmovdqu    yword [rcx + rdi], ymm1
	QUAD $0x000080ba8c6ffac5; BYTE $0x00 // vmovdqu    xmm1, oword [rdx + 4*rdi + 128]
	QUAD $0x000090ba946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 4*rdi + 144]
	QUAD $0x0000a0ba9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 4*rdi + 160]
	QUAD $0x0000b0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 176]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5                     // vpunpckldq    xmm2, xmm3, xmm2
	QUAD $0x0000d0ba9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 4*rdi + 208]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	QUAD $0x0000c0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 192]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5                     // vpunpckldq    xmm3, xmm4, xmm3
	QUAD $0x0000f0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 240]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	QUAD $0x0000e0baac6ffac5; BYTE $0x00 // vmovdqu    xmm5, oword [rdx + 4*rdi + 224]
	LONG $0x0051e2c4; BYTE $0xe8         // vpshufb    xmm5, xmm5, xmm0
	LONG $0xe462d1c5                     // vpunpckldq    xmm4, xmm5, xmm4
	LONG $0x3865e3c4; WORD $0x01dc       // vinserti128    ymm3, ymm3, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01ca       // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xcb6cf5c5                     // vpunpcklqdq    ymm1, ymm1, ymm3
	LONG $0x00fde3c4; WORD $0xd8c9       // vpermq    ymm1, ymm1, 216
	LONG $0x4c7ffec5; WORD $0x2039       // vmovdqu    yword [rcx + rdi + 32], ymm1
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_765
	JMP  LBB0_1242

LBB0_766:
	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   LBB0_1249
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_768:
	LONG $0x04e6fdc5; BYTE $0xfa         // vcvttpd2dq    xmm0, yword [rdx + 8*rdi]
	LONG $0xc06bf9c5                     // vpackssdw    xmm0, xmm0, xmm0
	LONG $0x4ce6fdc5; WORD $0x20fa       // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0xc063f9c5                     // vpacksswb    xmm0, xmm0, xmm0
	LONG $0xc96bf1c5                     // vpackssdw    xmm1, xmm1, xmm1
	LONG $0xc963f1c5                     // vpacksswb    xmm1, xmm1, xmm1
	LONG $0xc162f9c5                     // vpunpckldq    xmm0, xmm0, xmm1
	LONG $0x4ce6fdc5; WORD $0x40fa       // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 64]
	LONG $0xc96bf1c5                     // vpackssdw    xmm1, xmm1, xmm1
	LONG $0xc963f1c5                     // vpacksswb    xmm1, xmm1, xmm1
	LONG $0x54e6fdc5; WORD $0x60fa       // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 96]
	LONG $0xd26be9c5                     // vpackssdw    xmm2, xmm2, xmm2
	LONG $0xd263e9c5                     // vpacksswb    xmm2, xmm2, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0xc16cf9c5                     // vpunpcklqdq    xmm0, xmm0, xmm1
	LONG $0x047ffac5; BYTE $0x39         // vmovdqu    oword [rcx + rdi], xmm0
	QUAD $0x000080fa84e6fdc5; BYTE $0x00 // vcvttpd2dq    xmm0, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8ce6fdc5; BYTE $0x00 // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 160]
	LONG $0xc06bf9c5                     // vpackssdw    xmm0, xmm0, xmm0
	LONG $0xc063f9c5                     // vpacksswb    xmm0, xmm0, xmm0
	LONG $0xc96bf1c5                     // vpackssdw    xmm1, xmm1, xmm1
	LONG $0xc963f1c5                     // vpacksswb    xmm1, xmm1, xmm1
	LONG $0xc162f9c5                     // vpunpckldq    xmm0, xmm0, xmm1
	QUAD $0x0000c0fa8ce6fdc5; BYTE $0x00 // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 192]
	LONG $0xc96bf1c5                     // vpackssdw    xmm1, xmm1, xmm1
	QUAD $0x0000e0fa94e6fdc5; BYTE $0x00 // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 224]
	LONG $0xc963f1c5                     // vpacksswb    xmm1, xmm1, xmm1
	LONG $0xd26be9c5                     // vpackssdw    xmm2, xmm2, xmm2
	LONG $0xd263e9c5                     // vpacksswb    xmm2, xmm2, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0xc16cf9c5                     // vpunpcklqdq    xmm0, xmm0, xmm1
	LONG $0x447ffac5; WORD $0x1039       // vmovdqu    oword [rcx + rdi + 16], xmm0
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_768
	JMP  LBB0_1250

LBB0_769:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0x80 // and    esi, -128
	LONG $0x80468d48         // lea    rax, [rsi - 128]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x07e8c149         // shr    r8, 7
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1257
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_771:
	LONG $0x0410fcc5; BYTE $0x3a               // vmovups    ymm0, yword [rdx + rdi]
	LONG $0x4c10fcc5; WORD $0x203a             // vmovups    ymm1, yword [rdx + rdi + 32]
	LONG $0x5410fcc5; WORD $0x403a             // vmovups    ymm2, yword [rdx + rdi + 64]
	LONG $0x5c10fcc5; WORD $0x603a             // vmovups    ymm3, yword [rdx + rdi + 96]
	LONG $0x0411fcc5; BYTE $0x39               // vmovups    yword [rcx + rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x2039             // vmovups    yword [rcx + rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x4039             // vmovups    yword [rcx + rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x6039             // vmovups    yword [rcx + rdi + 96], ymm3
	QUAD $0x0000803a8410fdc5; BYTE $0x00       // vmovupd    ymm0, yword [rdx + rdi + 128]
	QUAD $0x0000a03a8c10fdc5; BYTE $0x00       // vmovupd    ymm1, yword [rdx + rdi + 160]
	QUAD $0x0000c03a9410fdc5; BYTE $0x00       // vmovupd    ymm2, yword [rdx + rdi + 192]
	QUAD $0x0000e03a9c10fdc5; BYTE $0x00       // vmovupd    ymm3, yword [rdx + rdi + 224]
	QUAD $0x000080398411fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 128], ymm0
	QUAD $0x0000a0398c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 160], ymm1
	QUAD $0x0000c0399411fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 192], ymm2
	QUAD $0x0000e0399c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 224], ymm3
	LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add    rdi, 256
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_771
	JMP  LBB0_1258

LBB0_772:
	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   LBB0_1265
	WORD $0x894c; BYTE $0xc0     // mov    rax, r8
	LONG $0xfee08348             // and    rax, -2
	WORD $0xf748; BYTE $0xd8     // neg    rax
	WORD $0xff31                 // xor    edi, edi
	LONG $0x456ff9c5; BYTE $0x40 // vmovdqa    xmm0, oword 64[rbp] /* [rip + .LCPI0_4] */

LBB0_774:
	LONG $0x0c6ffac5; BYTE $0xfa         // vmovdqu    xmm1, oword [rdx + 8*rdi]
	LONG $0x546ffac5; WORD $0x10fa       // vmovdqu    xmm2, oword [rdx + 8*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 32]
	LONG $0x646ffac5; WORD $0x30fa       // vmovdqu    xmm4, oword [rdx + 8*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5                     // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x546ffac5; WORD $0x50fa       // vmovdqu    xmm2, oword [rdx + 8*rdi + 80]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x5c6ffac5; WORD $0x40fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 64]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x70fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 112]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x60fa       // vmovdqu    xmm4, oword [rdx + 8*rdi + 96]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb61d9c5                     // vpunpcklwd    xmm3, xmm4, xmm3
	LONG $0xd362e9c5                     // vpunpckldq    xmm2, xmm2, xmm3
	LONG $0xca6cf1c5                     // vpunpcklqdq    xmm1, xmm1, xmm2
	LONG $0x0c7ffac5; BYTE $0x39         // vmovdqu    oword [rcx + rdi], xmm1
	QUAD $0x000080fa8c6ffac5; BYTE $0x00 // vmovdqu    xmm1, oword [rdx + 8*rdi + 128]
	QUAD $0x000090fa946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 8*rdi + 144]
	QUAD $0x0000a0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 160]
	QUAD $0x0000b0faa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 8*rdi + 176]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5                     // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	QUAD $0x0000d0fa946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 8*rdi + 208]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	QUAD $0x0000c0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 192]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	QUAD $0x0000f0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 240]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	QUAD $0x0000e0faa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 8*rdi + 224]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb61d9c5                     // vpunpcklwd    xmm3, xmm4, xmm3
	LONG $0xd362e9c5                     // vpunpckldq    xmm2, xmm2, xmm3
	LONG $0xca6cf1c5                     // vpunpcklqdq    xmm1, xmm1, xmm2
	LONG $0x4c7ffac5; WORD $0x1039       // vmovdqu    oword [rcx + rdi + 16], xmm1
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_774
	JMP  LBB0_1266

LBB0_775:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0xc0 // and    esi, -64
	LONG $0xc0468d48         // lea    rax, [rsi - 64]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x06e8c149         // shr    r8, 6
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1273
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	QUAD $0x000000a0856ffdc5 // vmovdqa    ymm0, yword 160[rbp] /* [rip + .LCPI0_16] */

LBB0_777:
	LONG $0x0cdbfdc5; BYTE $0x7a         // vpand    ymm1, ymm0, yword [rdx + 2*rdi]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5                     // vpackuswb    xmm1, xmm1, xmm2
	LONG $0x54dbfdc5; WORD $0x207a       // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 32]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5                     // vpackuswb    xmm2, xmm2, xmm3
	LONG $0x5cdbfdc5; WORD $0x407a       // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 64]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5                     // vpackuswb    xmm3, xmm3, xmm4
	LONG $0x64dbfdc5; WORD $0x607a       // vpand    ymm4, ymm0, yword [rdx + 2*rdi + 96]
	LONG $0x397de3c4; WORD $0x01e5       // vextracti128    xmm5, ymm4, 1
	LONG $0xe567d9c5                     // vpackuswb    xmm4, xmm4, xmm5
	LONG $0x0c7ffac5; BYTE $0x39         // vmovdqu    oword [rcx + rdi], xmm1
	LONG $0x547ffac5; WORD $0x1039       // vmovdqu    oword [rcx + rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2039       // vmovdqu    oword [rcx + rdi + 32], xmm3
	LONG $0x647ffac5; WORD $0x3039       // vmovdqu    oword [rcx + rdi + 48], xmm4
	QUAD $0x0000807a8cdbfdc5; BYTE $0x00 // vpand    ymm1, ymm0, yword [rdx + 2*rdi + 128]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5                     // vpackuswb    xmm1, xmm1, xmm2
	QUAD $0x0000a07a94dbfdc5; BYTE $0x00 // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 160]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5                     // vpackuswb    xmm2, xmm2, xmm3
	QUAD $0x0000c07a9cdbfdc5; BYTE $0x00 // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 192]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5                     // vpackuswb    xmm3, xmm3, xmm4
	QUAD $0x0000e07aa4dbfdc5; BYTE $0x00 // vpand    ymm4, ymm0, yword [rdx + 2*rdi + 224]
	LONG $0x397de3c4; WORD $0x01e5       // vextracti128    xmm5, ymm4, 1
	LONG $0xe567d9c5                     // vpackuswb    xmm4, xmm4, xmm5
	LONG $0x4c7ffac5; WORD $0x4039       // vmovdqu    oword [rcx + rdi + 64], xmm1
	LONG $0x547ffac5; WORD $0x5039       // vmovdqu    oword [rcx + rdi + 80], xmm2
	LONG $0x5c7ffac5; WORD $0x6039       // vmovdqu    oword [rcx + rdi + 96], xmm3
	LONG $0x647ffac5; WORD $0x7039       // vmovdqu    oword [rcx + rdi + 112], xmm4
	LONG $0x80ef8348                     // sub    rdi, -128
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_777
	JMP  LBB0_1274

LBB0_778:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0xc0 // and    esi, -64
	LONG $0xc0468d48         // lea    rax, [rsi - 64]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x06e8c149         // shr    r8, 6
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1281
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	QUAD $0x000000a0856ffdc5 // vmovdqa    ymm0, yword 160[rbp] /* [rip + .LCPI0_16] */

LBB0_780:
	LONG $0x0cdbfdc5; BYTE $0x7a         // vpand    ymm1, ymm0, yword [rdx + 2*rdi]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5                     // vpackuswb    xmm1, xmm1, xmm2
	LONG $0x54dbfdc5; WORD $0x207a       // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 32]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5                     // vpackuswb    xmm2, xmm2, xmm3
	LONG $0x5cdbfdc5; WORD $0x407a       // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 64]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5                     // vpackuswb    xmm3, xmm3, xmm4
	LONG $0x64dbfdc5; WORD $0x607a       // vpand    ymm4, ymm0, yword [rdx + 2*rdi + 96]
	LONG $0x397de3c4; WORD $0x01e5       // vextracti128    xmm5, ymm4, 1
	LONG $0xe567d9c5                     // vpackuswb    xmm4, xmm4, xmm5
	LONG $0x0c7ffac5; BYTE $0x39         // vmovdqu    oword [rcx + rdi], xmm1
	LONG $0x547ffac5; WORD $0x1039       // vmovdqu    oword [rcx + rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2039       // vmovdqu    oword [rcx + rdi + 32], xmm3
	LONG $0x647ffac5; WORD $0x3039       // vmovdqu    oword [rcx + rdi + 48], xmm4
	QUAD $0x0000807a8cdbfdc5; BYTE $0x00 // vpand    ymm1, ymm0, yword [rdx + 2*rdi + 128]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5                     // vpackuswb    xmm1, xmm1, xmm2
	QUAD $0x0000a07a94dbfdc5; BYTE $0x00 // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 160]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5                     // vpackuswb    xmm2, xmm2, xmm3
	QUAD $0x0000c07a9cdbfdc5; BYTE $0x00 // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 192]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5                     // vpackuswb    xmm3, xmm3, xmm4
	QUAD $0x0000e07aa4dbfdc5; BYTE $0x00 // vpand    ymm4, ymm0, yword [rdx + 2*rdi + 224]
	LONG $0x397de3c4; WORD $0x01e5       // vextracti128    xmm5, ymm4, 1
	LONG $0xe567d9c5                     // vpackuswb    xmm4, xmm4, xmm5
	LONG $0x4c7ffac5; WORD $0x4039       // vmovdqu    oword [rcx + rdi + 64], xmm1
	LONG $0x547ffac5; WORD $0x5039       // vmovdqu    oword [rcx + rdi + 80], xmm2
	LONG $0x5c7ffac5; WORD $0x6039       // vmovdqu    oword [rcx + rdi + 96], xmm3
	LONG $0x647ffac5; WORD $0x7039       // vmovdqu    oword [rcx + rdi + 112], xmm4
	LONG $0x80ef8348                     // sub    rdi, -128
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_780
	JMP  LBB0_1282

LBB0_781:
	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   LBB0_1289
	WORD $0x894c; BYTE $0xc0     // mov    rax, r8
	LONG $0xfee08348             // and    rax, -2
	WORD $0xf748; BYTE $0xd8     // neg    rax
	WORD $0xff31                 // xor    edi, edi
	LONG $0x456ff9c5; BYTE $0x40 // vmovdqa    xmm0, oword 64[rbp] /* [rip + .LCPI0_4] */

LBB0_783:
	LONG $0x0c6ffac5; BYTE $0xfa         // vmovdqu    xmm1, oword [rdx + 8*rdi]
	LONG $0x546ffac5; WORD $0x10fa       // vmovdqu    xmm2, oword [rdx + 8*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 32]
	LONG $0x646ffac5; WORD $0x30fa       // vmovdqu    xmm4, oword [rdx + 8*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5                     // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x546ffac5; WORD $0x50fa       // vmovdqu    xmm2, oword [rdx + 8*rdi + 80]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x5c6ffac5; WORD $0x40fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 64]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x70fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 112]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x60fa       // vmovdqu    xmm4, oword [rdx + 8*rdi + 96]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb61d9c5                     // vpunpcklwd    xmm3, xmm4, xmm3
	LONG $0xd362e9c5                     // vpunpckldq    xmm2, xmm2, xmm3
	LONG $0xca6cf1c5                     // vpunpcklqdq    xmm1, xmm1, xmm2
	LONG $0x0c7ffac5; BYTE $0x39         // vmovdqu    oword [rcx + rdi], xmm1
	QUAD $0x000080fa8c6ffac5; BYTE $0x00 // vmovdqu    xmm1, oword [rdx + 8*rdi + 128]
	QUAD $0x000090fa946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 8*rdi + 144]
	QUAD $0x0000a0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 160]
	QUAD $0x0000b0faa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 8*rdi + 176]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5                     // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	QUAD $0x0000d0fa946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 8*rdi + 208]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	QUAD $0x0000c0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 192]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	QUAD $0x0000f0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 240]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	QUAD $0x0000e0faa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 8*rdi + 224]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb61d9c5                     // vpunpcklwd    xmm3, xmm4, xmm3
	LONG $0xd362e9c5                     // vpunpckldq    xmm2, xmm2, xmm3
	LONG $0xca6cf1c5                     // vpunpcklqdq    xmm1, xmm1, xmm2
	LONG $0x4c7ffac5; WORD $0x1039       // vmovdqu    oword [rcx + rdi + 16], xmm1
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_783
	JMP  LBB0_1290

LBB0_784:
	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   LBB0_1297
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_786:
	LONG $0x045bfec5; BYTE $0xba         // vcvttps2dq    ymm0, yword [rdx + 4*rdi]
	LONG $0x397de3c4; WORD $0x01c1       // vextracti128    xmm1, ymm0, 1
	LONG $0x545bfec5; WORD $0x20ba       // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 32]
	LONG $0xc16bf9c5                     // vpackssdw    xmm0, xmm0, xmm1
	LONG $0x397de3c4; WORD $0x01d1       // vextracti128    xmm1, ymm2, 1
	LONG $0x5c5bfec5; WORD $0x40ba       // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 64]
	LONG $0xc96be9c5                     // vpackssdw    xmm1, xmm2, xmm1
	LONG $0x397de3c4; WORD $0x01da       // vextracti128    xmm2, ymm3, 1
	LONG $0x645bfec5; WORD $0x60ba       // vcvttps2dq    ymm4, yword [rdx + 4*rdi + 96]
	LONG $0xd26be1c5                     // vpackssdw    xmm2, xmm3, xmm2
	LONG $0x397de3c4; WORD $0x01e3       // vextracti128    xmm3, ymm4, 1
	LONG $0xdb6bd9c5                     // vpackssdw    xmm3, xmm4, xmm3
	LONG $0x386de3c4; WORD $0x01d3       // vinserti128    ymm2, ymm2, xmm3, 1
	LONG $0xd063edc5                     // vpacksswb    ymm2, ymm2, ymm0
	LONG $0x387de3c4; WORD $0x01c1       // vinserti128    ymm0, ymm0, xmm1, 1
	LONG $0xc063fdc5                     // vpacksswb    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5                     // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0       // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x39         // vmovdqu    yword [rcx + rdi], ymm0
	QUAD $0x000080ba845bfec5; BYTE $0x00 // vcvttps2dq    ymm0, yword [rdx + 4*rdi + 128]
	LONG $0x397de3c4; WORD $0x01c1       // vextracti128    xmm1, ymm0, 1
	QUAD $0x0000a0ba945bfec5; BYTE $0x00 // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 160]
	LONG $0xc16bf9c5                     // vpackssdw    xmm0, xmm0, xmm1
	LONG $0x397de3c4; WORD $0x01d1       // vextracti128    xmm1, ymm2, 1
	QUAD $0x0000c0ba9c5bfec5; BYTE $0x00 // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 192]
	LONG $0xc96be9c5                     // vpackssdw    xmm1, xmm2, xmm1
	LONG $0x397de3c4; WORD $0x01da       // vextracti128    xmm2, ymm3, 1
	QUAD $0x0000e0baa45bfec5; BYTE $0x00 // vcvttps2dq    ymm4, yword [rdx + 4*rdi + 224]
	LONG $0xd26be1c5                     // vpackssdw    xmm2, xmm3, xmm2
	LONG $0x397de3c4; WORD $0x01e3       // vextracti128    xmm3, ymm4, 1
	LONG $0xdb6bd9c5                     // vpackssdw    xmm3, xmm4, xmm3
	LONG $0x386de3c4; WORD $0x01d3       // vinserti128    ymm2, ymm2, xmm3, 1
	LONG $0xd063edc5                     // vpacksswb    ymm2, ymm2, ymm0
	LONG $0x387de3c4; WORD $0x01c1       // vinserti128    ymm0, ymm0, xmm1, 1
	LONG $0xc063fdc5                     // vpacksswb    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5                     // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0       // vpermq    ymm0, ymm0, 216
	LONG $0x447ffec5; WORD $0x2039       // vmovdqu    yword [rcx + rdi + 32], ymm0
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_786
	JMP  LBB0_1298

LBB0_787:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0x80 // and    esi, -128
	LONG $0x80468d48         // lea    rax, [rsi - 128]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x07e8c149         // shr    r8, 7
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1305
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_789:
	LONG $0x0410fcc5; BYTE $0x3a               // vmovups    ymm0, yword [rdx + rdi]
	LONG $0x4c10fcc5; WORD $0x203a             // vmovups    ymm1, yword [rdx + rdi + 32]
	LONG $0x5410fcc5; WORD $0x403a             // vmovups    ymm2, yword [rdx + rdi + 64]
	LONG $0x5c10fcc5; WORD $0x603a             // vmovups    ymm3, yword [rdx + rdi + 96]
	LONG $0x0411fcc5; BYTE $0x39               // vmovups    yword [rcx + rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x2039             // vmovups    yword [rcx + rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x4039             // vmovups    yword [rcx + rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x6039             // vmovups    yword [rcx + rdi + 96], ymm3
	QUAD $0x0000803a8410fdc5; BYTE $0x00       // vmovupd    ymm0, yword [rdx + rdi + 128]
	QUAD $0x0000a03a8c10fdc5; BYTE $0x00       // vmovupd    ymm1, yword [rdx + rdi + 160]
	QUAD $0x0000c03a9410fdc5; BYTE $0x00       // vmovupd    ymm2, yword [rdx + rdi + 192]
	QUAD $0x0000e03a9c10fdc5; BYTE $0x00       // vmovupd    ymm3, yword [rdx + rdi + 224]
	QUAD $0x000080398411fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 128], ymm0
	QUAD $0x0000a0398c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 160], ymm1
	QUAD $0x0000c0399411fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 192], ymm2
	QUAD $0x0000e0399c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 224], ymm3
	LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add    rdi, 256
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_789
	JMP  LBB0_1306

LBB0_790:
	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   LBB0_1313
	WORD $0x894c; BYTE $0xc0     // mov    rax, r8
	LONG $0xfee08348             // and    rax, -2
	WORD $0xf748; BYTE $0xd8     // neg    rax
	WORD $0xff31                 // xor    edi, edi
	LONG $0x456ff9c5; BYTE $0x70 // vmovdqa    xmm0, oword 112[rbp] /* [rip + .LCPI0_12] */

LBB0_792:
	LONG $0x0c6ffac5; BYTE $0xba         // vmovdqu    xmm1, oword [rdx + 4*rdi]
	LONG $0x546ffac5; WORD $0x10ba       // vmovdqu    xmm2, oword [rdx + 4*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20ba       // vmovdqu    xmm3, oword [rdx + 4*rdi + 32]
	LONG $0x646ffac5; WORD $0x30ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5                     // vpunpckldq    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x50ba       // vmovdqu    xmm3, oword [rdx + 4*rdi + 80]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x40ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 64]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5                     // vpunpckldq    xmm3, xmm4, xmm3
	LONG $0x646ffac5; WORD $0x70ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 112]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0x6c6ffac5; WORD $0x60ba       // vmovdqu    xmm5, oword [rdx + 4*rdi + 96]
	LONG $0x0051e2c4; BYTE $0xe8         // vpshufb    xmm5, xmm5, xmm0
	LONG $0xe462d1c5                     // vpunpckldq    xmm4, xmm5, xmm4
	LONG $0x3865e3c4; WORD $0x01dc       // vinserti128    ymm3, ymm3, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01ca       // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xcb6cf5c5                     // vpunpcklqdq    ymm1, ymm1, ymm3
	LONG $0x00fde3c4; WORD $0xd8c9       // vpermq    ymm1, ymm1, 216
	LONG $0x0c7ffec5; BYTE $0x39         // vmovdqu    yword [rcx + rdi], ymm1
	QUAD $0x000080ba8c6ffac5; BYTE $0x00 // vmovdqu    xmm1, oword [rdx + 4*rdi + 128]
	QUAD $0x000090ba946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 4*rdi + 144]
	QUAD $0x0000a0ba9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 4*rdi + 160]
	QUAD $0x0000b0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 176]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5                     // vpunpckldq    xmm2, xmm3, xmm2
	QUAD $0x0000d0ba9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 4*rdi + 208]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	QUAD $0x0000c0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 192]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5                     // vpunpckldq    xmm3, xmm4, xmm3
	QUAD $0x0000f0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 240]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	QUAD $0x0000e0baac6ffac5; BYTE $0x00 // vmovdqu    xmm5, oword [rdx + 4*rdi + 224]
	LONG $0x0051e2c4; BYTE $0xe8         // vpshufb    xmm5, xmm5, xmm0
	LONG $0xe462d1c5                     // vpunpckldq    xmm4, xmm5, xmm4
	LONG $0x3865e3c4; WORD $0x01dc       // vinserti128    ymm3, ymm3, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01ca       // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xcb6cf5c5                     // vpunpcklqdq    ymm1, ymm1, ymm3
	LONG $0x00fde3c4; WORD $0xd8c9       // vpermq    ymm1, ymm1, 216
	LONG $0x4c7ffec5; WORD $0x2039       // vmovdqu    yword [rcx + rdi + 32], ymm1
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_792
	JMP  LBB0_1314

LBB0_801:
	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   LBB0_1321
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_803:
	LONG $0x227de2c4; WORD $0x3a04             // vpmovsxbq    ymm0, dword [rdx + rdi]
	LONG $0x227de2c4; WORD $0x3a4c; BYTE $0x04 // vpmovsxbq    ymm1, dword [rdx + rdi + 4]
	LONG $0x227de2c4; WORD $0x3a54; BYTE $0x08 // vpmovsxbq    ymm2, dword [rdx + rdi + 8]
	LONG $0x227de2c4; WORD $0x3a5c; BYTE $0x0c // vpmovsxbq    ymm3, dword [rdx + rdi + 12]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x227de2c4; WORD $0x3a44; BYTE $0x10 // vpmovsxbq    ymm0, dword [rdx + rdi + 16]
	LONG $0x227de2c4; WORD $0x3a4c; BYTE $0x14 // vpmovsxbq    ymm1, dword [rdx + rdi + 20]
	LONG $0x227de2c4; WORD $0x3a54; BYTE $0x18 // vpmovsxbq    ymm2, dword [rdx + rdi + 24]
	LONG $0x227de2c4; WORD $0x3a5c; BYTE $0x1c // vpmovsxbq    ymm3, dword [rdx + rdi + 28]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_803
	JMP  LBB0_1322

LBB0_804:
	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   LBB0_1329
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_806:
	LONG $0x0410fcc5; BYTE $0xfa         // vmovups    ymm0, yword [rdx + 8*rdi]
	LONG $0x4c10fcc5; WORD $0x20fa       // vmovups    ymm1, yword [rdx + 8*rdi + 32]
	LONG $0x5410fcc5; WORD $0x40fa       // vmovups    ymm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c10fcc5; WORD $0x60fa       // vmovups    ymm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xf9         // vmovups    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20f9       // vmovups    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40f9       // vmovups    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60f9       // vmovups    yword [rcx + 8*rdi + 96], ymm3
	QUAD $0x000080fa8410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa9410fdc5; BYTE $0x00 // vmovupd    ymm2, yword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9c10fdc5; BYTE $0x00 // vmovupd    ymm3, yword [rdx + 8*rdi + 224]
	QUAD $0x000080f98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_806
	JMP  LBB0_1330

LBB0_807:
	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   LBB0_1337
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_809:
	LONG $0x0410fcc5; BYTE $0xfa         // vmovups    ymm0, yword [rdx + 8*rdi]
	LONG $0x4c10fcc5; WORD $0x20fa       // vmovups    ymm1, yword [rdx + 8*rdi + 32]
	LONG $0x5410fcc5; WORD $0x40fa       // vmovups    ymm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c10fcc5; WORD $0x60fa       // vmovups    ymm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xf9         // vmovups    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20f9       // vmovups    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40f9       // vmovups    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60f9       // vmovups    yword [rcx + 8*rdi + 96], ymm3
	QUAD $0x000080fa8410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa9410fdc5; BYTE $0x00 // vmovupd    ymm2, yword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9c10fdc5; BYTE $0x00 // vmovupd    ymm3, yword [rdx + 8*rdi + 224]
	QUAD $0x000080f98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_809
	JMP  LBB0_1338

LBB0_818:
	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   LBB0_1345
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_820:
	LONG $0x327de2c4; WORD $0x3a04             // vpmovzxbq    ymm0, dword [rdx + rdi]
	LONG $0x327de2c4; WORD $0x3a4c; BYTE $0x04 // vpmovzxbq    ymm1, dword [rdx + rdi + 4]
	LONG $0x327de2c4; WORD $0x3a54; BYTE $0x08 // vpmovzxbq    ymm2, dword [rdx + rdi + 8]
	LONG $0x327de2c4; WORD $0x3a5c; BYTE $0x0c // vpmovzxbq    ymm3, dword [rdx + rdi + 12]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x327de2c4; WORD $0x3a44; BYTE $0x10 // vpmovzxbq    ymm0, dword [rdx + rdi + 16]
	LONG $0x327de2c4; WORD $0x3a4c; BYTE $0x14 // vpmovzxbq    ymm1, dword [rdx + rdi + 20]
	LONG $0x327de2c4; WORD $0x3a54; BYTE $0x18 // vpmovzxbq    ymm2, dword [rdx + rdi + 24]
	LONG $0x327de2c4; WORD $0x3a5c; BYTE $0x1c // vpmovzxbq    ymm3, dword [rdx + rdi + 28]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_820
	JMP  LBB0_1346

LBB0_821:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0xc0 // and    esi, -64
	LONG $0xc0468d48         // lea    rax, [rsi - 64]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x06e8c149         // shr    r8, 6
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1353
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_823:
	LONG $0x207de2c4; WORD $0x3a04             // vpmovsxbw    ymm0, oword [rdx + rdi]
	LONG $0x207de2c4; WORD $0x3a4c; BYTE $0x10 // vpmovsxbw    ymm1, oword [rdx + rdi + 16]
	LONG $0x207de2c4; WORD $0x3a54; BYTE $0x20 // vpmovsxbw    ymm2, oword [rdx + rdi + 32]
	LONG $0x207de2c4; WORD $0x3a5c; BYTE $0x30 // vpmovsxbw    ymm3, oword [rdx + rdi + 48]
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x2079             // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x4079             // vmovdqu    yword [rcx + 2*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x6079             // vmovdqu    yword [rcx + 2*rdi + 96], ymm3
	LONG $0x207de2c4; WORD $0x3a44; BYTE $0x40 // vpmovsxbw    ymm0, oword [rdx + rdi + 64]
	LONG $0x207de2c4; WORD $0x3a4c; BYTE $0x50 // vpmovsxbw    ymm1, oword [rdx + rdi + 80]
	LONG $0x207de2c4; WORD $0x3a54; BYTE $0x60 // vpmovsxbw    ymm2, oword [rdx + rdi + 96]
	LONG $0x207de2c4; WORD $0x3a5c; BYTE $0x70 // vpmovsxbw    ymm3, oword [rdx + rdi + 112]
	QUAD $0x00008079847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 128], ymm0
	QUAD $0x0000a0798c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 160], ymm1
	QUAD $0x0000c079947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 192], ymm2
	QUAD $0x0000e0799c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 224], ymm3
	LONG $0x80ef8348                           // sub    rdi, -128
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_823
	JMP  LBB0_1354

LBB0_824:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0xc0 // and    esi, -64
	LONG $0xc0468d48         // lea    rax, [rsi - 64]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x06e8c149         // shr    r8, 6
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1361
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_826:
	LONG $0x207de2c4; WORD $0x3a04             // vpmovsxbw    ymm0, oword [rdx + rdi]
	LONG $0x207de2c4; WORD $0x3a4c; BYTE $0x10 // vpmovsxbw    ymm1, oword [rdx + rdi + 16]
	LONG $0x207de2c4; WORD $0x3a54; BYTE $0x20 // vpmovsxbw    ymm2, oword [rdx + rdi + 32]
	LONG $0x207de2c4; WORD $0x3a5c; BYTE $0x30 // vpmovsxbw    ymm3, oword [rdx + rdi + 48]
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x2079             // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x4079             // vmovdqu    yword [rcx + 2*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x6079             // vmovdqu    yword [rcx + 2*rdi + 96], ymm3
	LONG $0x207de2c4; WORD $0x3a44; BYTE $0x40 // vpmovsxbw    ymm0, oword [rdx + rdi + 64]
	LONG $0x207de2c4; WORD $0x3a4c; BYTE $0x50 // vpmovsxbw    ymm1, oword [rdx + rdi + 80]
	LONG $0x207de2c4; WORD $0x3a54; BYTE $0x60 // vpmovsxbw    ymm2, oword [rdx + rdi + 96]
	LONG $0x207de2c4; WORD $0x3a5c; BYTE $0x70 // vpmovsxbw    ymm3, oword [rdx + rdi + 112]
	QUAD $0x00008079847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 128], ymm0
	QUAD $0x0000a0798c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 160], ymm1
	QUAD $0x0000c079947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 192], ymm2
	QUAD $0x0000e0799c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 224], ymm3
	LONG $0x80ef8348                           // sub    rdi, -128
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_826
	JMP  LBB0_1362

LBB0_827:
	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  LBB0_1145
	WORD $0xc031             // xor    eax, eax
	JMP  LBB0_1147

LBB0_829:
	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  LBB0_1155
	WORD $0xc031             // xor    eax, eax
	JMP  LBB0_1157

LBB0_831:
	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  LBB0_1165
	WORD $0xc031             // xor    eax, eax
	JMP  LBB0_1167

LBB0_833:
	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  LBB0_1175
	WORD $0xc031             // xor    eax, eax
	JMP  LBB0_1177

LBB0_835:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0xc0 // and    esi, -64
	LONG $0xc0468d48         // lea    rax, [rsi - 64]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x06e8c149         // shr    r8, 6
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1369
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_837:
	LONG $0x307de2c4; WORD $0x3a04             // vpmovzxbw    ymm0, oword [rdx + rdi]
	LONG $0x307de2c4; WORD $0x3a4c; BYTE $0x10 // vpmovzxbw    ymm1, oword [rdx + rdi + 16]
	LONG $0x307de2c4; WORD $0x3a54; BYTE $0x20 // vpmovzxbw    ymm2, oword [rdx + rdi + 32]
	LONG $0x307de2c4; WORD $0x3a5c; BYTE $0x30 // vpmovzxbw    ymm3, oword [rdx + rdi + 48]
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x2079             // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x4079             // vmovdqu    yword [rcx + 2*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x6079             // vmovdqu    yword [rcx + 2*rdi + 96], ymm3
	LONG $0x307de2c4; WORD $0x3a44; BYTE $0x40 // vpmovzxbw    ymm0, oword [rdx + rdi + 64]
	LONG $0x307de2c4; WORD $0x3a4c; BYTE $0x50 // vpmovzxbw    ymm1, oword [rdx + rdi + 80]
	LONG $0x307de2c4; WORD $0x3a54; BYTE $0x60 // vpmovzxbw    ymm2, oword [rdx + rdi + 96]
	LONG $0x307de2c4; WORD $0x3a5c; BYTE $0x70 // vpmovzxbw    ymm3, oword [rdx + rdi + 112]
	QUAD $0x00008079847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 128], ymm0
	QUAD $0x0000a0798c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 160], ymm1
	QUAD $0x0000c079947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 192], ymm2
	QUAD $0x0000e0799c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 224], ymm3
	LONG $0x80ef8348                           // sub    rdi, -128
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_837
	JMP  LBB0_1370

LBB0_838:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0xc0 // and    esi, -64
	LONG $0xc0468d48         // lea    rax, [rsi - 64]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x06e8c149         // shr    r8, 6
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1377
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_840:
	LONG $0x307de2c4; WORD $0x3a04             // vpmovzxbw    ymm0, oword [rdx + rdi]
	LONG $0x307de2c4; WORD $0x3a4c; BYTE $0x10 // vpmovzxbw    ymm1, oword [rdx + rdi + 16]
	LONG $0x307de2c4; WORD $0x3a54; BYTE $0x20 // vpmovzxbw    ymm2, oword [rdx + rdi + 32]
	LONG $0x307de2c4; WORD $0x3a5c; BYTE $0x30 // vpmovzxbw    ymm3, oword [rdx + rdi + 48]
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x2079             // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x4079             // vmovdqu    yword [rcx + 2*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x6079             // vmovdqu    yword [rcx + 2*rdi + 96], ymm3
	LONG $0x307de2c4; WORD $0x3a44; BYTE $0x40 // vpmovzxbw    ymm0, oword [rdx + rdi + 64]
	LONG $0x307de2c4; WORD $0x3a4c; BYTE $0x50 // vpmovzxbw    ymm1, oword [rdx + rdi + 80]
	LONG $0x307de2c4; WORD $0x3a54; BYTE $0x60 // vpmovzxbw    ymm2, oword [rdx + rdi + 96]
	LONG $0x307de2c4; WORD $0x3a5c; BYTE $0x70 // vpmovzxbw    ymm3, oword [rdx + rdi + 112]
	QUAD $0x00008079847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 128], ymm0
	QUAD $0x0000a0798c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 160], ymm1
	QUAD $0x0000c079947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 192], ymm2
	QUAD $0x0000e0799c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 2*rdi + 224], ymm3
	LONG $0x80ef8348                           // sub    rdi, -128
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_840
	JMP  LBB0_1378

LBB0_841:
	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   LBB0_1385
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_843:
	LONG $0x227de2c4; WORD $0x3a04             // vpmovsxbq    ymm0, dword [rdx + rdi]
	LONG $0x227de2c4; WORD $0x3a4c; BYTE $0x04 // vpmovsxbq    ymm1, dword [rdx + rdi + 4]
	LONG $0x227de2c4; WORD $0x3a54; BYTE $0x08 // vpmovsxbq    ymm2, dword [rdx + rdi + 8]
	LONG $0x227de2c4; WORD $0x3a5c; BYTE $0x0c // vpmovsxbq    ymm3, dword [rdx + rdi + 12]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x227de2c4; WORD $0x3a44; BYTE $0x10 // vpmovsxbq    ymm0, dword [rdx + rdi + 16]
	LONG $0x227de2c4; WORD $0x3a4c; BYTE $0x14 // vpmovsxbq    ymm1, dword [rdx + rdi + 20]
	LONG $0x227de2c4; WORD $0x3a54; BYTE $0x18 // vpmovsxbq    ymm2, dword [rdx + rdi + 24]
	LONG $0x227de2c4; WORD $0x3a5c; BYTE $0x1c // vpmovsxbq    ymm3, dword [rdx + rdi + 28]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_843
	JMP  LBB0_1386

LBB0_844:
	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   LBB0_1393
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_846:
	LONG $0x217de2c4; WORD $0x3a04             // vpmovsxbd    ymm0, qword [rdx + rdi]
	LONG $0x217de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovsxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x217de2c4; WORD $0x3a54; BYTE $0x10 // vpmovsxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x217de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovsxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	LONG $0x0411fcc5; BYTE $0xb9               // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9             // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9             // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9             // vmovups    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x217de2c4; WORD $0x3a44; BYTE $0x20 // vpmovsxbd    ymm0, qword [rdx + rdi + 32]
	LONG $0x217de2c4; WORD $0x3a4c; BYTE $0x28 // vpmovsxbd    ymm1, qword [rdx + rdi + 40]
	LONG $0x217de2c4; WORD $0x3a54; BYTE $0x30 // vpmovsxbd    ymm2, qword [rdx + rdi + 48]
	LONG $0x217de2c4; WORD $0x3a5c; BYTE $0x38 // vpmovsxbd    ymm3, qword [rdx + rdi + 56]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	QUAD $0x000080b98411fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c11fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b99411fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c11fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_846
	JMP  LBB0_1394

LBB0_847:
	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   LBB0_1401
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_849:
	LONG $0x0410fcc5; BYTE $0xfa         // vmovups    ymm0, yword [rdx + 8*rdi]
	LONG $0x4c10fcc5; WORD $0x20fa       // vmovups    ymm1, yword [rdx + 8*rdi + 32]
	LONG $0x5410fcc5; WORD $0x40fa       // vmovups    ymm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c10fcc5; WORD $0x60fa       // vmovups    ymm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xf9         // vmovups    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20f9       // vmovups    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40f9       // vmovups    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60f9       // vmovups    yword [rcx + 8*rdi + 96], ymm3
	QUAD $0x000080fa8410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa9410fdc5; BYTE $0x00 // vmovupd    ymm2, yword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9c10fdc5; BYTE $0x00 // vmovupd    ymm3, yword [rdx + 8*rdi + 224]
	QUAD $0x000080f98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_849
	JMP  LBB0_1402

LBB0_860:
	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   LBB0_1409
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_862:
	LONG $0x0410fcc5; BYTE $0xfa         // vmovups    ymm0, yword [rdx + 8*rdi]
	LONG $0x4c10fcc5; WORD $0x20fa       // vmovups    ymm1, yword [rdx + 8*rdi + 32]
	LONG $0x5410fcc5; WORD $0x40fa       // vmovups    ymm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c10fcc5; WORD $0x60fa       // vmovups    ymm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xf9         // vmovups    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20f9       // vmovups    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40f9       // vmovups    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60f9       // vmovups    yword [rcx + 8*rdi + 96], ymm3
	QUAD $0x000080fa8410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 8*rdi + 160]
	QUAD $0x0000c0fa9410fdc5; BYTE $0x00 // vmovupd    ymm2, yword [rdx + 8*rdi + 192]
	QUAD $0x0000e0fa9c10fdc5; BYTE $0x00 // vmovupd    ymm3, yword [rdx + 8*rdi + 224]
	QUAD $0x000080f98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_862
	JMP  LBB0_1410

LBB0_863:
	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   LBB0_1417
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_865:
	LONG $0x0410fcc5; BYTE $0xba         // vmovups    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c10fcc5; WORD $0x20ba       // vmovups    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x5410fcc5; WORD $0x40ba       // vmovups    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c10fcc5; WORD $0x60ba       // vmovups    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xb9         // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9       // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9       // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9       // vmovups    yword [rcx + 4*rdi + 96], ymm3
	QUAD $0x000080ba8410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0ba8c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0ba9410fdc5; BYTE $0x00 // vmovupd    ymm2, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0ba9c10fdc5; BYTE $0x00 // vmovupd    ymm3, yword [rdx + 4*rdi + 224]
	QUAD $0x000080b98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_865
	JMP  LBB0_1418

LBB0_866:
	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   LBB0_1425
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_868:
	LONG $0x327de2c4; WORD $0x3a04             // vpmovzxbq    ymm0, dword [rdx + rdi]
	LONG $0x327de2c4; WORD $0x3a4c; BYTE $0x04 // vpmovzxbq    ymm1, dword [rdx + rdi + 4]
	LONG $0x327de2c4; WORD $0x3a54; BYTE $0x08 // vpmovzxbq    ymm2, dword [rdx + rdi + 8]
	LONG $0x327de2c4; WORD $0x3a5c; BYTE $0x0c // vpmovzxbq    ymm3, dword [rdx + rdi + 12]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3
	LONG $0x327de2c4; WORD $0x3a44; BYTE $0x10 // vpmovzxbq    ymm0, dword [rdx + rdi + 16]
	LONG $0x327de2c4; WORD $0x3a4c; BYTE $0x14 // vpmovzxbq    ymm1, dword [rdx + rdi + 20]
	LONG $0x327de2c4; WORD $0x3a54; BYTE $0x18 // vpmovzxbq    ymm2, dword [rdx + rdi + 24]
	LONG $0x327de2c4; WORD $0x3a5c; BYTE $0x1c // vpmovzxbq    ymm3, dword [rdx + rdi + 28]
	QUAD $0x000080f9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 128], ymm0
	QUAD $0x0000a0f98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 160], ymm1
	QUAD $0x0000c0f9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 192], ymm2
	QUAD $0x0000e0f99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 8*rdi + 224], ymm3
	LONG $0x20c78348                           // add    rdi, 32
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_868
	JMP  LBB0_1426

LBB0_869:
	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   LBB0_1433
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_871:
	LONG $0x317de2c4; WORD $0x3a04             // vpmovzxbd    ymm0, qword [rdx + rdi]
	LONG $0x317de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovzxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x317de2c4; WORD $0x3a54; BYTE $0x10 // vpmovzxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x317de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovzxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	LONG $0x0411fcc5; BYTE $0xb9               // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9             // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9             // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9             // vmovups    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x317de2c4; WORD $0x3a44; BYTE $0x20 // vpmovzxbd    ymm0, qword [rdx + rdi + 32]
	LONG $0x317de2c4; WORD $0x3a4c; BYTE $0x28 // vpmovzxbd    ymm1, qword [rdx + rdi + 40]
	LONG $0x317de2c4; WORD $0x3a54; BYTE $0x30 // vpmovzxbd    ymm2, qword [rdx + rdi + 48]
	LONG $0x317de2c4; WORD $0x3a5c; BYTE $0x38 // vpmovzxbd    ymm3, qword [rdx + rdi + 56]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	QUAD $0x000080b98411fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c11fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b99411fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c11fcc5; BYTE $0x00       // vmovups    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_871
	JMP  LBB0_1434

LBB0_872:
	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   LBB0_1441
	WORD $0x894c; BYTE $0xc0     // mov    rax, r8
	LONG $0xfee08348             // and    rax, -2
	WORD $0xf748; BYTE $0xd8     // neg    rax
	WORD $0xff31                 // xor    edi, edi
	LONG $0x456ff9c5; BYTE $0x70 // vmovdqa    xmm0, oword 112[rbp] /* [rip + .LCPI0_12] */

LBB0_874:
	LONG $0x0c6ffac5; BYTE $0xba         // vmovdqu    xmm1, oword [rdx + 4*rdi]
	LONG $0x546ffac5; WORD $0x10ba       // vmovdqu    xmm2, oword [rdx + 4*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20ba       // vmovdqu    xmm3, oword [rdx + 4*rdi + 32]
	LONG $0x646ffac5; WORD $0x30ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5                     // vpunpckldq    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x50ba       // vmovdqu    xmm3, oword [rdx + 4*rdi + 80]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x40ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 64]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5                     // vpunpckldq    xmm3, xmm4, xmm3
	LONG $0x646ffac5; WORD $0x70ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 112]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0x6c6ffac5; WORD $0x60ba       // vmovdqu    xmm5, oword [rdx + 4*rdi + 96]
	LONG $0x0051e2c4; BYTE $0xe8         // vpshufb    xmm5, xmm5, xmm0
	LONG $0xe462d1c5                     // vpunpckldq    xmm4, xmm5, xmm4
	LONG $0x3865e3c4; WORD $0x01dc       // vinserti128    ymm3, ymm3, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01ca       // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xcb6cf5c5                     // vpunpcklqdq    ymm1, ymm1, ymm3
	LONG $0x00fde3c4; WORD $0xd8c9       // vpermq    ymm1, ymm1, 216
	LONG $0x0c7ffec5; BYTE $0x39         // vmovdqu    yword [rcx + rdi], ymm1
	QUAD $0x000080ba8c6ffac5; BYTE $0x00 // vmovdqu    xmm1, oword [rdx + 4*rdi + 128]
	QUAD $0x000090ba946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 4*rdi + 144]
	QUAD $0x0000a0ba9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 4*rdi + 160]
	QUAD $0x0000b0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 176]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5                     // vpunpckldq    xmm2, xmm3, xmm2
	QUAD $0x0000d0ba9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 4*rdi + 208]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	QUAD $0x0000c0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 192]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5                     // vpunpckldq    xmm3, xmm4, xmm3
	QUAD $0x0000f0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 240]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	QUAD $0x0000e0baac6ffac5; BYTE $0x00 // vmovdqu    xmm5, oword [rdx + 4*rdi + 224]
	LONG $0x0051e2c4; BYTE $0xe8         // vpshufb    xmm5, xmm5, xmm0
	LONG $0xe462d1c5                     // vpunpckldq    xmm4, xmm5, xmm4
	LONG $0x3865e3c4; WORD $0x01dc       // vinserti128    ymm3, ymm3, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01ca       // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xcb6cf5c5                     // vpunpcklqdq    ymm1, ymm1, ymm3
	LONG $0x00fde3c4; WORD $0xd8c9       // vpermq    ymm1, ymm1, 216
	LONG $0x4c7ffec5; WORD $0x2039       // vmovdqu    yword [rcx + rdi + 32], ymm1
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_874
	JMP  LBB0_1442

LBB0_875:
	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   LBB0_1449
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_877:
	LONG $0x04e6fdc5; BYTE $0xfa         // vcvttpd2dq    xmm0, yword [rdx + 8*rdi]
	LONG $0x2b79e2c4; BYTE $0xc0         // vpackusdw    xmm0, xmm0, xmm0
	LONG $0x4ce6fdc5; WORD $0x20fa       // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0xc067f9c5                     // vpackuswb    xmm0, xmm0, xmm0
	LONG $0x2b71e2c4; BYTE $0xc9         // vpackusdw    xmm1, xmm1, xmm1
	LONG $0xc967f1c5                     // vpackuswb    xmm1, xmm1, xmm1
	LONG $0xc162f9c5                     // vpunpckldq    xmm0, xmm0, xmm1
	LONG $0x4ce6fdc5; WORD $0x40fa       // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 64]
	LONG $0x2b71e2c4; BYTE $0xc9         // vpackusdw    xmm1, xmm1, xmm1
	LONG $0xc967f1c5                     // vpackuswb    xmm1, xmm1, xmm1
	LONG $0x54e6fdc5; WORD $0x60fa       // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 96]
	LONG $0x2b69e2c4; BYTE $0xd2         // vpackusdw    xmm2, xmm2, xmm2
	LONG $0xd267e9c5                     // vpackuswb    xmm2, xmm2, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0xc16cf9c5                     // vpunpcklqdq    xmm0, xmm0, xmm1
	LONG $0x047ffac5; BYTE $0x39         // vmovdqu    oword [rcx + rdi], xmm0
	QUAD $0x000080fa84e6fdc5; BYTE $0x00 // vcvttpd2dq    xmm0, yword [rdx + 8*rdi + 128]
	QUAD $0x0000a0fa8ce6fdc5; BYTE $0x00 // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 160]
	LONG $0x2b79e2c4; BYTE $0xc0         // vpackusdw    xmm0, xmm0, xmm0
	LONG $0xc067f9c5                     // vpackuswb    xmm0, xmm0, xmm0
	LONG $0x2b71e2c4; BYTE $0xc9         // vpackusdw    xmm1, xmm1, xmm1
	LONG $0xc967f1c5                     // vpackuswb    xmm1, xmm1, xmm1
	LONG $0xc162f9c5                     // vpunpckldq    xmm0, xmm0, xmm1
	QUAD $0x0000c0fa8ce6fdc5; BYTE $0x00 // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 192]
	LONG $0x2b71e2c4; BYTE $0xc9         // vpackusdw    xmm1, xmm1, xmm1
	QUAD $0x0000e0fa94e6fdc5; BYTE $0x00 // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 224]
	LONG $0xc967f1c5                     // vpackuswb    xmm1, xmm1, xmm1
	LONG $0x2b69e2c4; BYTE $0xd2         // vpackusdw    xmm2, xmm2, xmm2
	LONG $0xd267e9c5                     // vpackuswb    xmm2, xmm2, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0xc16cf9c5                     // vpunpcklqdq    xmm0, xmm0, xmm1
	LONG $0x447ffac5; WORD $0x1039       // vmovdqu    oword [rcx + rdi + 16], xmm0
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_877
	JMP  LBB0_1450

LBB0_878:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0x80 // and    esi, -128
	LONG $0x80468d48         // lea    rax, [rsi - 128]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x07e8c149         // shr    r8, 7
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1457
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_880:
	LONG $0x0410fcc5; BYTE $0x3a               // vmovups    ymm0, yword [rdx + rdi]
	LONG $0x4c10fcc5; WORD $0x203a             // vmovups    ymm1, yword [rdx + rdi + 32]
	LONG $0x5410fcc5; WORD $0x403a             // vmovups    ymm2, yword [rdx + rdi + 64]
	LONG $0x5c10fcc5; WORD $0x603a             // vmovups    ymm3, yword [rdx + rdi + 96]
	LONG $0x0411fcc5; BYTE $0x39               // vmovups    yword [rcx + rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x2039             // vmovups    yword [rcx + rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x4039             // vmovups    yword [rcx + rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x6039             // vmovups    yword [rcx + rdi + 96], ymm3
	QUAD $0x0000803a8410fdc5; BYTE $0x00       // vmovupd    ymm0, yword [rdx + rdi + 128]
	QUAD $0x0000a03a8c10fdc5; BYTE $0x00       // vmovupd    ymm1, yword [rdx + rdi + 160]
	QUAD $0x0000c03a9410fdc5; BYTE $0x00       // vmovupd    ymm2, yword [rdx + rdi + 192]
	QUAD $0x0000e03a9c10fdc5; BYTE $0x00       // vmovupd    ymm3, yword [rdx + rdi + 224]
	QUAD $0x000080398411fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 128], ymm0
	QUAD $0x0000a0398c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 160], ymm1
	QUAD $0x0000c0399411fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 192], ymm2
	QUAD $0x0000e0399c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 224], ymm3
	LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add    rdi, 256
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_880
	JMP  LBB0_1458

LBB0_881:
	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   LBB0_1465
	WORD $0x894c; BYTE $0xc0     // mov    rax, r8
	LONG $0xfee08348             // and    rax, -2
	WORD $0xf748; BYTE $0xd8     // neg    rax
	WORD $0xff31                 // xor    edi, edi
	LONG $0x456ff9c5; BYTE $0x40 // vmovdqa    xmm0, oword 64[rbp] /* [rip + .LCPI0_4] */

LBB0_883:
	LONG $0x0c6ffac5; BYTE $0xfa         // vmovdqu    xmm1, oword [rdx + 8*rdi]
	LONG $0x546ffac5; WORD $0x10fa       // vmovdqu    xmm2, oword [rdx + 8*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 32]
	LONG $0x646ffac5; WORD $0x30fa       // vmovdqu    xmm4, oword [rdx + 8*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5                     // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x546ffac5; WORD $0x50fa       // vmovdqu    xmm2, oword [rdx + 8*rdi + 80]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x5c6ffac5; WORD $0x40fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 64]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x70fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 112]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x60fa       // vmovdqu    xmm4, oword [rdx + 8*rdi + 96]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb61d9c5                     // vpunpcklwd    xmm3, xmm4, xmm3
	LONG $0xd362e9c5                     // vpunpckldq    xmm2, xmm2, xmm3
	LONG $0xca6cf1c5                     // vpunpcklqdq    xmm1, xmm1, xmm2
	LONG $0x0c7ffac5; BYTE $0x39         // vmovdqu    oword [rcx + rdi], xmm1
	QUAD $0x000080fa8c6ffac5; BYTE $0x00 // vmovdqu    xmm1, oword [rdx + 8*rdi + 128]
	QUAD $0x000090fa946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 8*rdi + 144]
	QUAD $0x0000a0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 160]
	QUAD $0x0000b0faa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 8*rdi + 176]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5                     // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	QUAD $0x0000d0fa946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 8*rdi + 208]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	QUAD $0x0000c0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 192]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	QUAD $0x0000f0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 240]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	QUAD $0x0000e0faa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 8*rdi + 224]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb61d9c5                     // vpunpcklwd    xmm3, xmm4, xmm3
	LONG $0xd362e9c5                     // vpunpckldq    xmm2, xmm2, xmm3
	LONG $0xca6cf1c5                     // vpunpcklqdq    xmm1, xmm1, xmm2
	LONG $0x4c7ffac5; WORD $0x1039       // vmovdqu    oword [rcx + rdi + 16], xmm1
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_883
	JMP  LBB0_1466

LBB0_884:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0xc0 // and    esi, -64
	LONG $0xc0468d48         // lea    rax, [rsi - 64]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x06e8c149         // shr    r8, 6
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1473
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	QUAD $0x000000a0856ffdc5 // vmovdqa    ymm0, yword 160[rbp] /* [rip + .LCPI0_16] */

LBB0_886:
	LONG $0x0cdbfdc5; BYTE $0x7a         // vpand    ymm1, ymm0, yword [rdx + 2*rdi]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5                     // vpackuswb    xmm1, xmm1, xmm2
	LONG $0x54dbfdc5; WORD $0x207a       // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 32]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5                     // vpackuswb    xmm2, xmm2, xmm3
	LONG $0x5cdbfdc5; WORD $0x407a       // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 64]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5                     // vpackuswb    xmm3, xmm3, xmm4
	LONG $0x64dbfdc5; WORD $0x607a       // vpand    ymm4, ymm0, yword [rdx + 2*rdi + 96]
	LONG $0x397de3c4; WORD $0x01e5       // vextracti128    xmm5, ymm4, 1
	LONG $0xe567d9c5                     // vpackuswb    xmm4, xmm4, xmm5
	LONG $0x0c7ffac5; BYTE $0x39         // vmovdqu    oword [rcx + rdi], xmm1
	LONG $0x547ffac5; WORD $0x1039       // vmovdqu    oword [rcx + rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2039       // vmovdqu    oword [rcx + rdi + 32], xmm3
	LONG $0x647ffac5; WORD $0x3039       // vmovdqu    oword [rcx + rdi + 48], xmm4
	QUAD $0x0000807a8cdbfdc5; BYTE $0x00 // vpand    ymm1, ymm0, yword [rdx + 2*rdi + 128]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5                     // vpackuswb    xmm1, xmm1, xmm2
	QUAD $0x0000a07a94dbfdc5; BYTE $0x00 // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 160]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5                     // vpackuswb    xmm2, xmm2, xmm3
	QUAD $0x0000c07a9cdbfdc5; BYTE $0x00 // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 192]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5                     // vpackuswb    xmm3, xmm3, xmm4
	QUAD $0x0000e07aa4dbfdc5; BYTE $0x00 // vpand    ymm4, ymm0, yword [rdx + 2*rdi + 224]
	LONG $0x397de3c4; WORD $0x01e5       // vextracti128    xmm5, ymm4, 1
	LONG $0xe567d9c5                     // vpackuswb    xmm4, xmm4, xmm5
	LONG $0x4c7ffac5; WORD $0x4039       // vmovdqu    oword [rcx + rdi + 64], xmm1
	LONG $0x547ffac5; WORD $0x5039       // vmovdqu    oword [rcx + rdi + 80], xmm2
	LONG $0x5c7ffac5; WORD $0x6039       // vmovdqu    oword [rcx + rdi + 96], xmm3
	LONG $0x647ffac5; WORD $0x7039       // vmovdqu    oword [rcx + rdi + 112], xmm4
	LONG $0x80ef8348                     // sub    rdi, -128
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_886
	JMP  LBB0_1474

LBB0_887:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0xc0 // and    esi, -64
	LONG $0xc0468d48         // lea    rax, [rsi - 64]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x06e8c149         // shr    r8, 6
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1481
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi
	QUAD $0x000000a0856ffdc5 // vmovdqa    ymm0, yword 160[rbp] /* [rip + .LCPI0_16] */

LBB0_889:
	LONG $0x0cdbfdc5; BYTE $0x7a         // vpand    ymm1, ymm0, yword [rdx + 2*rdi]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5                     // vpackuswb    xmm1, xmm1, xmm2
	LONG $0x54dbfdc5; WORD $0x207a       // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 32]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5                     // vpackuswb    xmm2, xmm2, xmm3
	LONG $0x5cdbfdc5; WORD $0x407a       // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 64]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5                     // vpackuswb    xmm3, xmm3, xmm4
	LONG $0x64dbfdc5; WORD $0x607a       // vpand    ymm4, ymm0, yword [rdx + 2*rdi + 96]
	LONG $0x397de3c4; WORD $0x01e5       // vextracti128    xmm5, ymm4, 1
	LONG $0xe567d9c5                     // vpackuswb    xmm4, xmm4, xmm5
	LONG $0x0c7ffac5; BYTE $0x39         // vmovdqu    oword [rcx + rdi], xmm1
	LONG $0x547ffac5; WORD $0x1039       // vmovdqu    oword [rcx + rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2039       // vmovdqu    oword [rcx + rdi + 32], xmm3
	LONG $0x647ffac5; WORD $0x3039       // vmovdqu    oword [rcx + rdi + 48], xmm4
	QUAD $0x0000807a8cdbfdc5; BYTE $0x00 // vpand    ymm1, ymm0, yword [rdx + 2*rdi + 128]
	LONG $0x397de3c4; WORD $0x01ca       // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5                     // vpackuswb    xmm1, xmm1, xmm2
	QUAD $0x0000a07a94dbfdc5; BYTE $0x00 // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 160]
	LONG $0x397de3c4; WORD $0x01d3       // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5                     // vpackuswb    xmm2, xmm2, xmm3
	QUAD $0x0000c07a9cdbfdc5; BYTE $0x00 // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 192]
	LONG $0x397de3c4; WORD $0x01dc       // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5                     // vpackuswb    xmm3, xmm3, xmm4
	QUAD $0x0000e07aa4dbfdc5; BYTE $0x00 // vpand    ymm4, ymm0, yword [rdx + 2*rdi + 224]
	LONG $0x397de3c4; WORD $0x01e5       // vextracti128    xmm5, ymm4, 1
	LONG $0xe567d9c5                     // vpackuswb    xmm4, xmm4, xmm5
	LONG $0x4c7ffac5; WORD $0x4039       // vmovdqu    oword [rcx + rdi + 64], xmm1
	LONG $0x547ffac5; WORD $0x5039       // vmovdqu    oword [rcx + rdi + 80], xmm2
	LONG $0x5c7ffac5; WORD $0x6039       // vmovdqu    oword [rcx + rdi + 96], xmm3
	LONG $0x647ffac5; WORD $0x7039       // vmovdqu    oword [rcx + rdi + 112], xmm4
	LONG $0x80ef8348                     // sub    rdi, -128
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_889
	JMP  LBB0_1482

LBB0_890:
	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   LBB0_1489
	WORD $0x894c; BYTE $0xc0     // mov    rax, r8
	LONG $0xfee08348             // and    rax, -2
	WORD $0xf748; BYTE $0xd8     // neg    rax
	WORD $0xff31                 // xor    edi, edi
	LONG $0x456ff9c5; BYTE $0x40 // vmovdqa    xmm0, oword 64[rbp] /* [rip + .LCPI0_4] */

LBB0_892:
	LONG $0x0c6ffac5; BYTE $0xfa         // vmovdqu    xmm1, oword [rdx + 8*rdi]
	LONG $0x546ffac5; WORD $0x10fa       // vmovdqu    xmm2, oword [rdx + 8*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 32]
	LONG $0x646ffac5; WORD $0x30fa       // vmovdqu    xmm4, oword [rdx + 8*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5                     // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x546ffac5; WORD $0x50fa       // vmovdqu    xmm2, oword [rdx + 8*rdi + 80]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x5c6ffac5; WORD $0x40fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 64]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x70fa       // vmovdqu    xmm3, oword [rdx + 8*rdi + 112]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x60fa       // vmovdqu    xmm4, oword [rdx + 8*rdi + 96]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb61d9c5                     // vpunpcklwd    xmm3, xmm4, xmm3
	LONG $0xd362e9c5                     // vpunpckldq    xmm2, xmm2, xmm3
	LONG $0xca6cf1c5                     // vpunpcklqdq    xmm1, xmm1, xmm2
	LONG $0x0c7ffac5; BYTE $0x39         // vmovdqu    oword [rcx + rdi], xmm1
	QUAD $0x000080fa8c6ffac5; BYTE $0x00 // vmovdqu    xmm1, oword [rdx + 8*rdi + 128]
	QUAD $0x000090fa946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 8*rdi + 144]
	QUAD $0x0000a0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 160]
	QUAD $0x0000b0faa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 8*rdi + 176]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5                     // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	QUAD $0x0000d0fa946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 8*rdi + 208]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	QUAD $0x0000c0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 192]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5                     // vpunpcklwd    xmm2, xmm3, xmm2
	QUAD $0x0000f0fa9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 8*rdi + 240]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	QUAD $0x0000e0faa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 8*rdi + 224]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb61d9c5                     // vpunpcklwd    xmm3, xmm4, xmm3
	LONG $0xd362e9c5                     // vpunpckldq    xmm2, xmm2, xmm3
	LONG $0xca6cf1c5                     // vpunpcklqdq    xmm1, xmm1, xmm2
	LONG $0x4c7ffac5; WORD $0x1039       // vmovdqu    oword [rcx + rdi + 16], xmm1
	LONG $0x20c78348                     // add    rdi, 32
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_892
	JMP  LBB0_1490

LBB0_893:
	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   LBB0_1497
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_895:
	LONG $0x045bfec5; BYTE $0xba         // vcvttps2dq    ymm0, yword [rdx + 4*rdi]
	LONG $0x397de3c4; WORD $0x01c1       // vextracti128    xmm1, ymm0, 1
	LONG $0x545bfec5; WORD $0x20ba       // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 32]
	LONG $0xc16bf9c5                     // vpackssdw    xmm0, xmm0, xmm1
	LONG $0x397de3c4; WORD $0x01d1       // vextracti128    xmm1, ymm2, 1
	LONG $0x5c5bfec5; WORD $0x40ba       // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 64]
	LONG $0xc96be9c5                     // vpackssdw    xmm1, xmm2, xmm1
	LONG $0x397de3c4; WORD $0x01da       // vextracti128    xmm2, ymm3, 1
	LONG $0x645bfec5; WORD $0x60ba       // vcvttps2dq    ymm4, yword [rdx + 4*rdi + 96]
	LONG $0xd26be1c5                     // vpackssdw    xmm2, xmm3, xmm2
	LONG $0x397de3c4; WORD $0x01e3       // vextracti128    xmm3, ymm4, 1
	LONG $0xdb6bd9c5                     // vpackssdw    xmm3, xmm4, xmm3
	LONG $0x386de3c4; WORD $0x01d3       // vinserti128    ymm2, ymm2, xmm3, 1
	LONG $0xd067edc5                     // vpackuswb    ymm2, ymm2, ymm0
	LONG $0x387de3c4; WORD $0x01c1       // vinserti128    ymm0, ymm0, xmm1, 1
	LONG $0xc067fdc5                     // vpackuswb    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5                     // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0       // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x39         // vmovdqu    yword [rcx + rdi], ymm0
	QUAD $0x000080ba845bfec5; BYTE $0x00 // vcvttps2dq    ymm0, yword [rdx + 4*rdi + 128]
	LONG $0x397de3c4; WORD $0x01c1       // vextracti128    xmm1, ymm0, 1
	QUAD $0x0000a0ba945bfec5; BYTE $0x00 // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 160]
	LONG $0xc16bf9c5                     // vpackssdw    xmm0, xmm0, xmm1
	LONG $0x397de3c4; WORD $0x01d1       // vextracti128    xmm1, ymm2, 1
	QUAD $0x0000c0ba9c5bfec5; BYTE $0x00 // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 192]
	LONG $0xc96be9c5                     // vpackssdw    xmm1, xmm2, xmm1
	LONG $0x397de3c4; WORD $0x01da       // vextracti128    xmm2, ymm3, 1
	QUAD $0x0000e0baa45bfec5; BYTE $0x00 // vcvttps2dq    ymm4, yword [rdx + 4*rdi + 224]
	LONG $0xd26be1c5                     // vpackssdw    xmm2, xmm3, xmm2
	LONG $0x397de3c4; WORD $0x01e3       // vextracti128    xmm3, ymm4, 1
	LONG $0xdb6bd9c5                     // vpackssdw    xmm3, xmm4, xmm3
	LONG $0x386de3c4; WORD $0x01d3       // vinserti128    ymm2, ymm2, xmm3, 1
	LONG $0xd067edc5                     // vpackuswb    ymm2, ymm2, ymm0
	LONG $0x387de3c4; WORD $0x01c1       // vinserti128    ymm0, ymm0, xmm1, 1
	LONG $0xc067fdc5                     // vpackuswb    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5                     // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0       // vpermq    ymm0, ymm0, 216
	LONG $0x447ffec5; WORD $0x2039       // vmovdqu    yword [rcx + rdi + 32], ymm0
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_895
	JMP  LBB0_1498

LBB0_896:
	WORD $0x8944; BYTE $0xce // mov    esi, r9d
	WORD $0xe683; BYTE $0x80 // and    esi, -128
	LONG $0x80468d48         // lea    rax, [rsi - 128]
	WORD $0x8949; BYTE $0xc0 // mov    r8, rax
	LONG $0x07e8c149         // shr    r8, 7
	LONG $0x01c08349         // add    r8, 1
	WORD $0x8548; BYTE $0xc0 // test    rax, rax
	JE   LBB0_1505
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_898:
	LONG $0x0410fcc5; BYTE $0x3a               // vmovups    ymm0, yword [rdx + rdi]
	LONG $0x4c10fcc5; WORD $0x203a             // vmovups    ymm1, yword [rdx + rdi + 32]
	LONG $0x5410fcc5; WORD $0x403a             // vmovups    ymm2, yword [rdx + rdi + 64]
	LONG $0x5c10fcc5; WORD $0x603a             // vmovups    ymm3, yword [rdx + rdi + 96]
	LONG $0x0411fcc5; BYTE $0x39               // vmovups    yword [rcx + rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x2039             // vmovups    yword [rcx + rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x4039             // vmovups    yword [rcx + rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x6039             // vmovups    yword [rcx + rdi + 96], ymm3
	QUAD $0x0000803a8410fdc5; BYTE $0x00       // vmovupd    ymm0, yword [rdx + rdi + 128]
	QUAD $0x0000a03a8c10fdc5; BYTE $0x00       // vmovupd    ymm1, yword [rdx + rdi + 160]
	QUAD $0x0000c03a9410fdc5; BYTE $0x00       // vmovupd    ymm2, yword [rdx + rdi + 192]
	QUAD $0x0000e03a9c10fdc5; BYTE $0x00       // vmovupd    ymm3, yword [rdx + rdi + 224]
	QUAD $0x000080398411fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 128], ymm0
	QUAD $0x0000a0398c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 160], ymm1
	QUAD $0x0000c0399411fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 192], ymm2
	QUAD $0x0000e0399c11fdc5; BYTE $0x00       // vmovupd    yword [rcx + rdi + 224], ymm3
	LONG $0x00c78148; WORD $0x0001; BYTE $0x00 // add    rdi, 256
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_898
	JMP  LBB0_1506

LBB0_899:
	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   LBB0_1513
	WORD $0x894c; BYTE $0xc0     // mov    rax, r8
	LONG $0xfee08348             // and    rax, -2
	WORD $0xf748; BYTE $0xd8     // neg    rax
	WORD $0xff31                 // xor    edi, edi
	LONG $0x456ff9c5; BYTE $0x70 // vmovdqa    xmm0, oword 112[rbp] /* [rip + .LCPI0_12] */

LBB0_901:
	LONG $0x0c6ffac5; BYTE $0xba         // vmovdqu    xmm1, oword [rdx + 4*rdi]
	LONG $0x546ffac5; WORD $0x10ba       // vmovdqu    xmm2, oword [rdx + 4*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20ba       // vmovdqu    xmm3, oword [rdx + 4*rdi + 32]
	LONG $0x646ffac5; WORD $0x30ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5                     // vpunpckldq    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x50ba       // vmovdqu    xmm3, oword [rdx + 4*rdi + 80]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x40ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 64]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5                     // vpunpckldq    xmm3, xmm4, xmm3
	LONG $0x646ffac5; WORD $0x70ba       // vmovdqu    xmm4, oword [rdx + 4*rdi + 112]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0x6c6ffac5; WORD $0x60ba       // vmovdqu    xmm5, oword [rdx + 4*rdi + 96]
	LONG $0x0051e2c4; BYTE $0xe8         // vpshufb    xmm5, xmm5, xmm0
	LONG $0xe462d1c5                     // vpunpckldq    xmm4, xmm5, xmm4
	LONG $0x3865e3c4; WORD $0x01dc       // vinserti128    ymm3, ymm3, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01ca       // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xcb6cf5c5                     // vpunpcklqdq    ymm1, ymm1, ymm3
	LONG $0x00fde3c4; WORD $0xd8c9       // vpermq    ymm1, ymm1, 216
	LONG $0x0c7ffec5; BYTE $0x39         // vmovdqu    yword [rcx + rdi], ymm1
	QUAD $0x000080ba8c6ffac5; BYTE $0x00 // vmovdqu    xmm1, oword [rdx + 4*rdi + 128]
	QUAD $0x000090ba946ffac5; BYTE $0x00 // vmovdqu    xmm2, oword [rdx + 4*rdi + 144]
	QUAD $0x0000a0ba9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 4*rdi + 160]
	QUAD $0x0000b0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 176]
	LONG $0x0069e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8         // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5                     // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0         // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5                     // vpunpckldq    xmm2, xmm3, xmm2
	QUAD $0x0000d0ba9c6ffac5; BYTE $0x00 // vmovdqu    xmm3, oword [rdx + 4*rdi + 208]
	LONG $0x0061e2c4; BYTE $0xd8         // vpshufb    xmm3, xmm3, xmm0
	QUAD $0x0000c0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 192]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5                     // vpunpckldq    xmm3, xmm4, xmm3
	QUAD $0x0000f0baa46ffac5; BYTE $0x00 // vmovdqu    xmm4, oword [rdx + 4*rdi + 240]
	LONG $0x0059e2c4; BYTE $0xe0         // vpshufb    xmm4, xmm4, xmm0
	QUAD $0x0000e0baac6ffac5; BYTE $0x00 // vmovdqu    xmm5, oword [rdx + 4*rdi + 224]
	LONG $0x0051e2c4; BYTE $0xe8         // vpshufb    xmm5, xmm5, xmm0
	LONG $0xe462d1c5                     // vpunpckldq    xmm4, xmm5, xmm4
	LONG $0x3865e3c4; WORD $0x01dc       // vinserti128    ymm3, ymm3, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01ca       // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xcb6cf5c5                     // vpunpcklqdq    ymm1, ymm1, ymm3
	LONG $0x00fde3c4; WORD $0xd8c9       // vpermq    ymm1, ymm1, 216
	LONG $0x4c7ffec5; WORD $0x2039       // vmovdqu    yword [rcx + rdi + 32], ymm1
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_901
	JMP  LBB0_1514

LBB0_902:
	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   LBB0_1521
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_904:
	LONG $0x0410fcc5; BYTE $0xba         // vmovups    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c10fcc5; WORD $0x20ba       // vmovups    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x5410fcc5; WORD $0x40ba       // vmovups    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c10fcc5; WORD $0x60ba       // vmovups    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xb9         // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9       // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9       // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9       // vmovups    yword [rcx + 4*rdi + 96], ymm3
	QUAD $0x000080ba8410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0ba8c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0ba9410fdc5; BYTE $0x00 // vmovupd    ymm2, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0ba9c10fdc5; BYTE $0x00 // vmovupd    ymm3, yword [rdx + 4*rdi + 224]
	QUAD $0x000080b98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_904
	JMP  LBB0_1522

LBB0_905:
	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   LBB0_1529
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_907:
	LONG $0x217de2c4; WORD $0x3a04             // vpmovsxbd    ymm0, qword [rdx + rdi]
	LONG $0x217de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovsxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x217de2c4; WORD $0x3a54; BYTE $0x10 // vpmovsxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x217de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovsxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x217de2c4; WORD $0x3a44; BYTE $0x20 // vpmovsxbd    ymm0, qword [rdx + rdi + 32]
	LONG $0x217de2c4; WORD $0x3a4c; BYTE $0x28 // vpmovsxbd    ymm1, qword [rdx + rdi + 40]
	LONG $0x217de2c4; WORD $0x3a54; BYTE $0x30 // vpmovsxbd    ymm2, qword [rdx + rdi + 48]
	LONG $0x217de2c4; WORD $0x3a5c; BYTE $0x38 // vpmovsxbd    ymm3, qword [rdx + rdi + 56]
	QUAD $0x000080b9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_907
	JMP  LBB0_1530

LBB0_908:
	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   LBB0_1537
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_910:
	LONG $0x317de2c4; WORD $0x3a04             // vpmovzxbd    ymm0, qword [rdx + rdi]
	LONG $0x317de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovzxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x317de2c4; WORD $0x3a54; BYTE $0x10 // vpmovzxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x317de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovzxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3
	LONG $0x317de2c4; WORD $0x3a44; BYTE $0x20 // vpmovzxbd    ymm0, qword [rdx + rdi + 32]
	LONG $0x317de2c4; WORD $0x3a4c; BYTE $0x28 // vpmovzxbd    ymm1, qword [rdx + rdi + 40]
	LONG $0x317de2c4; WORD $0x3a54; BYTE $0x30 // vpmovzxbd    ymm2, qword [rdx + rdi + 48]
	LONG $0x317de2c4; WORD $0x3a5c; BYTE $0x38 // vpmovzxbd    ymm3, qword [rdx + rdi + 56]
	QUAD $0x000080b9847ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b9947ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c7ffec5; BYTE $0x00       // vmovdqu    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                           // add    rdi, 64
	LONG $0x02c08348                           // add    rax, 2
	JNE  LBB0_910
	JMP  LBB0_1538

LBB0_911:
	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   LBB0_1545
	WORD $0x894c; BYTE $0xc0 // mov    rax, r8
	LONG $0xfee08348         // and    rax, -2
	WORD $0xf748; BYTE $0xd8 // neg    rax
	WORD $0xff31             // xor    edi, edi

LBB0_913:
	LONG $0x0410fcc5; BYTE $0xba         // vmovups    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c10fcc5; WORD $0x20ba       // vmovups    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x5410fcc5; WORD $0x40ba       // vmovups    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c10fcc5; WORD $0x60ba       // vmovups    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xb9         // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9       // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9       // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9       // vmovups    yword [rcx + 4*rdi + 96], ymm3
	QUAD $0x000080ba8410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 4*rdi + 128]
	QUAD $0x0000a0ba8c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 4*rdi + 160]
	QUAD $0x0000c0ba9410fdc5; BYTE $0x00 // vmovupd    ymm2, yword [rdx + 4*rdi + 192]
	QUAD $0x0000e0ba9c10fdc5; BYTE $0x00 // vmovupd    ymm3, yword [rdx + 4*rdi + 224]
	QUAD $0x000080b98411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 128], ymm0
	QUAD $0x0000a0b98c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 160], ymm1
	QUAD $0x0000c0b99411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 192], ymm2
	QUAD $0x0000e0b99c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 4*rdi + 224], ymm3
	LONG $0x40c78348                     // add    rdi, 64
	LONG $0x02c08348                     // add    rax, 2
	JNE  LBB0_913
	JMP  LBB0_1546

LBB0_793:
	LONG $0xfce28349             // and    r10, -4
	WORD $0xf749; BYTE $0xda     // neg    r10
	WORD $0xc031                 // xor    eax, eax
	LONG $0x4510fbc5; BYTE $0x00 // vmovsd    xmm0, qword 0[rbp] /* [rip + .LCPI0_0] */

LBB0_794:
	LONG $0x4c10fbc5; WORD $0x08c2 // vmovsd    xmm1, qword [rdx + 8*rax + 8]
	LONG $0xd05cf3c5               // vsubsd    xmm2, xmm1, xmm0
	LONG $0x2cfbe1c4; BYTE $0xda   // vcvttsd2si    rbx, xmm2
	LONG $0x1410fbc5; BYTE $0xc2   // vmovsd    xmm2, qword [rdx + 8*rax]
	WORD $0x314c; BYTE $0xdb       // xor    rbx, r11
	LONG $0x2cfbe1c4; BYTE $0xf1   // vcvttsd2si    rsi, xmm1
	LONG $0xc82ef9c5               // vucomisd    xmm1, xmm0
	LONG $0xf3430f48               // cmovae    rsi, rbx
	LONG $0xc85cebc5               // vsubsd    xmm1, xmm2, xmm0
	LONG $0x2cfbe1c4; BYTE $0xd9   // vcvttsd2si    rbx, xmm1
	WORD $0x314c; BYTE $0xdb       // xor    rbx, r11
	LONG $0x2cfbe1c4; BYTE $0xfa   // vcvttsd2si    rdi, xmm2
	LONG $0xd02ef9c5               // vucomisd    xmm2, xmm0
	LONG $0x6ef9e1c4; BYTE $0xce   // vmovq    xmm1, rsi
	LONG $0xfb430f48               // cmovae    rdi, rbx
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0x5c10fbc5; WORD $0x18c2 // vmovsd    xmm3, qword [rdx + 8*rax + 24]
	LONG $0xe05ce3c5               // vsubsd    xmm4, xmm3, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf4   // vcvttsd2si    rsi, xmm4
	LONG $0xc96ce9c5               // vpunpcklqdq    xmm1, xmm2, xmm1
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xfb   // vcvttsd2si    rdi, xmm3
	LONG $0xd82ef9c5               // vucomisd    xmm3, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x5410fbc5; WORD $0x10c2 // vmovsd    xmm2, qword [rdx + 8*rax + 16]
	LONG $0xd85cebc5               // vsubsd    xmm3, xmm2, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf3   // vcvttsd2si    rsi, xmm3
	LONG $0x6ef9e1c4; BYTE $0xdf   // vmovq    xmm3, rdi
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xfa   // vcvttsd2si    rdi, xmm2
	LONG $0xd02ef9c5               // vucomisd    xmm2, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0xd36ce9c5               // vpunpcklqdq    xmm2, xmm2, xmm3
	LONG $0x547ffac5; WORD $0x10c1 // vmovdqu    oword [rcx + 8*rax + 16], xmm2
	LONG $0x0c7ffac5; BYTE $0xc1   // vmovdqu    oword [rcx + 8*rax], xmm1
	LONG $0x4c10fbc5; WORD $0x28c2 // vmovsd    xmm1, qword [rdx + 8*rax + 40]
	LONG $0xd05cf3c5               // vsubsd    xmm2, xmm1, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf2   // vcvttsd2si    rsi, xmm2
	LONG $0x5410fbc5; WORD $0x20c2 // vmovsd    xmm2, qword [rdx + 8*rax + 32]
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xf9   // vcvttsd2si    rdi, xmm1
	LONG $0xc82ef9c5               // vucomisd    xmm1, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0xc85cebc5               // vsubsd    xmm1, xmm2, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf1   // vcvttsd2si    rsi, xmm1
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xda   // vcvttsd2si    rbx, xmm2
	LONG $0xd02ef9c5               // vucomisd    xmm2, xmm0
	LONG $0x6ef9e1c4; BYTE $0xcf   // vmovq    xmm1, rdi
	LONG $0xde430f48               // cmovae    rbx, rsi
	LONG $0x6ef9e1c4; BYTE $0xd3   // vmovq    xmm2, rbx
	LONG $0x5c10fbc5; WORD $0x38c2 // vmovsd    xmm3, qword [rdx + 8*rax + 56]
	LONG $0xe05ce3c5               // vsubsd    xmm4, xmm3, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf4   // vcvttsd2si    rsi, xmm4
	LONG $0xc96ce9c5               // vpunpcklqdq    xmm1, xmm2, xmm1
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xfb   // vcvttsd2si    rdi, xmm3
	LONG $0xd82ef9c5               // vucomisd    xmm3, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x5410fbc5; WORD $0x30c2 // vmovsd    xmm2, qword [rdx + 8*rax + 48]
	LONG $0xd85cebc5               // vsubsd    xmm3, xmm2, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf3   // vcvttsd2si    rsi, xmm3
	LONG $0x6ef9e1c4; BYTE $0xdf   // vmovq    xmm3, rdi
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xfa   // vcvttsd2si    rdi, xmm2
	LONG $0xd02ef9c5               // vucomisd    xmm2, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0xd36ce9c5               // vpunpcklqdq    xmm2, xmm2, xmm3
	LONG $0x547ffac5; WORD $0x30c1 // vmovdqu    oword [rcx + 8*rax + 48], xmm2
	LONG $0x4c7ffac5; WORD $0x20c1 // vmovdqu    oword [rcx + 8*rax + 32], xmm1
	LONG $0x4c10fbc5; WORD $0x48c2 // vmovsd    xmm1, qword [rdx + 8*rax + 72]
	LONG $0xd05cf3c5               // vsubsd    xmm2, xmm1, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf2   // vcvttsd2si    rsi, xmm2
	LONG $0x5410fbc5; WORD $0x40c2 // vmovsd    xmm2, qword [rdx + 8*rax + 64]
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xf9   // vcvttsd2si    rdi, xmm1
	LONG $0xc82ef9c5               // vucomisd    xmm1, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0xc85cebc5               // vsubsd    xmm1, xmm2, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf1   // vcvttsd2si    rsi, xmm1
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xda   // vcvttsd2si    rbx, xmm2
	LONG $0xd02ef9c5               // vucomisd    xmm2, xmm0
	LONG $0x6ef9e1c4; BYTE $0xcf   // vmovq    xmm1, rdi
	LONG $0xde430f48               // cmovae    rbx, rsi
	LONG $0x6ef9e1c4; BYTE $0xd3   // vmovq    xmm2, rbx
	LONG $0x5c10fbc5; WORD $0x58c2 // vmovsd    xmm3, qword [rdx + 8*rax + 88]
	LONG $0xe05ce3c5               // vsubsd    xmm4, xmm3, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf4   // vcvttsd2si    rsi, xmm4
	LONG $0xc96ce9c5               // vpunpcklqdq    xmm1, xmm2, xmm1
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xfb   // vcvttsd2si    rdi, xmm3
	LONG $0xd82ef9c5               // vucomisd    xmm3, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x5410fbc5; WORD $0x50c2 // vmovsd    xmm2, qword [rdx + 8*rax + 80]
	LONG $0xd85cebc5               // vsubsd    xmm3, xmm2, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf3   // vcvttsd2si    rsi, xmm3
	LONG $0x6ef9e1c4; BYTE $0xdf   // vmovq    xmm3, rdi
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xfa   // vcvttsd2si    rdi, xmm2
	LONG $0xd02ef9c5               // vucomisd    xmm2, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0xd36ce9c5               // vpunpcklqdq    xmm2, xmm2, xmm3
	LONG $0x547ffac5; WORD $0x50c1 // vmovdqu    oword [rcx + 8*rax + 80], xmm2
	LONG $0x4c7ffac5; WORD $0x40c1 // vmovdqu    oword [rcx + 8*rax + 64], xmm1
	LONG $0x4c10fbc5; WORD $0x68c2 // vmovsd    xmm1, qword [rdx + 8*rax + 104]
	LONG $0xd05cf3c5               // vsubsd    xmm2, xmm1, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf2   // vcvttsd2si    rsi, xmm2
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xf9   // vcvttsd2si    rdi, xmm1
	LONG $0xc82ef9c5               // vucomisd    xmm1, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x4c10fbc5; WORD $0x60c2 // vmovsd    xmm1, qword [rdx + 8*rax + 96]
	LONG $0xd05cf3c5               // vsubsd    xmm2, xmm1, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf2   // vcvttsd2si    rsi, xmm2
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xd9   // vcvttsd2si    rbx, xmm1
	LONG $0xc82ef9c5               // vucomisd    xmm1, xmm0
	LONG $0xde430f48               // cmovae    rbx, rsi
	LONG $0x6ef9e1c4; BYTE $0xcf   // vmovq    xmm1, rdi
	LONG $0x6ef9e1c4; BYTE $0xd3   // vmovq    xmm2, rbx
	LONG $0xc96ce9c5               // vpunpcklqdq    xmm1, xmm2, xmm1
	LONG $0x5410fbc5; WORD $0x78c2 // vmovsd    xmm2, qword [rdx + 8*rax + 120]
	LONG $0xd85cebc5               // vsubsd    xmm3, xmm2, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf3   // vcvttsd2si    rsi, xmm3
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xfa   // vcvttsd2si    rdi, xmm2
	LONG $0xd02ef9c5               // vucomisd    xmm2, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0x5c10fbc5; WORD $0x70c2 // vmovsd    xmm3, qword [rdx + 8*rax + 112]
	LONG $0xe05ce3c5               // vsubsd    xmm4, xmm3, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf4   // vcvttsd2si    rsi, xmm4
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xfb   // vcvttsd2si    rdi, xmm3
	LONG $0xd82ef9c5               // vucomisd    xmm3, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xdf   // vmovq    xmm3, rdi
	LONG $0xd26ce1c5               // vpunpcklqdq    xmm2, xmm3, xmm2
	LONG $0x547ffac5; WORD $0x70c1 // vmovdqu    oword [rcx + 8*rax + 112], xmm2
	LONG $0x4c7ffac5; WORD $0x60c1 // vmovdqu    oword [rcx + 8*rax + 96], xmm1
	LONG $0x10c08348               // add    rax, 16
	LONG $0x04c28349               // add    r10, 4
	JNE  LBB0_794

LBB0_795:
	WORD $0x854d; BYTE $0xc0     // test    r8, r8
	JE   LBB0_798
	LONG $0x03e0c148             // shl    rax, 3
	WORD $0xf749; BYTE $0xd8     // neg    r8
	LONG $0x4510fbc5; BYTE $0x00 // vmovsd    xmm0, qword 0[rbp] /* [rip + .LCPI0_0] */

LBB0_797:
	LONG $0x4c10fbc5; WORD $0x0802 // vmovsd    xmm1, qword [rdx + rax + 8]
	LONG $0xd05cf3c5               // vsubsd    xmm2, xmm1, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf2   // vcvttsd2si    rsi, xmm2
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xf9   // vcvttsd2si    rdi, xmm1
	LONG $0xc82ef9c5               // vucomisd    xmm1, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x0c10fbc5; BYTE $0x02   // vmovsd    xmm1, qword [rdx + rax]
	LONG $0xd05cf3c5               // vsubsd    xmm2, xmm1, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf2   // vcvttsd2si    rsi, xmm2
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xd9   // vcvttsd2si    rbx, xmm1
	LONG $0xc82ef9c5               // vucomisd    xmm1, xmm0
	LONG $0xde430f48               // cmovae    rbx, rsi
	LONG $0x6ef9e1c4; BYTE $0xcf   // vmovq    xmm1, rdi
	LONG $0x6ef9e1c4; BYTE $0xd3   // vmovq    xmm2, rbx
	LONG $0xc96ce9c5               // vpunpcklqdq    xmm1, xmm2, xmm1
	LONG $0x5410fbc5; WORD $0x1802 // vmovsd    xmm2, qword [rdx + rax + 24]
	LONG $0xd85cebc5               // vsubsd    xmm3, xmm2, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf3   // vcvttsd2si    rsi, xmm3
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xfa   // vcvttsd2si    rdi, xmm2
	LONG $0xd02ef9c5               // vucomisd    xmm2, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0x5c10fbc5; WORD $0x1002 // vmovsd    xmm3, qword [rdx + rax + 16]
	LONG $0xe05ce3c5               // vsubsd    xmm4, xmm3, xmm0
	LONG $0x2cfbe1c4; BYTE $0xf4   // vcvttsd2si    rsi, xmm4
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfbe1c4; BYTE $0xfb   // vcvttsd2si    rdi, xmm3
	LONG $0xd82ef9c5               // vucomisd    xmm3, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xdf   // vmovq    xmm3, rdi
	LONG $0xd26ce1c5               // vpunpcklqdq    xmm2, xmm3, xmm2
	LONG $0x547ffac5; WORD $0x1001 // vmovdqu    oword [rcx + rax + 16], xmm2
	LONG $0x0c7ffac5; BYTE $0x01   // vmovdqu    oword [rcx + rax], xmm1
	LONG $0x20c08348               // add    rax, 32
	WORD $0xff49; BYTE $0xc0       // inc    r8
	JNE  LBB0_797

LBB0_798:
	WORD $0x394d; BYTE $0xce // cmp    r14, r9
	JE   LBB0_1553

LBB0_799:
	LONG $0x4510fbc5; BYTE $0x00 // vmovsd    xmm0, qword 0[rbp] /* [rip + .LCPI0_0] */

LBB0_800:
	LONG $0x107ba1c4; WORD $0xf20c // vmovsd    xmm1, qword [rdx + 8*r14]
	LONG $0xd05cf3c5               // vsubsd    xmm2, xmm1, xmm0
	LONG $0x2cfbe1c4; BYTE $0xc2   // vcvttsd2si    rax, xmm2
	WORD $0x314c; BYTE $0xd8       // xor    rax, r11
	LONG $0x2cfbe1c4; BYTE $0xf1   // vcvttsd2si    rsi, xmm1
	LONG $0xc12ef9c5               // vucomisd    xmm0, xmm1
	LONG $0xf0460f48               // cmovbe    rsi, rax
	LONG $0xf134894a               // mov    qword [rcx + 8*r14], rsi
	LONG $0x01c68349               // add    r14, 1
	WORD $0x394d; BYTE $0xf1       // cmp    r9, r14
	JNE  LBB0_800
	JMP  LBB0_1553

LBB0_810:
	LONG $0xfce28349                       // and    r10, -4
	WORD $0xf749; BYTE $0xda               // neg    r10
	WORD $0xc031                           // xor    eax, eax
	LONG $0x4510fac5; BYTE $0x28           // vmovss    xmm0, dword 40[rbp] /* [rip + .LCPI0_1] */
	QUAD $0x000000000000bb49; WORD $0x8000 // mov    r11, -9223372036854775808

LBB0_811:
	LONG $0x4c10fac5; WORD $0x0482 // vmovss    xmm1, dword [rdx + 4*rax + 4]
	LONG $0xd05cf2c5               // vsubss    xmm2, xmm1, xmm0
	LONG $0x2cfae1c4; BYTE $0xfa   // vcvttss2si    rdi, xmm2
	LONG $0x1410fac5; BYTE $0x82   // vmovss    xmm2, dword [rdx + 4*rax]
	WORD $0x314c; BYTE $0xdf       // xor    rdi, r11
	LONG $0x2cfae1c4; BYTE $0xd9   // vcvttss2si    rbx, xmm1
	LONG $0xc82ef8c5               // vucomiss    xmm1, xmm0
	LONG $0xdf430f48               // cmovae    rbx, rdi
	LONG $0xc85ceac5               // vsubss    xmm1, xmm2, xmm0
	LONG $0x2cfae1c4; BYTE $0xf9   // vcvttss2si    rdi, xmm1
	WORD $0x314c; BYTE $0xdf       // xor    rdi, r11
	LONG $0x2cfae1c4; BYTE $0xf2   // vcvttss2si    rsi, xmm2
	LONG $0xd02ef8c5               // vucomiss    xmm2, xmm0
	LONG $0x6ef9e1c4; BYTE $0xcb   // vmovq    xmm1, rbx
	LONG $0xf7430f48               // cmovae    rsi, rdi
	LONG $0x6ef9e1c4; BYTE $0xd6   // vmovq    xmm2, rsi
	LONG $0x5c10fac5; WORD $0x0c82 // vmovss    xmm3, dword [rdx + 4*rax + 12]
	LONG $0xe05ce2c5               // vsubss    xmm4, xmm3, xmm0
	LONG $0x2cfae1c4; BYTE $0xf4   // vcvttss2si    rsi, xmm4
	LONG $0xc96ce9c5               // vpunpcklqdq    xmm1, xmm2, xmm1
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xfb   // vcvttss2si    rdi, xmm3
	LONG $0xd82ef8c5               // vucomiss    xmm3, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x5410fac5; WORD $0x0882 // vmovss    xmm2, dword [rdx + 4*rax + 8]
	LONG $0xd85ceac5               // vsubss    xmm3, xmm2, xmm0
	LONG $0x2cfae1c4; BYTE $0xf3   // vcvttss2si    rsi, xmm3
	LONG $0x6ef9e1c4; BYTE $0xdf   // vmovq    xmm3, rdi
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xfa   // vcvttss2si    rdi, xmm2
	LONG $0xd02ef8c5               // vucomiss    xmm2, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0xd36ce9c5               // vpunpcklqdq    xmm2, xmm2, xmm3
	LONG $0x547ffac5; WORD $0x10c1 // vmovdqu    oword [rcx + 8*rax + 16], xmm2
	LONG $0x0c7ffac5; BYTE $0xc1   // vmovdqu    oword [rcx + 8*rax], xmm1
	LONG $0x4c10fac5; WORD $0x1482 // vmovss    xmm1, dword [rdx + 4*rax + 20]
	LONG $0xd05cf2c5               // vsubss    xmm2, xmm1, xmm0
	LONG $0x2cfae1c4; BYTE $0xf2   // vcvttss2si    rsi, xmm2
	LONG $0x5410fac5; WORD $0x1082 // vmovss    xmm2, dword [rdx + 4*rax + 16]
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xf9   // vcvttss2si    rdi, xmm1
	LONG $0xc82ef8c5               // vucomiss    xmm1, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0xc85ceac5               // vsubss    xmm1, xmm2, xmm0
	LONG $0x2cfae1c4; BYTE $0xf1   // vcvttss2si    rsi, xmm1
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xda   // vcvttss2si    rbx, xmm2
	LONG $0xd02ef8c5               // vucomiss    xmm2, xmm0
	LONG $0x6ef9e1c4; BYTE $0xcf   // vmovq    xmm1, rdi
	LONG $0xde430f48               // cmovae    rbx, rsi
	LONG $0x6ef9e1c4; BYTE $0xd3   // vmovq    xmm2, rbx
	LONG $0x5c10fac5; WORD $0x1c82 // vmovss    xmm3, dword [rdx + 4*rax + 28]
	LONG $0xe05ce2c5               // vsubss    xmm4, xmm3, xmm0
	LONG $0x2cfae1c4; BYTE $0xf4   // vcvttss2si    rsi, xmm4
	LONG $0xc96ce9c5               // vpunpcklqdq    xmm1, xmm2, xmm1
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xfb   // vcvttss2si    rdi, xmm3
	LONG $0xd82ef8c5               // vucomiss    xmm3, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x5410fac5; WORD $0x1882 // vmovss    xmm2, dword [rdx + 4*rax + 24]
	LONG $0xd85ceac5               // vsubss    xmm3, xmm2, xmm0
	LONG $0x2cfae1c4; BYTE $0xf3   // vcvttss2si    rsi, xmm3
	LONG $0x6ef9e1c4; BYTE $0xdf   // vmovq    xmm3, rdi
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xfa   // vcvttss2si    rdi, xmm2
	LONG $0xd02ef8c5               // vucomiss    xmm2, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0xd36ce9c5               // vpunpcklqdq    xmm2, xmm2, xmm3
	LONG $0x547ffac5; WORD $0x30c1 // vmovdqu    oword [rcx + 8*rax + 48], xmm2
	LONG $0x4c7ffac5; WORD $0x20c1 // vmovdqu    oword [rcx + 8*rax + 32], xmm1
	LONG $0x4c10fac5; WORD $0x2482 // vmovss    xmm1, dword [rdx + 4*rax + 36]
	LONG $0xd05cf2c5               // vsubss    xmm2, xmm1, xmm0
	LONG $0x2cfae1c4; BYTE $0xf2   // vcvttss2si    rsi, xmm2
	LONG $0x5410fac5; WORD $0x2082 // vmovss    xmm2, dword [rdx + 4*rax + 32]
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xf9   // vcvttss2si    rdi, xmm1
	LONG $0xc82ef8c5               // vucomiss    xmm1, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0xc85ceac5               // vsubss    xmm1, xmm2, xmm0
	LONG $0x2cfae1c4; BYTE $0xf1   // vcvttss2si    rsi, xmm1
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xda   // vcvttss2si    rbx, xmm2
	LONG $0xd02ef8c5               // vucomiss    xmm2, xmm0
	LONG $0x6ef9e1c4; BYTE $0xcf   // vmovq    xmm1, rdi
	LONG $0xde430f48               // cmovae    rbx, rsi
	LONG $0x6ef9e1c4; BYTE $0xd3   // vmovq    xmm2, rbx
	LONG $0x5c10fac5; WORD $0x2c82 // vmovss    xmm3, dword [rdx + 4*rax + 44]
	LONG $0xe05ce2c5               // vsubss    xmm4, xmm3, xmm0
	LONG $0x2cfae1c4; BYTE $0xf4   // vcvttss2si    rsi, xmm4
	LONG $0xc96ce9c5               // vpunpcklqdq    xmm1, xmm2, xmm1
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xfb   // vcvttss2si    rdi, xmm3
	LONG $0xd82ef8c5               // vucomiss    xmm3, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x5410fac5; WORD $0x2882 // vmovss    xmm2, dword [rdx + 4*rax + 40]
	LONG $0xd85ceac5               // vsubss    xmm3, xmm2, xmm0
	LONG $0x2cfae1c4; BYTE $0xf3   // vcvttss2si    rsi, xmm3
	LONG $0x6ef9e1c4; BYTE $0xdf   // vmovq    xmm3, rdi
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xfa   // vcvttss2si    rdi, xmm2
	LONG $0xd02ef8c5               // vucomiss    xmm2, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0xd36ce9c5               // vpunpcklqdq    xmm2, xmm2, xmm3
	LONG $0x547ffac5; WORD $0x50c1 // vmovdqu    oword [rcx + 8*rax + 80], xmm2
	LONG $0x4c7ffac5; WORD $0x40c1 // vmovdqu    oword [rcx + 8*rax + 64], xmm1
	LONG $0x4c10fac5; WORD $0x3482 // vmovss    xmm1, dword [rdx + 4*rax + 52]
	LONG $0xd05cf2c5               // vsubss    xmm2, xmm1, xmm0
	LONG $0x2cfae1c4; BYTE $0xf2   // vcvttss2si    rsi, xmm2
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xf9   // vcvttss2si    rdi, xmm1
	LONG $0xc82ef8c5               // vucomiss    xmm1, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x4c10fac5; WORD $0x3082 // vmovss    xmm1, dword [rdx + 4*rax + 48]
	LONG $0xd05cf2c5               // vsubss    xmm2, xmm1, xmm0
	LONG $0x2cfae1c4; BYTE $0xf2   // vcvttss2si    rsi, xmm2
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xd9   // vcvttss2si    rbx, xmm1
	LONG $0xc82ef8c5               // vucomiss    xmm1, xmm0
	LONG $0xde430f48               // cmovae    rbx, rsi
	LONG $0x6ef9e1c4; BYTE $0xcf   // vmovq    xmm1, rdi
	LONG $0x6ef9e1c4; BYTE $0xd3   // vmovq    xmm2, rbx
	LONG $0xc96ce9c5               // vpunpcklqdq    xmm1, xmm2, xmm1
	LONG $0x5410fac5; WORD $0x3c82 // vmovss    xmm2, dword [rdx + 4*rax + 60]
	LONG $0xd85ceac5               // vsubss    xmm3, xmm2, xmm0
	LONG $0x2cfae1c4; BYTE $0xf3   // vcvttss2si    rsi, xmm3
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xfa   // vcvttss2si    rdi, xmm2
	LONG $0xd02ef8c5               // vucomiss    xmm2, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0x5c10fac5; WORD $0x3882 // vmovss    xmm3, dword [rdx + 4*rax + 56]
	LONG $0xe05ce2c5               // vsubss    xmm4, xmm3, xmm0
	LONG $0x2cfae1c4; BYTE $0xf4   // vcvttss2si    rsi, xmm4
	WORD $0x314c; BYTE $0xde       // xor    rsi, r11
	LONG $0x2cfae1c4; BYTE $0xfb   // vcvttss2si    rdi, xmm3
	LONG $0xd82ef8c5               // vucomiss    xmm3, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xdf   // vmovq    xmm3, rdi
	LONG $0xd26ce1c5               // vpunpcklqdq    xmm2, xmm3, xmm2
	LONG $0x547ffac5; WORD $0x70c1 // vmovdqu    oword [rcx + 8*rax + 112], xmm2
	LONG $0x4c7ffac5; WORD $0x60c1 // vmovdqu    oword [rcx + 8*rax + 96], xmm1
	LONG $0x10c08348               // add    rax, 16
	LONG $0x04c28349               // add    r10, 4
	JNE  LBB0_811

LBB0_812:
	WORD $0x854d; BYTE $0xc0               // test    r8, r8
	JE   LBB0_815
	LONG $0x02e0c148                       // shl    rax, 2
	WORD $0xf749; BYTE $0xd8               // neg    r8
	LONG $0x4510fac5; BYTE $0x28           // vmovss    xmm0, dword 40[rbp] /* [rip + .LCPI0_1] */
	QUAD $0x000000000000ba49; WORD $0x8000 // mov    r10, -9223372036854775808

LBB0_814:
	LONG $0x4c10fac5; WORD $0x0402 // vmovss    xmm1, dword [rdx + rax + 4]
	LONG $0xd05cf2c5               // vsubss    xmm2, xmm1, xmm0
	LONG $0x2cfae1c4; BYTE $0xf2   // vcvttss2si    rsi, xmm2
	WORD $0x314c; BYTE $0xd6       // xor    rsi, r10
	LONG $0x2cfae1c4; BYTE $0xd9   // vcvttss2si    rbx, xmm1
	LONG $0xc82ef8c5               // vucomiss    xmm1, xmm0
	LONG $0xde430f48               // cmovae    rbx, rsi
	LONG $0x0c10fac5; BYTE $0x02   // vmovss    xmm1, dword [rdx + rax]
	LONG $0xd05cf2c5               // vsubss    xmm2, xmm1, xmm0
	LONG $0x2cfae1c4; BYTE $0xf2   // vcvttss2si    rsi, xmm2
	WORD $0x314c; BYTE $0xd6       // xor    rsi, r10
	LONG $0x2cfae1c4; BYTE $0xf9   // vcvttss2si    rdi, xmm1
	LONG $0xc82ef8c5               // vucomiss    xmm1, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xcb   // vmovq    xmm1, rbx
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0xc96ce9c5               // vpunpcklqdq    xmm1, xmm2, xmm1
	LONG $0x5410fac5; WORD $0x0c02 // vmovss    xmm2, dword [rdx + rax + 12]
	LONG $0xd85ceac5               // vsubss    xmm3, xmm2, xmm0
	LONG $0x2cfae1c4; BYTE $0xf3   // vcvttss2si    rsi, xmm3
	WORD $0x314c; BYTE $0xd6       // xor    rsi, r10
	LONG $0x2cfae1c4; BYTE $0xfa   // vcvttss2si    rdi, xmm2
	LONG $0xd02ef8c5               // vucomiss    xmm2, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xd7   // vmovq    xmm2, rdi
	LONG $0x5c10fac5; WORD $0x0802 // vmovss    xmm3, dword [rdx + rax + 8]
	LONG $0xe05ce2c5               // vsubss    xmm4, xmm3, xmm0
	LONG $0x2cfae1c4; BYTE $0xf4   // vcvttss2si    rsi, xmm4
	WORD $0x314c; BYTE $0xd6       // xor    rsi, r10
	LONG $0x2cfae1c4; BYTE $0xfb   // vcvttss2si    rdi, xmm3
	LONG $0xd82ef8c5               // vucomiss    xmm3, xmm0
	LONG $0xfe430f48               // cmovae    rdi, rsi
	LONG $0x6ef9e1c4; BYTE $0xdf   // vmovq    xmm3, rdi
	LONG $0xd26ce1c5               // vpunpcklqdq    xmm2, xmm3, xmm2
	LONG $0x547ffac5; WORD $0x1041 // vmovdqu    oword [rcx + 2*rax + 16], xmm2
	LONG $0x0c7ffac5; BYTE $0x41   // vmovdqu    oword [rcx + 2*rax], xmm1
	LONG $0x10c08348               // add    rax, 16
	WORD $0xff49; BYTE $0xc0       // inc    r8
	JNE  LBB0_814

LBB0_815:
	WORD $0x394d; BYTE $0xce // cmp    r14, r9
	JE   LBB0_1553

LBB0_816:
	LONG $0x4510fac5; BYTE $0x28           // vmovss    xmm0, dword 40[rbp] /* [rip + .LCPI0_1] */
	QUAD $0x000000000000b848; WORD $0x8000 // mov    rax, -9223372036854775808

LBB0_817:
	LONG $0x107aa1c4; WORD $0xb20c // vmovss    xmm1, dword [rdx + 4*r14]
	LONG $0xd05cf2c5               // vsubss    xmm2, xmm1, xmm0
	LONG $0x2cfae1c4; BYTE $0xf2   // vcvttss2si    rsi, xmm2
	WORD $0x3148; BYTE $0xc6       // xor    rsi, rax
	LONG $0x2cfae1c4; BYTE $0xf9   // vcvttss2si    rdi, xmm1
	LONG $0xc12ef8c5               // vucomiss    xmm0, xmm1
	LONG $0xfe460f48               // cmovbe    rdi, rsi
	LONG $0xf13c894a               // mov    qword [rcx + 8*r14], rdi
	LONG $0x01c68349               // add    r14, 1
	WORD $0x394d; BYTE $0xf1       // cmp    r9, r14
	JNE  LBB0_817
	JMP  LBB0_1553

LBB0_850:
	LONG $0xfce28349               // and    r10, -4
	WORD $0xf749; BYTE $0xda       // neg    r10
	WORD $0xc031                   // xor    eax, eax
	LONG $0x597de2c4; WORD $0x2045 // vpbroadcastq    ymm0, qword 32[rbp] /* [rip + .LCPI0_10] */

LBB0_851:
	LONG $0x0c6ffec5; BYTE $0xc2   // vmovdqu    ymm1, yword [rdx + 8*rax]
	LONG $0xd0dbf5c5               // vpand    ymm2, ymm1, ymm0
	LONG $0xd173e5c5; BYTE $0x01   // vpsrlq    ymm3, ymm1, 1
	LONG $0xd2ebe5c5               // vpor    ymm2, ymm3, ymm2
	LONG $0x4b75e3c4; WORD $0x10ca // vblendvpd    ymm1, ymm1, ymm2, ymm1
	LONG $0x16f9e3c4; WORD $0x01cf // vpextrq    rdi, xmm1, 1
	LONG $0x2ad2e1c4; BYTE $0xd7   // vcvtsi2ss    xmm2, xmm5, rdi
	LONG $0x7ef9e1c4; BYTE $0xcf   // vmovq    rdi, xmm1
	LONG $0x2ad2e1c4; BYTE $0xdf   // vcvtsi2ss    xmm3, xmm5, rdi
	LONG $0x397de3c4; WORD $0x01c9 // vextracti128    xmm1, ymm1, 1
	LONG $0x7ef9e1c4; BYTE $0xcf   // vmovq    rdi, xmm1
	LONG $0x2ad2e1c4; BYTE $0xe7   // vcvtsi2ss    xmm4, xmm5, rdi
	LONG $0x2161e3c4; WORD $0x10d2 // vinsertps    xmm2, xmm3, xmm2, 16
	LONG $0x16f9e3c4; WORD $0x01cf // vpextrq    rdi, xmm1, 1
	LONG $0x2169e3c4; WORD $0x20cc // vinsertps    xmm1, xmm2, xmm4, 32
	LONG $0x2ad2e1c4; BYTE $0xd7   // vcvtsi2ss    xmm2, xmm5, rdi
	LONG $0x2171e3c4; WORD $0x30ca // vinsertps    xmm1, xmm1, xmm2, 48
	LONG $0x146ffac5; BYTE $0xc2   // vmovdqu    xmm2, oword [rdx + 8*rax]
	LONG $0x546be9c5; WORD $0x10c2 // vpackssdw    xmm2, xmm2, oword [rdx + 8*rax + 16]
	LONG $0xd958f0c5               // vaddps    xmm3, xmm1, xmm1
	LONG $0x4a71e3c4; WORD $0x20cb // vblendvps    xmm1, xmm1, xmm3, xmm2
	LONG $0x0c11f8c5; BYTE $0x81   // vmovups    oword [rcx + 4*rax], xmm1
	LONG $0x4c6ffec5; WORD $0x20c2 // vmovdqu    ymm1, yword [rdx + 8*rax + 32]
	LONG $0xd0dbf5c5               // vpand    ymm2, ymm1, ymm0
	LONG $0xd173e5c5; BYTE $0x01   // vpsrlq    ymm3, ymm1, 1
	LONG $0xd2ebe5c5               // vpor    ymm2, ymm3, ymm2
	LONG $0x4b75e3c4; WORD $0x10ca // vblendvpd    ymm1, ymm1, ymm2, ymm1
	LONG $0x16f9e3c4; WORD $0x01cf // vpextrq    rdi, xmm1, 1
	LONG $0x2ad2e1c4; BYTE $0xd7   // vcvtsi2ss    xmm2, xmm5, rdi
	LONG $0x7ef9e1c4; BYTE $0xcf   // vmovq    rdi, xmm1
	LONG $0x2ad2e1c4; BYTE $0xdf   // vcvtsi2ss    xmm3, xmm5, rdi
	LONG $0x397de3c4; WORD $0x01c9 // vextracti128    xmm1, ymm1, 1
	LONG $0x7ef9e1c4; BYTE $0xcf   // vmovq    rdi, xmm1
	LONG $0x2ad2e1c4; BYTE $0xe7   // vcvtsi2ss    xmm4, xmm5, rdi
	LONG $0x2161e3c4; WORD $0x10d2 // vinsertps    xmm2, xmm3, xmm2, 16
	LONG $0x16f9e3c4; WORD $0x01cf // vpextrq    rdi, xmm1, 1
	LONG $0x2169e3c4; WORD $0x20cc // vinsertps    xmm1, xmm2, xmm4, 32
	LONG $0x2ad2e1c4; BYTE $0xd7   // vcvtsi2ss    xmm2, xmm5, rdi
	LONG $0x2171e3c4; WORD $0x30ca // vinsertps    xmm1, xmm1, xmm2, 48
	LONG $0x546ffac5; WORD $0x20c2 // vmovdqu    xmm2, oword [rdx + 8*rax + 32]
	LONG $0x546be9c5; WORD $0x30c2 // vpackssdw    xmm2, xmm2, oword [rdx + 8*rax + 48]
	LONG $0xd958f0c5               // vaddps    xmm3, xmm1, xmm1
	LONG $0x4a71e3c4; WORD $0x20cb // vblendvps    xmm1, xmm1, xmm3, xmm2
	LONG $0x4c11f8c5; WORD $0x1081 // vmovups    oword [rcx + 4*rax + 16], xmm1
	LONG $0x4c6ffec5; WORD $0x40c2 // vmovdqu    ymm1, yword [rdx + 8*rax + 64]
	LONG $0xd0dbf5c5               // vpand    ymm2, ymm1, ymm0
	LONG $0xd173e5c5; BYTE $0x01   // vpsrlq    ymm3, ymm1, 1
	LONG $0xd2ebe5c5               // vpor    ymm2, ymm3, ymm2
	LONG $0x4b75e3c4; WORD $0x10ca // vblendvpd    ymm1, ymm1, ymm2, ymm1
	LONG $0x16f9e3c4; WORD $0x01cf // vpextrq    rdi, xmm1, 1
	LONG $0x2ad2e1c4; BYTE $0xd7   // vcvtsi2ss    xmm2, xmm5, rdi
	LONG $0x7ef9e1c4; BYTE $0xcf   // vmovq    rdi, xmm1
	LONG $0x2ad2e1c4; BYTE $0xdf   // vcvtsi2ss    xmm3, xmm5, rdi
	LONG $0x397de3c4; WORD $0x01c9 // vextracti128    xmm1, ymm1, 1
	LONG $0x7ef9e1c4; BYTE $0xcf   // vmovq    rdi, xmm1
	LONG $0x2ad2e1c4; BYTE $0xe7   // vcvtsi2ss    xmm4, xmm5, rdi
	LONG $0x2161e3c4; WORD $0x10d2 // vinsertps    xmm2, xmm3, xmm2, 16
	LONG $0x16f9e3c4; WORD $0x01cf // vpextrq    rdi, xmm1, 1
	LONG $0x2169e3c4; WORD $0x20cc // vinsertps    xmm1, xmm2, xmm4, 32
	LONG $0x2ad2e1c4; BYTE $0xd7   // vcvtsi2ss    xmm2, xmm5, rdi
	LONG $0x2171e3c4; WORD $0x30ca // vinsertps    xmm1, xmm1, xmm2, 48
	LONG $0x546ffac5; WORD $0x40c2 // vmovdqu    xmm2, oword [rdx + 8*rax + 64]
	LONG $0x546be9c5; WORD $0x50c2 // vpackssdw    xmm2, xmm2, oword [rdx + 8*rax + 80]
	LONG $0xd958f0c5               // vaddps    xmm3, xmm1, xmm1
	LONG $0x4a71e3c4; WORD $0x20cb // vblendvps    xmm1, xmm1, xmm3, xmm2
	LONG $0x4c11f8c5; WORD $0x2081 // vmovups    oword [rcx + 4*rax + 32], xmm1
	LONG $0x4c6ffec5; WORD $0x60c2 // vmovdqu    ymm1, yword [rdx + 8*rax + 96]
	LONG $0xd0dbf5c5               // vpand    ymm2, ymm1, ymm0
	LONG $0xd173e5c5; BYTE $0x01   // vpsrlq    ymm3, ymm1, 1
	LONG $0xd2ebe5c5               // vpor    ymm2, ymm3, ymm2
	LONG $0x4b75e3c4; WORD $0x10ca // vblendvpd    ymm1, ymm1, ymm2, ymm1
	LONG $0x16f9e3c4; WORD $0x01cf // vpextrq    rdi, xmm1, 1
	LONG $0x2ad2e1c4; BYTE $0xd7   // vcvtsi2ss    xmm2, xmm5, rdi
	LONG $0x7ef9e1c4; BYTE $0xcf   // vmovq    rdi, xmm1
	LONG $0x2ad2e1c4; BYTE $0xdf   // vcvtsi2ss    xmm3, xmm5, rdi
	LONG $0x397de3c4; WORD $0x01c9 // vextracti128    xmm1, ymm1, 1
	LONG $0x16f9c3c4; WORD $0x01cb // vpextrq    r11, xmm1, 1
	LONG $0x7ef9e1c4; BYTE $0xcf   // vmovq    rdi, xmm1
	LONG $0x2ad2e1c4; BYTE $0xcf   // vcvtsi2ss    xmm1, xmm5, rdi
	LONG $0x2161e3c4; WORD $0x10d2 // vinsertps    xmm2, xmm3, xmm2, 16
	LONG $0x2ad2c1c4; BYTE $0xdb   // vcvtsi2ss    xmm3, xmm5, r11
	LONG $0x2169e3c4; WORD $0x20c9 // vinsertps    xmm1, xmm2, xmm1, 32
	LONG $0x2171e3c4; WORD $0x30cb // vinsertps    xmm1, xmm1, xmm3, 48
	LONG $0xd158f0c5               // vaddps    xmm2, xmm1, xmm1
	LONG $0x5c6ffac5; WORD $0x60c2 // vmovdqu    xmm3, oword [rdx + 8*rax + 96]
	LONG $0x5c6be1c5; WORD $0x70c2 // vpackssdw    xmm3, xmm3, oword [rdx + 8*rax + 112]
	LONG $0x4a71e3c4; WORD $0x30ca // vblendvps    xmm1, xmm1, xmm2, xmm3
	LONG $0x4c11f8c5; WORD $0x3081 // vmovups    oword [rcx + 4*rax + 48], xmm1
	LONG $0x10c08348               // add    rax, 16
	LONG $0x04c28349               // add    r10, 4
	JNE  LBB0_851

LBB0_852:
	WORD $0x854d; BYTE $0xc0       // test    r8, r8
	JE   LBB0_855
	LONG $0x02e0c148               // shl    rax, 2
	WORD $0xf749; BYTE $0xd8       // neg    r8
	LONG $0x597de2c4; WORD $0x2045 // vpbroadcastq    ymm0, qword 32[rbp] /* [rip + .LCPI0_10] */

LBB0_854:
	LONG $0x0c6ffec5; BYTE $0x42   // vmovdqu    ymm1, yword [rdx + 2*rax]
	LONG $0xd0dbf5c5               // vpand    ymm2, ymm1, ymm0
	LONG $0xd173e5c5; BYTE $0x01   // vpsrlq    ymm3, ymm1, 1
	LONG $0xd2ebe5c5               // vpor    ymm2, ymm3, ymm2
	LONG $0x4b75e3c4; WORD $0x10ca // vblendvpd    ymm1, ymm1, ymm2, ymm1
	LONG $0x16f9e3c4; WORD $0x01cf // vpextrq    rdi, xmm1, 1
	LONG $0x2ad2e1c4; BYTE $0xd7   // vcvtsi2ss    xmm2, xmm5, rdi
	LONG $0x7ef9e1c4; BYTE $0xcf   // vmovq    rdi, xmm1
	LONG $0x2ad2e1c4; BYTE $0xdf   // vcvtsi2ss    xmm3, xmm5, rdi
	LONG $0x397de3c4; WORD $0x01c9 // vextracti128    xmm1, ymm1, 1
	LONG $0x16f9c3c4; WORD $0x01ca // vpextrq    r10, xmm1, 1
	LONG $0x7ef9e1c4; BYTE $0xcf   // vmovq    rdi, xmm1
	LONG $0x2ad2e1c4; BYTE $0xcf   // vcvtsi2ss    xmm1, xmm5, rdi
	LONG $0x2161e3c4; WORD $0x10d2 // vinsertps    xmm2, xmm3, xmm2, 16
	LONG $0x2ad2c1c4; BYTE $0xda   // vcvtsi2ss    xmm3, xmm5, r10
	LONG $0x2169e3c4; WORD $0x20c9 // vinsertps    xmm1, xmm2, xmm1, 32
	LONG $0x2171e3c4; WORD $0x30cb // vinsertps    xmm1, xmm1, xmm3, 48
	LONG $0xd158f0c5               // vaddps    xmm2, xmm1, xmm1
	LONG $0x1c6ffac5; BYTE $0x42   // vmovdqu    xmm3, oword [rdx + 2*rax]
	LONG $0x5c6be1c5; WORD $0x1042 // vpackssdw    xmm3, xmm3, oword [rdx + 2*rax + 16]
	LONG $0x4a71e3c4; WORD $0x30ca // vblendvps    xmm1, xmm1, xmm2, xmm3
	LONG $0x0c11f8c5; BYTE $0x01   // vmovups    oword [rcx + rax], xmm1
	LONG $0x10c08348               // add    rax, 16
	WORD $0xff49; BYTE $0xc0       // inc    r8
	JNE  LBB0_854

LBB0_855:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JNE  LBB0_858
	JMP  LBB0_1553

LBB0_856:
	LONG $0x2ad2e1c4; BYTE $0xc0 // vcvtsi2ss    xmm0, xmm5, rax
	LONG $0x0411fac5; BYTE $0xb1 // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JE   LBB0_1553

LBB0_858:
	LONG $0xf2048b48             // mov    rax, qword [rdx + 8*rsi]
	WORD $0x8548; BYTE $0xc0     // test    rax, rax
	JNS  LBB0_856
	WORD $0x8948; BYTE $0xc7     // mov    rdi, rax
	WORD $0xd148; BYTE $0xef     // shr    rdi, 1
	WORD $0xe083; BYTE $0x01     // and    eax, 1
	WORD $0x0948; BYTE $0xf8     // or    rax, rdi
	LONG $0x2ad2e1c4; BYTE $0xc0 // vcvtsi2ss    xmm0, xmm5, rax
	LONG $0xc058fac5             // vaddss    xmm0, xmm0, xmm0
	LONG $0x0411fac5; BYTE $0xb1 // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_858
	JMP  LBB0_1553

LBB0_914:
	WORD $0xff31 // xor    edi, edi

LBB0_915:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_917
	LONG $0x0410f8c5; BYTE $0xfa               // vmovups    xmm0, oword [rdx + 8*rdi]
	LONG $0x4c10f8c5; WORD $0x20fa             // vmovups    xmm1, oword [rdx + 8*rdi + 32]
	LONG $0x5410f8c5; WORD $0x40fa             // vmovups    xmm2, oword [rdx + 8*rdi + 64]
	LONG $0x5c10f8c5; WORD $0x60fa             // vmovups    xmm3, oword [rdx + 8*rdi + 96]
	LONG $0x44c6f8c5; WORD $0x10fa; BYTE $0x88 // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 16], 136
	LONG $0x4cc6f0c5; WORD $0x30fa; BYTE $0x88 // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 48], 136
	LONG $0x54c6e8c5; WORD $0x50fa; BYTE $0x88 // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 80], 136
	LONG $0x5cc6e0c5; WORD $0x70fa; BYTE $0x88 // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 112], 136
	LONG $0x0411f8c5; BYTE $0xb9               // vmovups    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f8c5; WORD $0x10b9             // vmovups    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f8c5; WORD $0x20b9             // vmovups    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f8c5; WORD $0x30b9             // vmovups    oword [rcx + 4*rdi + 48], xmm3

LBB0_917:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_918:
	WORD $0x048b; BYTE $0xf2 // mov    eax, dword [rdx + 8*rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_918
	JMP  LBB0_1553

LBB0_919:
	WORD $0xff31 // xor    edi, edi

LBB0_920:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_922
	LONG $0x046ffec5; BYTE $0xfa   // vmovdqu    ymm0, yword [rdx + 8*rdi]
	LONG $0x4c6ffec5; WORD $0x20fa // vmovdqu    ymm1, yword [rdx + 8*rdi + 32]
	LONG $0x546ffec5; WORD $0x40fa // vmovdqu    ymm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c6ffec5; WORD $0x60fa // vmovdqu    ymm3, yword [rdx + 8*rdi + 96]
	LONG $0xe457d9c5               // vxorpd    xmm4, xmm4, xmm4
	LONG $0x027de3c4; WORD $0xaaec // vpblendd    ymm5, ymm0, ymm4, 170
	LONG $0x597de2c4; WORD $0x0875 // vpbroadcastq    ymm6, qword 8[rbp] /* [rip + .LCPI0_5] */
	LONG $0xeeebd5c5               // vpor    ymm5, ymm5, ymm6
	LONG $0xd073fdc5; BYTE $0x20   // vpsrlq    ymm0, ymm0, 32
	LONG $0x597de2c4; WORD $0x107d // vpbroadcastq    ymm7, qword 16[rbp] /* [rip + .LCPI0_6] */
	LONG $0xc7ebfdc5               // vpor    ymm0, ymm0, ymm7
	LONG $0x197d62c4; WORD $0x1845 // vbroadcastsd    ymm8, qword 24[rbp] /* [rip + .LCPI0_7] */
	LONG $0x5c7dc1c4; BYTE $0xc0   // vsubpd    ymm0, ymm0, ymm8
	LONG $0xc058d5c5               // vaddpd    ymm0, ymm5, ymm0
	LONG $0x0275e3c4; WORD $0xaaec // vpblendd    ymm5, ymm1, ymm4, 170
	LONG $0xeeebd5c5               // vpor    ymm5, ymm5, ymm6
	LONG $0xd173f5c5; BYTE $0x20   // vpsrlq    ymm1, ymm1, 32
	LONG $0xcfebf5c5               // vpor    ymm1, ymm1, ymm7
	LONG $0x5c75c1c4; BYTE $0xc8   // vsubpd    ymm1, ymm1, ymm8
	LONG $0xc958d5c5               // vaddpd    ymm1, ymm5, ymm1
	LONG $0x026de3c4; WORD $0xaaec // vpblendd    ymm5, ymm2, ymm4, 170
	LONG $0xeeebd5c5               // vpor    ymm5, ymm5, ymm6
	LONG $0xd273edc5; BYTE $0x20   // vpsrlq    ymm2, ymm2, 32
	LONG $0xd7ebedc5               // vpor    ymm2, ymm2, ymm7
	LONG $0x5c6dc1c4; BYTE $0xd0   // vsubpd    ymm2, ymm2, ymm8
	LONG $0xd258d5c5               // vaddpd    ymm2, ymm5, ymm2
	LONG $0x0265e3c4; WORD $0xaae4 // vpblendd    ymm4, ymm3, ymm4, 170
	LONG $0xe6ebddc5               // vpor    ymm4, ymm4, ymm6
	LONG $0xd373e5c5; BYTE $0x20   // vpsrlq    ymm3, ymm3, 32
	LONG $0xdfebe5c5               // vpor    ymm3, ymm3, ymm7
	LONG $0x5c65c1c4; BYTE $0xd8   // vsubpd    ymm3, ymm3, ymm8
	LONG $0xdb58ddc5               // vaddpd    ymm3, ymm4, ymm3
	LONG $0x0411fdc5; BYTE $0xf9   // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9 // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9 // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9 // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_922:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_923:
	LONG $0x4528f9c5; BYTE $0x50 // vmovapd    xmm0, oword 80[rbp] /* [rip + .LCPI0_8] */
	LONG $0x4d28f9c5; BYTE $0x60 // vmovapd    xmm1, oword 96[rbp] /* [rip + .LCPI0_9] */

LBB0_924:
	LONG $0x1410fbc5; BYTE $0xf2   // vmovsd    xmm2, qword [rdx + 8*rsi]
	LONG $0xd014e8c5               // vunpcklps    xmm2, xmm2, xmm0
	LONG $0xd15ce9c5               // vsubpd    xmm2, xmm2, xmm1
	LONG $0x0579e3c4; WORD $0x01da // vpermilpd    xmm3, xmm2, 1
	LONG $0xd258e3c5               // vaddsd    xmm2, xmm3, xmm2
	LONG $0x1411fbc5; BYTE $0xf1   // vmovsd    qword [rcx + 8*rsi], xmm2
	LONG $0x01c68348               // add    rsi, 1
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_924
	JMP  LBB0_1553

LBB0_925:
	WORD $0xff31 // xor    edi, edi

LBB0_926:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_928
	LONG $0x04e6fec5; BYTE $0xba   // vcvtdq2pd    ymm0, oword [rdx + 4*rdi]
	LONG $0x4ce6fec5; WORD $0x10ba // vcvtdq2pd    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x54e6fec5; WORD $0x20ba // vcvtdq2pd    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x5ce6fec5; WORD $0x30ba // vcvtdq2pd    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x0411fdc5; BYTE $0xf9   // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9 // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9 // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9 // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_928:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_929:
	LONG $0x042adbc5; BYTE $0xb2 // vcvtsi2sd    xmm0, xmm4, dword [rdx + 4*rsi]
	LONG $0x0411fbc5; BYTE $0xf1 // vmovsd    qword [rcx + 8*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_929
	JMP  LBB0_1553

LBB0_930:
	WORD $0xff31 // xor    edi, edi

LBB0_931:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_933
	LONG $0x357de2c4; WORD $0xba04             // vpmovzxdq    ymm0, oword [rdx + 4*rdi]
	LONG $0x357de2c4; WORD $0xba4c; BYTE $0x10 // vpmovzxdq    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x357de2c4; WORD $0xba54; BYTE $0x20 // vpmovzxdq    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x357de2c4; WORD $0xba5c; BYTE $0x30 // vpmovzxdq    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_933:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_934:
	WORD $0x048b; BYTE $0xb2 // mov    eax, dword [rdx + 4*rsi]
	LONG $0xf1048948         // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_934
	JMP  LBB0_1553

LBB0_935:
	WORD $0xff31 // xor    edi, edi

LBB0_936:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_938
	LONG $0x347de2c4; WORD $0x7a04             // vpmovzxwq    ymm0, qword [rdx + 2*rdi]
	LONG $0x347de2c4; WORD $0x7a4c; BYTE $0x08 // vpmovzxwq    ymm1, qword [rdx + 2*rdi + 8]
	LONG $0x347de2c4; WORD $0x7a54; BYTE $0x10 // vpmovzxwq    ymm2, qword [rdx + 2*rdi + 16]
	LONG $0x347de2c4; WORD $0x7a5c; BYTE $0x18 // vpmovzxwq    ymm3, qword [rdx + 2*rdi + 24]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_938:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_939:
	LONG $0x7204b70f         // movzx    eax, word [rdx + 2*rsi]
	LONG $0xf1048948         // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_939
	JMP  LBB0_1553

LBB0_940:
	WORD $0xff31 // xor    edi, edi

LBB0_941:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_943
	LONG $0x247de2c4; WORD $0x7a04             // vpmovsxwq    ymm0, qword [rdx + 2*rdi]
	LONG $0x247de2c4; WORD $0x7a4c; BYTE $0x08 // vpmovsxwq    ymm1, qword [rdx + 2*rdi + 8]
	LONG $0x247de2c4; WORD $0x7a54; BYTE $0x10 // vpmovsxwq    ymm2, qword [rdx + 2*rdi + 16]
	LONG $0x247de2c4; WORD $0x7a5c; BYTE $0x18 // vpmovsxwq    ymm3, qword [rdx + 2*rdi + 24]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_943:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_944:
	LONG $0x04bf0f48; BYTE $0x72 // movsx    rax, word [rdx + 2*rsi]
	LONG $0xf1048948             // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_944
	JMP  LBB0_1553

LBB0_945:
	WORD $0xff31 // xor    edi, edi

LBB0_946:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_948
	LONG $0x257de2c4; WORD $0xba04             // vpmovsxdq    ymm0, oword [rdx + 4*rdi]
	LONG $0x257de2c4; WORD $0xba4c; BYTE $0x10 // vpmovsxdq    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x257de2c4; WORD $0xba54; BYTE $0x20 // vpmovsxdq    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x257de2c4; WORD $0xba5c; BYTE $0x30 // vpmovsxdq    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_948:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_949:
	LONG $0xb2046348         // movsxd    rax, dword [rdx + 4*rsi]
	LONG $0xf1048948         // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_949
	JMP  LBB0_1553

LBB0_950:
	WORD $0xff31 // xor    edi, edi

LBB0_951:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_953
	LONG $0xc0eff9c5                           // vpxor    xmm0, xmm0, xmm0
	LONG $0x0e79e3c4; WORD $0xfa0c; BYTE $0x11 // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi], 17
	QUAD $0x1110fa540e79e3c4                   // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 16], 17
	QUAD $0x1120fa5c0e79e3c4                   // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 32], 17
	QUAD $0x1130fa640e79e3c4                   // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 48], 17
	QUAD $0x1140fa6c0e79e3c4                   // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 64], 17
	QUAD $0x1150fa740e79e3c4                   // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 80], 17
	QUAD $0x1160fa7c0e79e3c4                   // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 96], 17
	QUAD $0x1170fa440e79e3c4                   // vpblendw    xmm0, xmm0, oword [rdx + 8*rdi + 112], 17
	LONG $0x384de3c4; WORD $0x01c0             // vinserti128    ymm0, ymm6, xmm0, 1
	LONG $0x3855e3c4; WORD $0x01ef             // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc0               // vpackusdw    ymm0, ymm5, ymm0
	LONG $0x2b7de2c4; BYTE $0xc0               // vpackusdw    ymm0, ymm0, ymm0
	LONG $0x386de3c4; WORD $0x01d4             // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01cb             // vinserti128    ymm1, ymm1, xmm3, 1
	LONG $0x2b75e2c4; BYTE $0xca               // vpackusdw    ymm1, ymm1, ymm2
	LONG $0x2b75e2c4; BYTE $0xc8               // vpackusdw    ymm1, ymm1, ymm0
	LONG $0xc06cf5c5                           // vpunpcklqdq    ymm0, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xd8c0             // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0

LBB0_953:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_954:
	LONG $0xf204b70f         // movzx    eax, word [rdx + 8*rsi]
	LONG $0x71048966         // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_954
	JMP  LBB0_1553

LBB0_955:
	WORD $0xff31 // xor    edi, edi

LBB0_956:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_958
	LONG $0xc0eff9c5                           // vpxor    xmm0, xmm0, xmm0
	LONG $0x0e79e3c4; WORD $0xfa0c; BYTE $0x11 // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi], 17
	QUAD $0x1110fa540e79e3c4                   // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 16], 17
	QUAD $0x1120fa5c0e79e3c4                   // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 32], 17
	QUAD $0x1130fa640e79e3c4                   // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 48], 17
	QUAD $0x1140fa6c0e79e3c4                   // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 64], 17
	QUAD $0x1150fa740e79e3c4                   // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 80], 17
	QUAD $0x1160fa7c0e79e3c4                   // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 96], 17
	QUAD $0x1170fa440e79e3c4                   // vpblendw    xmm0, xmm0, oword [rdx + 8*rdi + 112], 17
	LONG $0x384de3c4; WORD $0x01c0             // vinserti128    ymm0, ymm6, xmm0, 1
	LONG $0x3855e3c4; WORD $0x01ef             // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc0               // vpackusdw    ymm0, ymm5, ymm0
	LONG $0x2b7de2c4; BYTE $0xc0               // vpackusdw    ymm0, ymm0, ymm0
	LONG $0x386de3c4; WORD $0x01d4             // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01cb             // vinserti128    ymm1, ymm1, xmm3, 1
	LONG $0x2b75e2c4; BYTE $0xca               // vpackusdw    ymm1, ymm1, ymm2
	LONG $0x2b75e2c4; BYTE $0xc8               // vpackusdw    ymm1, ymm1, ymm0
	LONG $0xc06cf5c5                           // vpunpcklqdq    ymm0, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xd8c0             // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0

LBB0_958:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_959:
	LONG $0xf204b70f         // movzx    eax, word [rdx + 8*rsi]
	LONG $0x71048966         // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_959
	JMP  LBB0_1553

LBB0_960:
	WORD $0xff31 // xor    edi, edi

LBB0_961:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_963
	LONG $0xc0eff9c5                           // vpxor    xmm0, xmm0, xmm0
	LONG $0x0e79e3c4; WORD $0xfa0c; BYTE $0x11 // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi], 17
	QUAD $0x1110fa540e79e3c4                   // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 16], 17
	QUAD $0x1120fa5c0e79e3c4                   // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 32], 17
	QUAD $0x1130fa640e79e3c4                   // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 48], 17
	QUAD $0x1140fa6c0e79e3c4                   // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 64], 17
	QUAD $0x1150fa740e79e3c4                   // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 80], 17
	QUAD $0x1160fa7c0e79e3c4                   // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 96], 17
	QUAD $0x1170fa440e79e3c4                   // vpblendw    xmm0, xmm0, oword [rdx + 8*rdi + 112], 17
	LONG $0x384de3c4; WORD $0x01c0             // vinserti128    ymm0, ymm6, xmm0, 1
	LONG $0x3855e3c4; WORD $0x01ef             // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc0               // vpackusdw    ymm0, ymm5, ymm0
	LONG $0x2b7de2c4; BYTE $0xc0               // vpackusdw    ymm0, ymm0, ymm0
	LONG $0x386de3c4; WORD $0x01d4             // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01cb             // vinserti128    ymm1, ymm1, xmm3, 1
	LONG $0x2b75e2c4; BYTE $0xca               // vpackusdw    ymm1, ymm1, ymm2
	LONG $0x2b75e2c4; BYTE $0xc8               // vpackusdw    ymm1, ymm1, ymm0
	LONG $0xc06cf5c5                           // vpunpcklqdq    ymm0, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xd8c0             // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0

LBB0_963:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_964:
	LONG $0xf204b70f         // movzx    eax, word [rdx + 8*rsi]
	LONG $0x71048966         // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_964
	JMP  LBB0_1553

LBB0_965:
	WORD $0xff31 // xor    edi, edi

LBB0_966:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_968
	LONG $0x046ffec5; BYTE $0xba   // vmovdqu    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c6ffec5; WORD $0x20ba // vmovdqu    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x546ffec5; WORD $0x40ba // vmovdqu    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c6ffec5; WORD $0x60ba // vmovdqu    ymm3, yword [rdx + 4*rdi + 96]
	QUAD $0x00000080a56ffdc5       // vmovdqa    ymm4, yword 128[rbp] /* [rip + .LCPI0_11] */
	LONG $0x007de2c4; BYTE $0xc4   // vpshufb    ymm0, ymm0, ymm4
	LONG $0x00fde3c4; WORD $0xe8c0 // vpermq    ymm0, ymm0, 232
	LONG $0x0075e2c4; BYTE $0xcc   // vpshufb    ymm1, ymm1, ymm4
	LONG $0x00fde3c4; WORD $0xe8c9 // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd4   // vpshufb    ymm2, ymm2, ymm4
	LONG $0x00fde3c4; WORD $0xe8d2 // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xdc   // vpshufb    ymm3, ymm3, ymm4
	LONG $0x00fde3c4; WORD $0xe8db // vpermq    ymm3, ymm3, 232
	LONG $0x047ffac5; BYTE $0x79   // vmovdqu    oword [rcx + 2*rdi], xmm0
	LONG $0x4c7ffac5; WORD $0x1079 // vmovdqu    oword [rcx + 2*rdi + 16], xmm1
	LONG $0x547ffac5; WORD $0x2079 // vmovdqu    oword [rcx + 2*rdi + 32], xmm2
	LONG $0x5c7ffac5; WORD $0x3079 // vmovdqu    oword [rcx + 2*rdi + 48], xmm3

LBB0_968:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_969:
	LONG $0xb204b70f         // movzx    eax, word [rdx + 4*rsi]
	LONG $0x71048966         // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_969
	JMP  LBB0_1553

LBB0_970:
	WORD $0xff31 // xor    edi, edi

LBB0_971:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_973
	LONG $0x046ffec5; BYTE $0xba   // vmovdqu    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c6ffec5; WORD $0x20ba // vmovdqu    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x546ffec5; WORD $0x40ba // vmovdqu    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c6ffec5; WORD $0x60ba // vmovdqu    ymm3, yword [rdx + 4*rdi + 96]
	QUAD $0x00000080a56ffdc5       // vmovdqa    ymm4, yword 128[rbp] /* [rip + .LCPI0_11] */
	LONG $0x007de2c4; BYTE $0xc4   // vpshufb    ymm0, ymm0, ymm4
	LONG $0x00fde3c4; WORD $0xe8c0 // vpermq    ymm0, ymm0, 232
	LONG $0x0075e2c4; BYTE $0xcc   // vpshufb    ymm1, ymm1, ymm4
	LONG $0x00fde3c4; WORD $0xe8c9 // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd4   // vpshufb    ymm2, ymm2, ymm4
	LONG $0x00fde3c4; WORD $0xe8d2 // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xdc   // vpshufb    ymm3, ymm3, ymm4
	LONG $0x00fde3c4; WORD $0xe8db // vpermq    ymm3, ymm3, 232
	LONG $0x047ffac5; BYTE $0x79   // vmovdqu    oword [rcx + 2*rdi], xmm0
	LONG $0x4c7ffac5; WORD $0x1079 // vmovdqu    oword [rcx + 2*rdi + 16], xmm1
	LONG $0x547ffac5; WORD $0x2079 // vmovdqu    oword [rcx + 2*rdi + 32], xmm2
	LONG $0x5c7ffac5; WORD $0x3079 // vmovdqu    oword [rcx + 2*rdi + 48], xmm3

LBB0_973:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_974:
	LONG $0xb204b70f         // movzx    eax, word [rdx + 4*rsi]
	LONG $0x71048966         // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_974
	JMP  LBB0_1553

LBB0_975:
	WORD $0xff31 // xor    edi, edi

LBB0_976:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_978
	LONG $0x347de2c4; WORD $0x7a04             // vpmovzxwq    ymm0, qword [rdx + 2*rdi]
	LONG $0x347de2c4; WORD $0x7a4c; BYTE $0x08 // vpmovzxwq    ymm1, qword [rdx + 2*rdi + 8]
	LONG $0x347de2c4; WORD $0x7a54; BYTE $0x10 // vpmovzxwq    ymm2, qword [rdx + 2*rdi + 16]
	LONG $0x347de2c4; WORD $0x7a5c; BYTE $0x18 // vpmovzxwq    ymm3, qword [rdx + 2*rdi + 24]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_978:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_979:
	LONG $0x7204b70f         // movzx    eax, word [rdx + 2*rsi]
	LONG $0xf1048948         // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_979
	JMP  LBB0_1553

LBB0_980:
	WORD $0xff31 // xor    edi, edi

LBB0_981:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_983
	LONG $0x257de2c4; WORD $0xba04             // vpmovsxdq    ymm0, oword [rdx + 4*rdi]
	LONG $0x257de2c4; WORD $0xba4c; BYTE $0x10 // vpmovsxdq    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x257de2c4; WORD $0xba54; BYTE $0x20 // vpmovsxdq    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x257de2c4; WORD $0xba5c; BYTE $0x30 // vpmovsxdq    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_983:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_984:
	LONG $0xb2046348         // movsxd    rax, dword [rdx + 4*rsi]
	LONG $0xf1048948         // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_984
	JMP  LBB0_1553

LBB0_985:
	WORD $0xff31 // xor    edi, edi

LBB0_986:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_988
	LONG $0x045bfcc5; BYTE $0xba   // vcvtdq2ps    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c5bfcc5; WORD $0x20ba // vcvtdq2ps    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x545bfcc5; WORD $0x40ba // vcvtdq2ps    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c5bfcc5; WORD $0x60ba // vcvtdq2ps    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fcc5; BYTE $0xb9   // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9 // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9 // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9 // vmovups    yword [rcx + 4*rdi + 96], ymm3

LBB0_988:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_989:
	LONG $0x042adac5; BYTE $0xb2 // vcvtsi2ss    xmm0, xmm4, dword [rdx + 4*rsi]
	LONG $0x0411fac5; BYTE $0xb1 // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_989
	JMP  LBB0_1553

LBB0_990:
	WORD $0xff31 // xor    edi, edi

LBB0_991:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_993
	LONG $0x04e6fdc5; BYTE $0xfa   // vcvttpd2dq    xmm0, yword [rdx + 8*rdi]
	LONG $0x4ce6fdc5; WORD $0x20fa // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0x54e6fdc5; WORD $0x40fa // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 64]
	LONG $0x5ce6fdc5; WORD $0x60fa // vcvttpd2dq    xmm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411f9c5; BYTE $0xb9   // vmovupd    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f9c5; WORD $0x10b9 // vmovupd    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f9c5; WORD $0x20b9 // vmovupd    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f9c5; WORD $0x30b9 // vmovupd    oword [rcx + 4*rdi + 48], xmm3

LBB0_993:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_994:
	LONG $0x042cfbc5; BYTE $0xf2 // vcvttsd2si    eax, qword [rdx + 8*rsi]
	WORD $0x0489; BYTE $0xb1     // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_994
	JMP  LBB0_1553

LBB0_995:
	WORD $0xff31 // xor    edi, edi

LBB0_996:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_998
	LONG $0x0410f8c5; BYTE $0xfa               // vmovups    xmm0, oword [rdx + 8*rdi]
	LONG $0x4c10f8c5; WORD $0x20fa             // vmovups    xmm1, oword [rdx + 8*rdi + 32]
	LONG $0x5410f8c5; WORD $0x40fa             // vmovups    xmm2, oword [rdx + 8*rdi + 64]
	LONG $0x5c10f8c5; WORD $0x60fa             // vmovups    xmm3, oword [rdx + 8*rdi + 96]
	LONG $0x44c6f8c5; WORD $0x10fa; BYTE $0x88 // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 16], 136
	LONG $0x4cc6f0c5; WORD $0x30fa; BYTE $0x88 // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 48], 136
	LONG $0x54c6e8c5; WORD $0x50fa; BYTE $0x88 // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 80], 136
	LONG $0x5cc6e0c5; WORD $0x70fa; BYTE $0x88 // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 112], 136
	LONG $0x0411f8c5; BYTE $0xb9               // vmovups    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f8c5; WORD $0x10b9             // vmovups    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f8c5; WORD $0x20b9             // vmovups    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f8c5; WORD $0x30b9             // vmovups    oword [rcx + 4*rdi + 48], xmm3

LBB0_998:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_999:
	WORD $0x048b; BYTE $0xf2 // mov    eax, dword [rdx + 8*rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_999
	JMP  LBB0_1553

LBB0_1000:
	WORD $0xff31 // xor    edi, edi

LBB0_1001:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1003
	LONG $0x337de2c4; WORD $0x7a04             // vpmovzxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x337de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovzxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x337de2c4; WORD $0x7a54; BYTE $0x20 // vpmovzxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x337de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovzxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3

LBB0_1003:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1004:
	LONG $0x7204b70f         // movzx    eax, word [rdx + 2*rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_1004
	JMP  LBB0_1553

LBB0_1005:
	WORD $0xff31 // xor    edi, edi

LBB0_1006:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1008
	LONG $0x237de2c4; WORD $0x7a04             // vpmovsxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovsxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x237de2c4; WORD $0x7a54; BYTE $0x20 // vpmovsxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x237de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovsxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3

LBB0_1008:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1009:
	LONG $0x7204bf0f         // movsx    eax, word [rdx + 2*rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_1009
	JMP  LBB0_1553

LBB0_1010:
	WORD $0xff31 // xor    edi, edi

LBB0_1011:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1013
	LONG $0x0410f8c5; BYTE $0xfa               // vmovups    xmm0, oword [rdx + 8*rdi]
	LONG $0x4c10f8c5; WORD $0x20fa             // vmovups    xmm1, oword [rdx + 8*rdi + 32]
	LONG $0x5410f8c5; WORD $0x40fa             // vmovups    xmm2, oword [rdx + 8*rdi + 64]
	LONG $0x5c10f8c5; WORD $0x60fa             // vmovups    xmm3, oword [rdx + 8*rdi + 96]
	LONG $0x44c6f8c5; WORD $0x10fa; BYTE $0x88 // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 16], 136
	LONG $0x4cc6f0c5; WORD $0x30fa; BYTE $0x88 // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 48], 136
	LONG $0x54c6e8c5; WORD $0x50fa; BYTE $0x88 // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 80], 136
	LONG $0x5cc6e0c5; WORD $0x70fa; BYTE $0x88 // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 112], 136
	LONG $0x0411f8c5; BYTE $0xb9               // vmovups    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f8c5; WORD $0x10b9             // vmovups    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f8c5; WORD $0x20b9             // vmovups    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f8c5; WORD $0x30b9             // vmovups    oword [rcx + 4*rdi + 48], xmm3

LBB0_1013:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1014:
	WORD $0x048b; BYTE $0xf2 // mov    eax, dword [rdx + 8*rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_1014
	JMP  LBB0_1553

LBB0_1015:
	WORD $0xff31 // xor    edi, edi

LBB0_1016:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1018
	LONG $0x045bfec5; BYTE $0xba   // vcvttps2dq    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c5bfec5; WORD $0x20ba // vcvttps2dq    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x545bfec5; WORD $0x40ba // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c5bfec5; WORD $0x60ba // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fdc5; BYTE $0xb9   // vmovupd    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20b9 // vmovupd    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40b9 // vmovupd    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60b9 // vmovupd    yword [rcx + 4*rdi + 96], ymm3

LBB0_1018:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1019:
	LONG $0x042cfac5; BYTE $0xb2 // vcvttss2si    eax, dword [rdx + 4*rsi]
	WORD $0x0489; BYTE $0xb1     // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1019
	JMP  LBB0_1553

LBB0_1020:
	WORD $0xff31 // xor    edi, edi

LBB0_1021:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1023
	LONG $0x337de2c4; WORD $0x7a04             // vpmovzxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x337de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovzxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x337de2c4; WORD $0x7a54; BYTE $0x20 // vpmovzxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x337de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovzxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3

LBB0_1023:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1024:
	LONG $0x7204b70f         // movzx    eax, word [rdx + 2*rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_1024
	JMP  LBB0_1553

LBB0_1025:
	WORD $0xff31 // xor    edi, edi

LBB0_1026:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1028
	LONG $0x237de2c4; WORD $0x7a04             // vpmovsxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovsxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x237de2c4; WORD $0x7a54; BYTE $0x20 // vpmovsxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x237de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovsxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3

LBB0_1028:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1029:
	LONG $0x7204bf0f         // movsx    eax, word [rdx + 2*rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_1029
	JMP  LBB0_1553

LBB0_1030:
	WORD $0xff31 // xor    edi, edi

LBB0_1031:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1033
	LONG $0x0410f8c5; BYTE $0xfa               // vmovups    xmm0, oword [rdx + 8*rdi]
	LONG $0x4c10f8c5; WORD $0x20fa             // vmovups    xmm1, oword [rdx + 8*rdi + 32]
	LONG $0x5410f8c5; WORD $0x40fa             // vmovups    xmm2, oword [rdx + 8*rdi + 64]
	LONG $0x5c10f8c5; WORD $0x60fa             // vmovups    xmm3, oword [rdx + 8*rdi + 96]
	LONG $0x44c6f8c5; WORD $0x10fa; BYTE $0x88 // vshufps    xmm0, xmm0, oword [rdx + 8*rdi + 16], 136
	LONG $0x4cc6f0c5; WORD $0x30fa; BYTE $0x88 // vshufps    xmm1, xmm1, oword [rdx + 8*rdi + 48], 136
	LONG $0x54c6e8c5; WORD $0x50fa; BYTE $0x88 // vshufps    xmm2, xmm2, oword [rdx + 8*rdi + 80], 136
	LONG $0x5cc6e0c5; WORD $0x70fa; BYTE $0x88 // vshufps    xmm3, xmm3, oword [rdx + 8*rdi + 112], 136
	LONG $0x0411f8c5; BYTE $0xb9               // vmovups    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f8c5; WORD $0x10b9             // vmovups    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f8c5; WORD $0x20b9             // vmovups    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f8c5; WORD $0x30b9             // vmovups    oword [rcx + 4*rdi + 48], xmm3

LBB0_1033:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1034:
	WORD $0x048b; BYTE $0xf2 // mov    eax, dword [rdx + 8*rsi]
	WORD $0x0489; BYTE $0xb1 // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_1034
	JMP  LBB0_1553

LBB0_1035:
	WORD $0xff31 // xor    edi, edi

LBB0_1036:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1038
	LONG $0x0410f8c5; BYTE $0xba   // vmovups    xmm0, oword [rdx + 4*rdi]
	LONG $0x1879e2c4; WORD $0x2c4d // vbroadcastss    xmm1, dword 44[rbp] /* [rip + .LCPI0_2] */
	LONG $0xd1c2f8c5; BYTE $0x01   // vcmpltps    xmm2, xmm0, xmm1
	LONG $0xd95cf8c5               // vsubps    xmm3, xmm0, xmm1
	LONG $0xdb5bfac5               // vcvttps2dq    xmm3, xmm3
	LONG $0x1879e2c4; WORD $0x3065 // vbroadcastss    xmm4, dword 48[rbp] /* [rip + .LCPI0_3] */
	LONG $0xdc57e0c5               // vxorps    xmm3, xmm3, xmm4
	LONG $0xc05bfac5               // vcvttps2dq    xmm0, xmm0
	LONG $0x4a61e3c4; WORD $0x20c0 // vblendvps    xmm0, xmm3, xmm0, xmm2
	LONG $0x5410f8c5; WORD $0x10ba // vmovups    xmm2, oword [rdx + 4*rdi + 16]
	LONG $0xd9c2e8c5; BYTE $0x01   // vcmpltps    xmm3, xmm2, xmm1
	LONG $0xe95ce8c5               // vsubps    xmm5, xmm2, xmm1
	LONG $0xed5bfac5               // vcvttps2dq    xmm5, xmm5
	LONG $0xec57d0c5               // vxorps    xmm5, xmm5, xmm4
	LONG $0xd25bfac5               // vcvttps2dq    xmm2, xmm2
	LONG $0x4a51e3c4; WORD $0x30d2 // vblendvps    xmm2, xmm5, xmm2, xmm3
	LONG $0x5c10f8c5; WORD $0x20ba // vmovups    xmm3, oword [rdx + 4*rdi + 32]
	LONG $0xe9c2e0c5; BYTE $0x01   // vcmpltps    xmm5, xmm3, xmm1
	LONG $0xf15ce0c5               // vsubps    xmm6, xmm3, xmm1
	LONG $0xf65bfac5               // vcvttps2dq    xmm6, xmm6
	LONG $0xf457c8c5               // vxorps    xmm6, xmm6, xmm4
	LONG $0xdb5bfac5               // vcvttps2dq    xmm3, xmm3
	LONG $0x4a49e3c4; WORD $0x50db // vblendvps    xmm3, xmm6, xmm3, xmm5
	LONG $0x6c10f8c5; WORD $0x30ba // vmovups    xmm5, oword [rdx + 4*rdi + 48]
	LONG $0xf1c2d0c5; BYTE $0x01   // vcmpltps    xmm6, xmm5, xmm1
	LONG $0xc95cd0c5               // vsubps    xmm1, xmm5, xmm1
	LONG $0xc95bfac5               // vcvttps2dq    xmm1, xmm1
	LONG $0xcc57f0c5               // vxorps    xmm1, xmm1, xmm4
	LONG $0xe55bfac5               // vcvttps2dq    xmm4, xmm5
	LONG $0x4a71e3c4; WORD $0x60cc // vblendvps    xmm1, xmm1, xmm4, xmm6
	LONG $0x0411f8c5; BYTE $0xb9   // vmovups    oword [rcx + 4*rdi], xmm0
	LONG $0x5411f8c5; WORD $0x10b9 // vmovups    oword [rcx + 4*rdi + 16], xmm2
	LONG $0x5c11f8c5; WORD $0x20b9 // vmovups    oword [rcx + 4*rdi + 32], xmm3
	LONG $0x4c11f8c5; WORD $0x30b9 // vmovups    oword [rcx + 4*rdi + 48], xmm1

LBB0_1038:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1039:
	LONG $0x2cfae1c4; WORD $0xb204 // vcvttss2si    rax, dword [rdx + 4*rsi]
	WORD $0x0489; BYTE $0xb1       // mov    dword [rcx + 4*rsi], eax
	LONG $0x01c68348               // add    rsi, 1
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1039
	JMP  LBB0_1553

LBB0_1040:
	WORD $0xff31 // xor    edi, edi

LBB0_1041:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1043
	LONG $0x357de2c4; WORD $0xba04             // vpmovzxdq    ymm0, oword [rdx + 4*rdi]
	LONG $0x357de2c4; WORD $0xba4c; BYTE $0x10 // vpmovzxdq    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x357de2c4; WORD $0xba54; BYTE $0x20 // vpmovzxdq    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x357de2c4; WORD $0xba5c; BYTE $0x30 // vpmovzxdq    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x597de2c4; WORD $0x0865             // vpbroadcastq    ymm4, qword 8[rbp] /* [rip + .LCPI0_5] */
	LONG $0xc4ebfdc5                           // vpor    ymm0, ymm0, ymm4
	LONG $0xc45cfdc5                           // vsubpd    ymm0, ymm0, ymm4
	LONG $0xccebf5c5                           // vpor    ymm1, ymm1, ymm4
	LONG $0xcc5cf5c5                           // vsubpd    ymm1, ymm1, ymm4
	LONG $0xd4ebedc5                           // vpor    ymm2, ymm2, ymm4
	LONG $0xd45cedc5                           // vsubpd    ymm2, ymm2, ymm4
	LONG $0xdcebe5c5                           // vpor    ymm3, ymm3, ymm4
	LONG $0xdc5ce5c5                           // vsubpd    ymm3, ymm3, ymm4
	LONG $0x0411fdc5; BYTE $0xf9               // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9             // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9             // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9             // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_1043:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1044:
	WORD $0x048b; BYTE $0xb2     // mov    eax, dword [rdx + 4*rsi]
	LONG $0x2ad3e1c4; BYTE $0xc0 // vcvtsi2sd    xmm0, xmm5, rax
	LONG $0x0411fbc5; BYTE $0xf1 // vmovsd    qword [rcx + 8*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1044
	JMP  LBB0_1553

LBB0_1045:
	WORD $0xff31 // xor    edi, edi

LBB0_1046:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1048
	LONG $0x3379e2c4; WORD $0x7a04             // vpmovzxwd    xmm0, qword [rdx + 2*rdi]
	LONG $0x3379e2c4; WORD $0x7a4c; BYTE $0x08 // vpmovzxwd    xmm1, qword [rdx + 2*rdi + 8]
	LONG $0x3379e2c4; WORD $0x7a54; BYTE $0x10 // vpmovzxwd    xmm2, qword [rdx + 2*rdi + 16]
	LONG $0x3379e2c4; WORD $0x7a5c; BYTE $0x18 // vpmovzxwd    xmm3, qword [rdx + 2*rdi + 24]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	LONG $0x0411fdc5; BYTE $0xf9               // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9             // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9             // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9             // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_1048:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1049:
	LONG $0x7204b70f             // movzx    eax, word [rdx + 2*rsi]
	LONG $0xc02adbc5             // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x0411fbc5; BYTE $0xf1 // vmovsd    qword [rcx + 8*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1049
	JMP  LBB0_1553

LBB0_1050:
	WORD $0xff31 // xor    edi, edi

LBB0_1051:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1053
	LONG $0x2379e2c4; WORD $0x7a04             // vpmovsxwd    xmm0, qword [rdx + 2*rdi]
	LONG $0x2379e2c4; WORD $0x7a4c; BYTE $0x08 // vpmovsxwd    xmm1, qword [rdx + 2*rdi + 8]
	LONG $0x2379e2c4; WORD $0x7a54; BYTE $0x10 // vpmovsxwd    xmm2, qword [rdx + 2*rdi + 16]
	LONG $0x2379e2c4; WORD $0x7a5c; BYTE $0x18 // vpmovsxwd    xmm3, qword [rdx + 2*rdi + 24]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	LONG $0x0411fdc5; BYTE $0xf9               // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9             // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9             // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9             // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_1053:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1054:
	LONG $0x7204bf0f             // movsx    eax, word [rdx + 2*rsi]
	LONG $0xc02adbc5             // vcvtsi2sd    xmm0, xmm4, eax
	LONG $0x0411fbc5; BYTE $0xf1 // vmovsd    qword [rcx + 8*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1054
	JMP  LBB0_1553

LBB0_1055:
	WORD $0xff31 // xor    edi, edi

LBB0_1056:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1058
	LONG $0x046ffac5; BYTE $0xfa   // vmovdqu    xmm0, oword [rdx + 8*rdi]
	LONG $0x4c6ffac5; WORD $0x10fa // vmovdqu    xmm1, oword [rdx + 8*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 32]
	LONG $0x546ffac5; WORD $0x30fa // vmovdqu    xmm2, oword [rdx + 8*rdi + 48]
	LONG $0x16f9e3c4; WORD $0x01c0 // vpextrq    rax, xmm0, 1
	LONG $0x2aa3e1c4; BYTE $0xe0   // vcvtsi2sd    xmm4, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xc0   // vmovq    rax, xmm0
	LONG $0x2aa3e1c4; BYTE $0xc0   // vcvtsi2sd    xmm0, xmm11, rax
	LONG $0xc41479c5               // vunpcklpd    xmm8, xmm0, xmm4
	LONG $0x16f9e3c4; WORD $0x01c8 // vpextrq    rax, xmm1, 1
	LONG $0x2aa3e1c4; BYTE $0xe0   // vcvtsi2sd    xmm4, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xc8   // vmovq    rax, xmm1
	LONG $0x2aa3e1c4; BYTE $0xc8   // vcvtsi2sd    xmm1, xmm11, rax
	LONG $0xcc14f1c5               // vunpcklpd    xmm1, xmm1, xmm4
	LONG $0x16f9e3c4; WORD $0x01d0 // vpextrq    rax, xmm2, 1
	LONG $0x2aa3e1c4; BYTE $0xe0   // vcvtsi2sd    xmm4, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xd0   // vmovq    rax, xmm2
	LONG $0x2aa3e1c4; BYTE $0xd0   // vcvtsi2sd    xmm2, xmm11, rax
	LONG $0xd414e9c5               // vunpcklpd    xmm2, xmm2, xmm4
	LONG $0x16f9e3c4; WORD $0x01d8 // vpextrq    rax, xmm3, 1
	LONG $0x2aa3e1c4; BYTE $0xe0   // vcvtsi2sd    xmm4, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xd8   // vmovq    rax, xmm3
	LONG $0x2aa3e1c4; BYTE $0xd8   // vcvtsi2sd    xmm3, xmm11, rax
	LONG $0x6c6ffac5; WORD $0x50fa // vmovdqu    xmm5, oword [rdx + 8*rdi + 80]
	LONG $0x16f9e3c4; WORD $0x01e8 // vpextrq    rax, xmm5, 1
	LONG $0x2aa3e1c4; BYTE $0xf0   // vcvtsi2sd    xmm6, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xe8   // vmovq    rax, xmm5
	LONG $0x2aa3e1c4; BYTE $0xe8   // vcvtsi2sd    xmm5, xmm11, rax
	LONG $0x7c6ffac5; WORD $0x40fa // vmovdqu    xmm7, oword [rdx + 8*rdi + 64]
	LONG $0x16f9e3c4; WORD $0x01f8 // vpextrq    rax, xmm7, 1
	LONG $0x2aa3e1c4; BYTE $0xc0   // vcvtsi2sd    xmm0, xmm11, rax
	LONG $0xdc14e1c5               // vunpcklpd    xmm3, xmm3, xmm4
	LONG $0x7ef9e1c4; BYTE $0xf8   // vmovq    rax, xmm7
	LONG $0x2aa3e1c4; BYTE $0xe0   // vcvtsi2sd    xmm4, xmm11, rax
	LONG $0xee14d1c5               // vunpcklpd    xmm5, xmm5, xmm6
	LONG $0x746ffac5; WORD $0x70fa // vmovdqu    xmm6, oword [rdx + 8*rdi + 112]
	LONG $0x16f9e3c4; WORD $0x01f0 // vpextrq    rax, xmm6, 1
	LONG $0xc014d9c5               // vunpcklpd    xmm0, xmm4, xmm0
	LONG $0x2aa3e1c4; BYTE $0xe0   // vcvtsi2sd    xmm4, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xf0   // vmovq    rax, xmm6
	LONG $0x2aa3e1c4; BYTE $0xf0   // vcvtsi2sd    xmm6, xmm11, rax
	LONG $0xe414c9c5               // vunpcklpd    xmm4, xmm6, xmm4
	LONG $0x746ffac5; WORD $0x60fa // vmovdqu    xmm6, oword [rdx + 8*rdi + 96]
	LONG $0x16f9e3c4; WORD $0x01f0 // vpextrq    rax, xmm6, 1
	LONG $0x2aa3e1c4; BYTE $0xf8   // vcvtsi2sd    xmm7, xmm11, rax
	LONG $0x7ef9e1c4; BYTE $0xf0   // vmovq    rax, xmm6
	LONG $0x2aa3e1c4; BYTE $0xf0   // vcvtsi2sd    xmm6, xmm11, rax
	LONG $0xf714c9c5               // vunpcklpd    xmm6, xmm6, xmm7
	LONG $0x4c11f9c5; WORD $0x10f9 // vmovupd    oword [rcx + 8*rdi + 16], xmm1
	LONG $0x041179c5; BYTE $0xf9   // vmovupd    oword [rcx + 8*rdi], xmm8
	LONG $0x5c11f9c5; WORD $0x20f9 // vmovupd    oword [rcx + 8*rdi + 32], xmm3
	LONG $0x5411f9c5; WORD $0x30f9 // vmovupd    oword [rcx + 8*rdi + 48], xmm2
	LONG $0x4411f9c5; WORD $0x40f9 // vmovupd    oword [rcx + 8*rdi + 64], xmm0
	LONG $0x6c11f9c5; WORD $0x50f9 // vmovupd    oword [rcx + 8*rdi + 80], xmm5
	LONG $0x7411f9c5; WORD $0x60f9 // vmovupd    oword [rcx + 8*rdi + 96], xmm6
	LONG $0x6411f9c5; WORD $0x70f9 // vmovupd    oword [rcx + 8*rdi + 112], xmm4

LBB0_1058:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1059:
	LONG $0x2aa3e1c4; WORD $0xf204 // vcvtsi2sd    xmm0, xmm11, qword [rdx + 8*rsi]
	LONG $0x0411fbc5; BYTE $0xf1   // vmovsd    qword [rcx + 8*rsi], xmm0
	LONG $0x01c68348               // add    rsi, 1
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1059
	JMP  LBB0_1553

LBB0_1060:
	WORD $0xff31 // xor    edi, edi

LBB0_1061:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1063
	LONG $0x045afcc5; BYTE $0xba   // vcvtps2pd    ymm0, oword [rdx + 4*rdi]
	LONG $0x4c5afcc5; WORD $0x10ba // vcvtps2pd    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x545afcc5; WORD $0x20ba // vcvtps2pd    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x5c5afcc5; WORD $0x30ba // vcvtps2pd    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x0411fdc5; BYTE $0xf9   // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9 // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9 // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9 // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_1063:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1064:
	LONG $0x0410fac5; BYTE $0xb2 // vmovss    xmm0, dword [rdx + 4*rsi]
	LONG $0xc05afac5             // vcvtss2sd    xmm0, xmm0, xmm0
	LONG $0x0411fbc5; BYTE $0xf1 // vmovsd    qword [rcx + 8*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1064
	JMP  LBB0_1553

LBB0_1065:
	WORD $0xff31 // xor    edi, edi

LBB0_1066:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1068
	LONG $0x046ffec5; BYTE $0xba   // vmovdqu    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c6ffec5; WORD $0x20ba // vmovdqu    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x546ffec5; WORD $0x40ba // vmovdqu    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c6ffec5; WORD $0x60ba // vmovdqu    ymm3, yword [rdx + 4*rdi + 96]
	QUAD $0x00000080a56ffdc5       // vmovdqa    ymm4, yword 128[rbp] /* [rip + .LCPI0_11] */
	LONG $0x007de2c4; BYTE $0xc4   // vpshufb    ymm0, ymm0, ymm4
	LONG $0x00fde3c4; WORD $0xe8c0 // vpermq    ymm0, ymm0, 232
	LONG $0x0075e2c4; BYTE $0xcc   // vpshufb    ymm1, ymm1, ymm4
	LONG $0x00fde3c4; WORD $0xe8c9 // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd4   // vpshufb    ymm2, ymm2, ymm4
	LONG $0x00fde3c4; WORD $0xe8d2 // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xdc   // vpshufb    ymm3, ymm3, ymm4
	LONG $0x00fde3c4; WORD $0xe8db // vpermq    ymm3, ymm3, 232
	LONG $0x047ffac5; BYTE $0x79   // vmovdqu    oword [rcx + 2*rdi], xmm0
	LONG $0x4c7ffac5; WORD $0x1079 // vmovdqu    oword [rcx + 2*rdi + 16], xmm1
	LONG $0x547ffac5; WORD $0x2079 // vmovdqu    oword [rcx + 2*rdi + 32], xmm2
	LONG $0x5c7ffac5; WORD $0x3079 // vmovdqu    oword [rcx + 2*rdi + 48], xmm3

LBB0_1068:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1069:
	LONG $0xb204b70f         // movzx    eax, word [rdx + 4*rsi]
	LONG $0x71048966         // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_1069
	JMP  LBB0_1553

LBB0_1070:
	WORD $0xff31 // xor    edi, edi

LBB0_1071:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1073
	LONG $0x046ffec5; BYTE $0xba   // vmovdqu    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c6ffec5; WORD $0x20ba // vmovdqu    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x546ffec5; WORD $0x40ba // vmovdqu    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c6ffec5; WORD $0x60ba // vmovdqu    ymm3, yword [rdx + 4*rdi + 96]
	QUAD $0x00000080a56ffdc5       // vmovdqa    ymm4, yword 128[rbp] /* [rip + .LCPI0_11] */
	LONG $0x007de2c4; BYTE $0xc4   // vpshufb    ymm0, ymm0, ymm4
	LONG $0x00fde3c4; WORD $0xe8c0 // vpermq    ymm0, ymm0, 232
	LONG $0x0075e2c4; BYTE $0xcc   // vpshufb    ymm1, ymm1, ymm4
	LONG $0x00fde3c4; WORD $0xe8c9 // vpermq    ymm1, ymm1, 232
	LONG $0x006de2c4; BYTE $0xd4   // vpshufb    ymm2, ymm2, ymm4
	LONG $0x00fde3c4; WORD $0xe8d2 // vpermq    ymm2, ymm2, 232
	LONG $0x0065e2c4; BYTE $0xdc   // vpshufb    ymm3, ymm3, ymm4
	LONG $0x00fde3c4; WORD $0xe8db // vpermq    ymm3, ymm3, 232
	LONG $0x047ffac5; BYTE $0x79   // vmovdqu    oword [rcx + 2*rdi], xmm0
	LONG $0x4c7ffac5; WORD $0x1079 // vmovdqu    oword [rcx + 2*rdi + 16], xmm1
	LONG $0x547ffac5; WORD $0x2079 // vmovdqu    oword [rcx + 2*rdi + 32], xmm2
	LONG $0x5c7ffac5; WORD $0x3079 // vmovdqu    oword [rcx + 2*rdi + 48], xmm3

LBB0_1073:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1074:
	LONG $0xb204b70f         // movzx    eax, word [rdx + 4*rsi]
	LONG $0x71048966         // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_1074
	JMP  LBB0_1553

LBB0_1075:
	WORD $0xff31 // xor    edi, edi

LBB0_1076:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1078
	LONG $0x04e6fdc5; BYTE $0xfa   // vcvttpd2dq    xmm0, yword [rdx + 8*rdi]
	LONG $0x4ce6fdc5; WORD $0x20fa // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0x54e6fdc5; WORD $0x40fa // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 64]
	LONG $0x5ce6fdc5; WORD $0x60fa // vcvttpd2dq    xmm3, yword [rdx + 8*rdi + 96]
	LONG $0x186de3c4; WORD $0x01d3 // vinsertf128    ymm2, ymm2, xmm3, 1
	LONG $0x2b6de2c4; BYTE $0xd0   // vpackusdw    ymm2, ymm2, ymm0
	LONG $0x187de3c4; WORD $0x01c1 // vinsertf128    ymm0, ymm0, xmm1, 1
	LONG $0x2b7de2c4; BYTE $0xc0   // vpackusdw    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5               // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0 // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x79   // vmovdqu    yword [rcx + 2*rdi], ymm0

LBB0_1078:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1079:
	LONG $0x042cfbc5; BYTE $0xf2 // vcvttsd2si    eax, qword [rdx + 8*rsi]
	LONG $0x71048966             // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1079
	JMP  LBB0_1553

LBB0_1080:
	WORD $0xff31 // xor    edi, edi

LBB0_1081:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1083
	LONG $0x04e6fdc5; BYTE $0xfa   // vcvttpd2dq    xmm0, yword [rdx + 8*rdi]
	LONG $0x4ce6fdc5; WORD $0x20fa // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0x54e6fdc5; WORD $0x40fa // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 64]
	LONG $0x5ce6fdc5; WORD $0x60fa // vcvttpd2dq    xmm3, yword [rdx + 8*rdi + 96]
	LONG $0x186de3c4; WORD $0x01d3 // vinsertf128    ymm2, ymm2, xmm3, 1
	LONG $0xd06bedc5               // vpackssdw    ymm2, ymm2, ymm0
	LONG $0x187de3c4; WORD $0x01c1 // vinsertf128    ymm0, ymm0, xmm1, 1
	LONG $0xc06bfdc5               // vpackssdw    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5               // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0 // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x79   // vmovdqu    yword [rcx + 2*rdi], ymm0

LBB0_1083:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1084:
	LONG $0x042cfbc5; BYTE $0xf2 // vcvttsd2si    eax, qword [rdx + 8*rsi]
	LONG $0x71048966             // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1084
	JMP  LBB0_1553

LBB0_1085:
	WORD $0xff31 // xor    edi, edi

LBB0_1086:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1088
	LONG $0xc0eff9c5                           // vpxor    xmm0, xmm0, xmm0
	LONG $0x0e79e3c4; WORD $0xfa0c; BYTE $0x11 // vpblendw    xmm1, xmm0, oword [rdx + 8*rdi], 17
	QUAD $0x1110fa540e79e3c4                   // vpblendw    xmm2, xmm0, oword [rdx + 8*rdi + 16], 17
	QUAD $0x1120fa5c0e79e3c4                   // vpblendw    xmm3, xmm0, oword [rdx + 8*rdi + 32], 17
	QUAD $0x1130fa640e79e3c4                   // vpblendw    xmm4, xmm0, oword [rdx + 8*rdi + 48], 17
	QUAD $0x1140fa6c0e79e3c4                   // vpblendw    xmm5, xmm0, oword [rdx + 8*rdi + 64], 17
	QUAD $0x1150fa740e79e3c4                   // vpblendw    xmm6, xmm0, oword [rdx + 8*rdi + 80], 17
	QUAD $0x1160fa7c0e79e3c4                   // vpblendw    xmm7, xmm0, oword [rdx + 8*rdi + 96], 17
	QUAD $0x1170fa440e79e3c4                   // vpblendw    xmm0, xmm0, oword [rdx + 8*rdi + 112], 17
	LONG $0x384de3c4; WORD $0x01c0             // vinserti128    ymm0, ymm6, xmm0, 1
	LONG $0x3855e3c4; WORD $0x01ef             // vinserti128    ymm5, ymm5, xmm7, 1
	LONG $0x2b55e2c4; BYTE $0xc0               // vpackusdw    ymm0, ymm5, ymm0
	LONG $0x2b7de2c4; BYTE $0xc0               // vpackusdw    ymm0, ymm0, ymm0
	LONG $0x386de3c4; WORD $0x01d4             // vinserti128    ymm2, ymm2, xmm4, 1
	LONG $0x3875e3c4; WORD $0x01cb             // vinserti128    ymm1, ymm1, xmm3, 1
	LONG $0x2b75e2c4; BYTE $0xca               // vpackusdw    ymm1, ymm1, ymm2
	LONG $0x2b75e2c4; BYTE $0xc8               // vpackusdw    ymm1, ymm1, ymm0
	LONG $0xc06cf5c5                           // vpunpcklqdq    ymm0, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xd8c0             // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0

LBB0_1088:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1089:
	LONG $0xf204b70f         // movzx    eax, word [rdx + 8*rsi]
	LONG $0x71048966         // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_1089
	JMP  LBB0_1553

LBB0_1090:
	WORD $0xff31 // xor    edi, edi

LBB0_1091:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1093
	LONG $0x045bfec5; BYTE $0xba   // vcvttps2dq    ymm0, yword [rdx + 4*rdi]
	LONG $0x397de3c4; WORD $0x01c1 // vextracti128    xmm1, ymm0, 1
	LONG $0x2b79e2c4; BYTE $0xc1   // vpackusdw    xmm0, xmm0, xmm1
	LONG $0x4c5bfec5; WORD $0x20ba // vcvttps2dq    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x397de3c4; WORD $0x01ca // vextracti128    xmm2, ymm1, 1
	LONG $0x2b71e2c4; BYTE $0xca   // vpackusdw    xmm1, xmm1, xmm2
	LONG $0x545bfec5; WORD $0x40ba // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x397de3c4; WORD $0x01d3 // vextracti128    xmm3, ymm2, 1
	LONG $0x2b69e2c4; BYTE $0xd3   // vpackusdw    xmm2, xmm2, xmm3
	LONG $0x5c5bfec5; WORD $0x60ba // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x397de3c4; WORD $0x01dc // vextracti128    xmm4, ymm3, 1
	LONG $0x2b61e2c4; BYTE $0xdc   // vpackusdw    xmm3, xmm3, xmm4
	LONG $0x047ffac5; BYTE $0x79   // vmovdqu    oword [rcx + 2*rdi], xmm0
	LONG $0x4c7ffac5; WORD $0x1079 // vmovdqu    oword [rcx + 2*rdi + 16], xmm1
	LONG $0x547ffac5; WORD $0x2079 // vmovdqu    oword [rcx + 2*rdi + 32], xmm2
	LONG $0x5c7ffac5; WORD $0x3079 // vmovdqu    oword [rcx + 2*rdi + 48], xmm3

LBB0_1093:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1094:
	LONG $0x042cfac5; BYTE $0xb2 // vcvttss2si    eax, dword [rdx + 4*rsi]
	LONG $0x71048966             // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1094
	JMP  LBB0_1553

LBB0_1095:
	WORD $0xff31 // xor    edi, edi

LBB0_1096:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1098
	LONG $0x045bfec5; BYTE $0xba   // vcvttps2dq    ymm0, yword [rdx + 4*rdi]
	LONG $0x397de3c4; WORD $0x01c1 // vextracti128    xmm1, ymm0, 1
	LONG $0xc16bf9c5               // vpackssdw    xmm0, xmm0, xmm1
	LONG $0x4c5bfec5; WORD $0x20ba // vcvttps2dq    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x397de3c4; WORD $0x01ca // vextracti128    xmm2, ymm1, 1
	LONG $0xca6bf1c5               // vpackssdw    xmm1, xmm1, xmm2
	LONG $0x545bfec5; WORD $0x40ba // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x397de3c4; WORD $0x01d3 // vextracti128    xmm3, ymm2, 1
	LONG $0xd36be9c5               // vpackssdw    xmm2, xmm2, xmm3
	LONG $0x5c5bfec5; WORD $0x60ba // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x397de3c4; WORD $0x01dc // vextracti128    xmm4, ymm3, 1
	LONG $0xdc6be1c5               // vpackssdw    xmm3, xmm3, xmm4
	LONG $0x047ffac5; BYTE $0x79   // vmovdqu    oword [rcx + 2*rdi], xmm0
	LONG $0x4c7ffac5; WORD $0x1079 // vmovdqu    oword [rcx + 2*rdi + 16], xmm1
	LONG $0x547ffac5; WORD $0x2079 // vmovdqu    oword [rcx + 2*rdi + 32], xmm2
	LONG $0x5c7ffac5; WORD $0x3079 // vmovdqu    oword [rcx + 2*rdi + 48], xmm3

LBB0_1098:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1099:
	LONG $0x042cfac5; BYTE $0xb2 // vcvttss2si    eax, dword [rdx + 4*rsi]
	LONG $0x71048966             // mov    word [rcx + 2*rsi], ax
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1099
	JMP  LBB0_1553

LBB0_1100:
	WORD $0xff31 // xor    edi, edi

LBB0_1101:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1103
	LONG $0x357de2c4; WORD $0xba04             // vpmovzxdq    ymm0, oword [rdx + 4*rdi]
	LONG $0x357de2c4; WORD $0xba4c; BYTE $0x10 // vpmovzxdq    ymm1, oword [rdx + 4*rdi + 16]
	LONG $0x357de2c4; WORD $0xba54; BYTE $0x20 // vpmovzxdq    ymm2, oword [rdx + 4*rdi + 32]
	LONG $0x357de2c4; WORD $0xba5c; BYTE $0x30 // vpmovzxdq    ymm3, oword [rdx + 4*rdi + 48]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_1103:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1104:
	WORD $0x048b; BYTE $0xb2 // mov    eax, dword [rdx + 4*rsi]
	LONG $0xf1048948         // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348         // add    rsi, 1
	WORD $0x3949; BYTE $0xf1 // cmp    r9, rsi
	JNE  LBB0_1104
	JMP  LBB0_1553

LBB0_1105:
	WORD $0xff31 // xor    edi, edi

LBB0_1106:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1108
	LONG $0x046ffec5; BYTE $0xba   // vmovdqu    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c6ffec5; WORD $0x20ba // vmovdqu    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x546ffec5; WORD $0x40ba // vmovdqu    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x587de2c4; WORD $0x345d // vpbroadcastd    ymm3, dword 52[rbp] /* [rip + .LCPI0_13] */
	LONG $0x646ffec5; WORD $0x60ba // vmovdqu    ymm4, yword [rdx + 4*rdi + 96]
	LONG $0x0e7de3c4; WORD $0xaaeb // vpblendw    ymm5, ymm0, ymm3, 170
	LONG $0x587de2c4; WORD $0x3875 // vpbroadcastd    ymm6, dword 56[rbp] /* [rip + .LCPI0_14] */
	LONG $0xd072fdc5; BYTE $0x10   // vpsrld    ymm0, ymm0, 16
	LONG $0x0e7de3c4; WORD $0xaac6 // vpblendw    ymm0, ymm0, ymm6, 170
	LONG $0x187de2c4; WORD $0x3c7d // vbroadcastss    ymm7, dword 60[rbp] /* [rip + .LCPI0_15] */
	LONG $0xc75cfcc5               // vsubps    ymm0, ymm0, ymm7
	LONG $0xc058d4c5               // vaddps    ymm0, ymm5, ymm0
	LONG $0x0e75e3c4; WORD $0xaaeb // vpblendw    ymm5, ymm1, ymm3, 170
	LONG $0xd172f5c5; BYTE $0x10   // vpsrld    ymm1, ymm1, 16
	LONG $0x0e75e3c4; WORD $0xaace // vpblendw    ymm1, ymm1, ymm6, 170
	LONG $0xcf5cf4c5               // vsubps    ymm1, ymm1, ymm7
	LONG $0xc958d4c5               // vaddps    ymm1, ymm5, ymm1
	LONG $0x0e6de3c4; WORD $0xaaeb // vpblendw    ymm5, ymm2, ymm3, 170
	LONG $0xd272edc5; BYTE $0x10   // vpsrld    ymm2, ymm2, 16
	LONG $0x0e6de3c4; WORD $0xaad6 // vpblendw    ymm2, ymm2, ymm6, 170
	LONG $0xd75cecc5               // vsubps    ymm2, ymm2, ymm7
	LONG $0xd258d4c5               // vaddps    ymm2, ymm5, ymm2
	LONG $0x0e5de3c4; WORD $0xaadb // vpblendw    ymm3, ymm4, ymm3, 170
	LONG $0xd472ddc5; BYTE $0x10   // vpsrld    ymm4, ymm4, 16
	LONG $0x0e5de3c4; WORD $0xaae6 // vpblendw    ymm4, ymm4, ymm6, 170
	LONG $0xe75cdcc5               // vsubps    ymm4, ymm4, ymm7
	LONG $0xdc58e4c5               // vaddps    ymm3, ymm3, ymm4
	LONG $0x0411fcc5; BYTE $0xb9   // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9 // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9 // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9 // vmovups    yword [rcx + 4*rdi + 96], ymm3

LBB0_1108:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1109:
	WORD $0x048b; BYTE $0xb2     // mov    eax, dword [rdx + 4*rsi]
	LONG $0x2abae1c4; BYTE $0xc0 // vcvtsi2ss    xmm0, xmm8, rax
	LONG $0x0411fac5; BYTE $0xb1 // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1109
	JMP  LBB0_1553

LBB0_1110:
	WORD $0xff31 // xor    edi, edi

LBB0_1111:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1113
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x08 // vcvttsd2si    rax, qword [rdx + 8*rdi + 8]
	LONG $0x6ef9e1c4; BYTE $0xc0               // vmovq    xmm0, rax
	LONG $0x2cfbe1c4; WORD $0xfa04             // vcvttsd2si    rax, qword [rdx + 8*rdi]
	LONG $0x6ef9e1c4; BYTE $0xc8               // vmovq    xmm1, rax
	LONG $0xc06c71c5                           // vpunpcklqdq    xmm8, xmm1, xmm0
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x18 // vcvttsd2si    rax, qword [rdx + 8*rdi + 24]
	LONG $0x6ef9e1c4; BYTE $0xc8               // vmovq    xmm1, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x10 // vcvttsd2si    rax, qword [rdx + 8*rdi + 16]
	LONG $0x6ef9e1c4; BYTE $0xd0               // vmovq    xmm2, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x38 // vcvttsd2si    rax, qword [rdx + 8*rdi + 56]
	LONG $0xc96ce9c5                           // vpunpcklqdq    xmm1, xmm2, xmm1
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x30 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 48]
	LONG $0x6ef9e1c4; BYTE $0xd0               // vmovq    xmm2, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x28 // vcvttsd2si    rax, qword [rdx + 8*rdi + 40]
	LONG $0x6ef9e1c4; BYTE $0xdb               // vmovq    xmm3, rbx
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x20 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 32]
	LONG $0xd26ce1c5                           // vpunpcklqdq    xmm2, xmm3, xmm2
	LONG $0x6ef9e1c4; BYTE $0xd8               // vmovq    xmm3, rax
	LONG $0x6ef9e1c4; BYTE $0xe3               // vmovq    xmm4, rbx
	LONG $0xdb6cd9c5                           // vpunpcklqdq    xmm3, xmm4, xmm3
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x58 // vcvttsd2si    rax, qword [rdx + 8*rdi + 88]
	LONG $0x6ef9e1c4; BYTE $0xe0               // vmovq    xmm4, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x50 // vcvttsd2si    rax, qword [rdx + 8*rdi + 80]
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	LONG $0xe46cd1c5                           // vpunpcklqdq    xmm4, xmm5, xmm4
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x48 // vcvttsd2si    rax, qword [rdx + 8*rdi + 72]
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x40 // vcvttsd2si    rax, qword [rdx + 8*rdi + 64]
	LONG $0x6ef9e1c4; BYTE $0xf0               // vmovq    xmm6, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x78 // vcvttsd2si    rax, qword [rdx + 8*rdi + 120]
	LONG $0xed6cc9c5                           // vpunpcklqdq    xmm5, xmm6, xmm5
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x70 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 112]
	LONG $0x6ef9e1c4; BYTE $0xf0               // vmovq    xmm6, rax
	LONG $0x2cfbe1c4; WORD $0xfa44; BYTE $0x68 // vcvttsd2si    rax, qword [rdx + 8*rdi + 104]
	LONG $0x6ef9e1c4; BYTE $0xfb               // vmovq    xmm7, rbx
	LONG $0x2cfbe1c4; WORD $0xfa5c; BYTE $0x60 // vcvttsd2si    rbx, qword [rdx + 8*rdi + 96]
	LONG $0x6ef9e1c4; BYTE $0xc0               // vmovq    xmm0, rax
	LONG $0xf66cc1c5                           // vpunpcklqdq    xmm6, xmm7, xmm6
	LONG $0x6ef9e1c4; BYTE $0xfb               // vmovq    xmm7, rbx
	LONG $0xc06cc1c5                           // vpunpcklqdq    xmm0, xmm7, xmm0
	LONG $0x4c7ffac5; WORD $0x10f9             // vmovdqu    oword [rcx + 8*rdi + 16], xmm1
	LONG $0x047f7ac5; BYTE $0xf9               // vmovdqu    oword [rcx + 8*rdi], xmm8
	LONG $0x5c7ffac5; WORD $0x20f9             // vmovdqu    oword [rcx + 8*rdi + 32], xmm3
	LONG $0x547ffac5; WORD $0x30f9             // vmovdqu    oword [rcx + 8*rdi + 48], xmm2
	LONG $0x6c7ffac5; WORD $0x40f9             // vmovdqu    oword [rcx + 8*rdi + 64], xmm5
	LONG $0x647ffac5; WORD $0x50f9             // vmovdqu    oword [rcx + 8*rdi + 80], xmm4
	LONG $0x447ffac5; WORD $0x60f9             // vmovdqu    oword [rcx + 8*rdi + 96], xmm0
	LONG $0x747ffac5; WORD $0x70f9             // vmovdqu    oword [rcx + 8*rdi + 112], xmm6

LBB0_1113:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1114:
	LONG $0x2cfbe1c4; WORD $0xf204 // vcvttsd2si    rax, qword [rdx + 8*rsi]
	LONG $0xf1048948               // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348               // add    rsi, 1
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1114
	JMP  LBB0_1553

LBB0_1115:
	WORD $0xff31 // xor    edi, edi

LBB0_1116:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1118
	LONG $0x045afdc5; BYTE $0xfa   // vcvtpd2ps    xmm0, yword [rdx + 8*rdi]
	LONG $0x4c5afdc5; WORD $0x20fa // vcvtpd2ps    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0x545afdc5; WORD $0x40fa // vcvtpd2ps    xmm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c5afdc5; WORD $0x60fa // vcvtpd2ps    xmm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411f9c5; BYTE $0xb9   // vmovupd    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f9c5; WORD $0x10b9 // vmovupd    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f9c5; WORD $0x20b9 // vmovupd    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f9c5; WORD $0x30b9 // vmovupd    oword [rcx + 4*rdi + 48], xmm3

LBB0_1118:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1119:
	LONG $0x0410fbc5; BYTE $0xf2 // vmovsd    xmm0, qword [rdx + 8*rsi]
	LONG $0xc05afbc5             // vcvtsd2ss    xmm0, xmm0, xmm0
	LONG $0x0411fac5; BYTE $0xb1 // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1119
	JMP  LBB0_1553

LBB0_1120:
	WORD $0xff31 // xor    edi, edi

LBB0_1121:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1123
	LONG $0x337de2c4; WORD $0x7a04             // vpmovzxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x337de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovzxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x337de2c4; WORD $0x7a54; BYTE $0x20 // vpmovzxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x337de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovzxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	LONG $0x0411fcc5; BYTE $0xb9               // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9             // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9             // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9             // vmovups    yword [rcx + 4*rdi + 96], ymm3

LBB0_1123:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1124:
	LONG $0x7204b70f             // movzx    eax, word [rdx + 2*rsi]
	LONG $0xc02adac5             // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x0411fac5; BYTE $0xb1 // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1124
	JMP  LBB0_1553

LBB0_1125:
	WORD $0xff31 // xor    edi, edi

LBB0_1126:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1128
	LONG $0x247de2c4; WORD $0x7a04             // vpmovsxwq    ymm0, qword [rdx + 2*rdi]
	LONG $0x247de2c4; WORD $0x7a4c; BYTE $0x08 // vpmovsxwq    ymm1, qword [rdx + 2*rdi + 8]
	LONG $0x247de2c4; WORD $0x7a54; BYTE $0x10 // vpmovsxwq    ymm2, qword [rdx + 2*rdi + 16]
	LONG $0x247de2c4; WORD $0x7a5c; BYTE $0x18 // vpmovsxwq    ymm3, qword [rdx + 2*rdi + 24]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_1128:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1129:
	LONG $0x04bf0f48; BYTE $0x72 // movsx    rax, word [rdx + 2*rsi]
	LONG $0xf1048948             // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1129
	JMP  LBB0_1553

LBB0_1130:
	WORD $0xff31 // xor    edi, edi

LBB0_1131:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1133
	LONG $0x237de2c4; WORD $0x7a04             // vpmovsxwd    ymm0, oword [rdx + 2*rdi]
	LONG $0x237de2c4; WORD $0x7a4c; BYTE $0x10 // vpmovsxwd    ymm1, oword [rdx + 2*rdi + 16]
	LONG $0x237de2c4; WORD $0x7a54; BYTE $0x20 // vpmovsxwd    ymm2, oword [rdx + 2*rdi + 32]
	LONG $0x237de2c4; WORD $0x7a5c; BYTE $0x30 // vpmovsxwd    ymm3, oword [rdx + 2*rdi + 48]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	LONG $0x0411fcc5; BYTE $0xb9               // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9             // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9             // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9             // vmovups    yword [rcx + 4*rdi + 96], ymm3

LBB0_1133:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1134:
	LONG $0x7204bf0f             // movsx    eax, word [rdx + 2*rsi]
	LONG $0xc02adac5             // vcvtsi2ss    xmm0, xmm4, eax
	LONG $0x0411fac5; BYTE $0xb1 // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x01c68348             // add    rsi, 1
	WORD $0x3949; BYTE $0xf1     // cmp    r9, rsi
	JNE  LBB0_1134
	JMP  LBB0_1553

LBB0_1135:
	WORD $0xff31 // xor    edi, edi

LBB0_1136:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1138
	LONG $0x046ffac5; BYTE $0xfa   // vmovdqu    xmm0, oword [rdx + 8*rdi]
	LONG $0x16f9e3c4; WORD $0x01c0 // vpextrq    rax, xmm0, 1
	LONG $0x4c6ffac5; WORD $0x10fa // vmovdqu    xmm1, oword [rdx + 8*rdi + 16]
	LONG $0x2abae1c4; BYTE $0xd0   // vcvtsi2ss    xmm2, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xc0   // vmovq    rax, xmm0
	LONG $0x2abae1c4; BYTE $0xc0   // vcvtsi2ss    xmm0, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xc8   // vmovq    rax, xmm1
	LONG $0x2abae1c4; BYTE $0xd8   // vcvtsi2ss    xmm3, xmm8, rax
	LONG $0x16f9e3c4; WORD $0x01c8 // vpextrq    rax, xmm1, 1
	LONG $0x2abae1c4; BYTE $0xc8   // vcvtsi2ss    xmm1, xmm8, rax
	LONG $0x646ffac5; WORD $0x20fa // vmovdqu    xmm4, oword [rdx + 8*rdi + 32]
	LONG $0x6c6ffac5; WORD $0x30fa // vmovdqu    xmm5, oword [rdx + 8*rdi + 48]
	LONG $0x16f9e3c4; WORD $0x01e0 // vpextrq    rax, xmm4, 1
	LONG $0x2179e3c4; WORD $0x10c2 // vinsertps    xmm0, xmm0, xmm2, 16
	LONG $0x2abae1c4; BYTE $0xd0   // vcvtsi2ss    xmm2, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xe0   // vmovq    rax, xmm4
	LONG $0x2abae1c4; BYTE $0xe0   // vcvtsi2ss    xmm4, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xe8   // vmovq    rax, xmm5
	LONG $0x2abae1c4; BYTE $0xf0   // vcvtsi2ss    xmm6, xmm8, rax
	LONG $0x2179e3c4; WORD $0x20c3 // vinsertps    xmm0, xmm0, xmm3, 32
	LONG $0x2179e3c4; WORD $0x30c1 // vinsertps    xmm0, xmm0, xmm1, 48
	LONG $0x16f9e3c4; WORD $0x01e8 // vpextrq    rax, xmm5, 1
	LONG $0x2159e3c4; WORD $0x10ca // vinsertps    xmm1, xmm4, xmm2, 16
	LONG $0x2abae1c4; BYTE $0xd0   // vcvtsi2ss    xmm2, xmm8, rax
	LONG $0x2171e3c4; WORD $0x20ce // vinsertps    xmm1, xmm1, xmm6, 32
	LONG $0x5c6ffac5; WORD $0x40fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 64]
	LONG $0x16f9e3c4; WORD $0x01d8 // vpextrq    rax, xmm3, 1
	LONG $0x2abae1c4; BYTE $0xe0   // vcvtsi2ss    xmm4, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xd8   // vmovq    rax, xmm3
	LONG $0x2abae1c4; BYTE $0xd8   // vcvtsi2ss    xmm3, xmm8, rax
	LONG $0x6c6ffac5; WORD $0x50fa // vmovdqu    xmm5, oword [rdx + 8*rdi + 80]
	LONG $0x7ef9e1c4; BYTE $0xe8   // vmovq    rax, xmm5
	LONG $0x2abae1c4; BYTE $0xf0   // vcvtsi2ss    xmm6, xmm8, rax
	LONG $0x2171e3c4; WORD $0x30ca // vinsertps    xmm1, xmm1, xmm2, 48
	LONG $0x2161e3c4; WORD $0x10d4 // vinsertps    xmm2, xmm3, xmm4, 16
	LONG $0x16f9e3c4; WORD $0x01e8 // vpextrq    rax, xmm5, 1
	LONG $0x2169e3c4; WORD $0x20d6 // vinsertps    xmm2, xmm2, xmm6, 32
	LONG $0x2abae1c4; BYTE $0xd8   // vcvtsi2ss    xmm3, xmm8, rax
	LONG $0x2169e3c4; WORD $0x30d3 // vinsertps    xmm2, xmm2, xmm3, 48
	LONG $0x5c6ffac5; WORD $0x60fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 96]
	LONG $0x16f9e3c4; WORD $0x01d8 // vpextrq    rax, xmm3, 1
	LONG $0x2abae1c4; BYTE $0xe0   // vcvtsi2ss    xmm4, xmm8, rax
	LONG $0x7ef9e1c4; BYTE $0xd8   // vmovq    rax, xmm3
	LONG $0x2abae1c4; BYTE $0xd8   // vcvtsi2ss    xmm3, xmm8, rax
	LONG $0x6c6ffac5; WORD $0x70fa // vmovdqu    xmm5, oword [rdx + 8*rdi + 112]
	LONG $0x7ef9e1c4; BYTE $0xe8   // vmovq    rax, xmm5
	LONG $0x2abae1c4; BYTE $0xf0   // vcvtsi2ss    xmm6, xmm8, rax
	LONG $0x2161e3c4; WORD $0x10dc // vinsertps    xmm3, xmm3, xmm4, 16
	LONG $0x2161e3c4; WORD $0x20de // vinsertps    xmm3, xmm3, xmm6, 32
	LONG $0x16f9e3c4; WORD $0x01e8 // vpextrq    rax, xmm5, 1
	LONG $0x2abae1c4; BYTE $0xe0   // vcvtsi2ss    xmm4, xmm8, rax
	LONG $0x2161e3c4; WORD $0x30dc // vinsertps    xmm3, xmm3, xmm4, 48
	LONG $0x0411f8c5; BYTE $0xb9   // vmovups    oword [rcx + 4*rdi], xmm0
	LONG $0x4c11f8c5; WORD $0x10b9 // vmovups    oword [rcx + 4*rdi + 16], xmm1
	LONG $0x5411f8c5; WORD $0x20b9 // vmovups    oword [rcx + 4*rdi + 32], xmm2
	LONG $0x5c11f8c5; WORD $0x30b9 // vmovups    oword [rcx + 4*rdi + 48], xmm3

LBB0_1138:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1139:
	LONG $0x2abae1c4; WORD $0xf204 // vcvtsi2ss    xmm0, xmm8, qword [rdx + 8*rsi]
	LONG $0x0411fac5; BYTE $0xb1   // vmovss    dword [rcx + 4*rsi], xmm0
	LONG $0x01c68348               // add    rsi, 1
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1139
	JMP  LBB0_1553

LBB0_1140:
	WORD $0xff31 // xor    edi, edi

LBB0_1141:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1143
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x04 // vcvttss2si    rax, dword [rdx + 4*rdi + 4]
	LONG $0x6ef9e1c4; BYTE $0xc0               // vmovq    xmm0, rax
	LONG $0x2cfae1c4; WORD $0xba04             // vcvttss2si    rax, dword [rdx + 4*rdi]
	LONG $0x6ef9e1c4; BYTE $0xc8               // vmovq    xmm1, rax
	LONG $0xc06c71c5                           // vpunpcklqdq    xmm8, xmm1, xmm0
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x0c // vcvttss2si    rax, dword [rdx + 4*rdi + 12]
	LONG $0x6ef9e1c4; BYTE $0xc8               // vmovq    xmm1, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x08 // vcvttss2si    rax, dword [rdx + 4*rdi + 8]
	LONG $0x6ef9e1c4; BYTE $0xd0               // vmovq    xmm2, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x1c // vcvttss2si    rax, dword [rdx + 4*rdi + 28]
	LONG $0xc96ce9c5                           // vpunpcklqdq    xmm1, xmm2, xmm1
	LONG $0x2cfae1c4; WORD $0xba5c; BYTE $0x18 // vcvttss2si    rbx, dword [rdx + 4*rdi + 24]
	LONG $0x6ef9e1c4; BYTE $0xd0               // vmovq    xmm2, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x14 // vcvttss2si    rax, dword [rdx + 4*rdi + 20]
	LONG $0x6ef9e1c4; BYTE $0xdb               // vmovq    xmm3, rbx
	LONG $0x2cfae1c4; WORD $0xba5c; BYTE $0x10 // vcvttss2si    rbx, dword [rdx + 4*rdi + 16]
	LONG $0xd26ce1c5                           // vpunpcklqdq    xmm2, xmm3, xmm2
	LONG $0x6ef9e1c4; BYTE $0xd8               // vmovq    xmm3, rax
	LONG $0x6ef9e1c4; BYTE $0xe3               // vmovq    xmm4, rbx
	LONG $0xdb6cd9c5                           // vpunpcklqdq    xmm3, xmm4, xmm3
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x2c // vcvttss2si    rax, dword [rdx + 4*rdi + 44]
	LONG $0x6ef9e1c4; BYTE $0xe0               // vmovq    xmm4, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x28 // vcvttss2si    rax, dword [rdx + 4*rdi + 40]
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	LONG $0xe46cd1c5                           // vpunpcklqdq    xmm4, xmm5, xmm4
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x24 // vcvttss2si    rax, dword [rdx + 4*rdi + 36]
	LONG $0x6ef9e1c4; BYTE $0xe8               // vmovq    xmm5, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x20 // vcvttss2si    rax, dword [rdx + 4*rdi + 32]
	LONG $0x6ef9e1c4; BYTE $0xf0               // vmovq    xmm6, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x3c // vcvttss2si    rax, dword [rdx + 4*rdi + 60]
	LONG $0xed6cc9c5                           // vpunpcklqdq    xmm5, xmm6, xmm5
	LONG $0x2cfae1c4; WORD $0xba5c; BYTE $0x38 // vcvttss2si    rbx, dword [rdx + 4*rdi + 56]
	LONG $0x6ef9e1c4; BYTE $0xf0               // vmovq    xmm6, rax
	LONG $0x2cfae1c4; WORD $0xba44; BYTE $0x34 // vcvttss2si    rax, dword [rdx + 4*rdi + 52]
	LONG $0x6ef9e1c4; BYTE $0xfb               // vmovq    xmm7, rbx
	LONG $0x2cfae1c4; WORD $0xba5c; BYTE $0x30 // vcvttss2si    rbx, dword [rdx + 4*rdi + 48]
	LONG $0x6ef9e1c4; BYTE $0xc0               // vmovq    xmm0, rax
	LONG $0xf66cc1c5                           // vpunpcklqdq    xmm6, xmm7, xmm6
	LONG $0x6ef9e1c4; BYTE $0xfb               // vmovq    xmm7, rbx
	LONG $0xc06cc1c5                           // vpunpcklqdq    xmm0, xmm7, xmm0
	LONG $0x4c7ffac5; WORD $0x10f9             // vmovdqu    oword [rcx + 8*rdi + 16], xmm1
	LONG $0x047f7ac5; BYTE $0xf9               // vmovdqu    oword [rcx + 8*rdi], xmm8
	LONG $0x5c7ffac5; WORD $0x20f9             // vmovdqu    oword [rcx + 8*rdi + 32], xmm3
	LONG $0x547ffac5; WORD $0x30f9             // vmovdqu    oword [rcx + 8*rdi + 48], xmm2
	LONG $0x6c7ffac5; WORD $0x40f9             // vmovdqu    oword [rcx + 8*rdi + 64], xmm5
	LONG $0x647ffac5; WORD $0x50f9             // vmovdqu    oword [rcx + 8*rdi + 80], xmm4
	LONG $0x447ffac5; WORD $0x60f9             // vmovdqu    oword [rcx + 8*rdi + 96], xmm0
	LONG $0x747ffac5; WORD $0x70f9             // vmovdqu    oword [rcx + 8*rdi + 112], xmm6

LBB0_1143:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553

LBB0_1144:
	LONG $0x2cfae1c4; WORD $0xb204 // vcvttss2si    rax, dword [rdx + 4*rsi]
	LONG $0xf1048948               // mov    qword [rcx + 8*rsi], rax
	LONG $0x01c68348               // add    rsi, 1
	WORD $0x3949; BYTE $0xf1       // cmp    r9, rsi
	JNE  LBB0_1144

LBB0_1553:
	VZEROUPPER
	RET

LBB0_1145:
	LONG $0xfce78348         // and    rdi, -4
	WORD $0xf748; BYTE $0xdf // neg    rdi
	WORD $0xc031             // xor    eax, eax

LBB0_1146:
	LONG $0x0410fcc5; BYTE $0x42         // vmovups    ymm0, yword [rdx + 2*rax]
	LONG $0x4c10fcc5; WORD $0x2042       // vmovups    ymm1, yword [rdx + 2*rax + 32]
	LONG $0x0411fcc5; BYTE $0x41         // vmovups    yword [rcx + 2*rax], ymm0
	LONG $0x4c11fcc5; WORD $0x2041       // vmovups    yword [rcx + 2*rax + 32], ymm1
	LONG $0x4410fcc5; WORD $0x4042       // vmovups    ymm0, yword [rdx + 2*rax + 64]
	LONG $0x4c10fcc5; WORD $0x6042       // vmovups    ymm1, yword [rdx + 2*rax + 96]
	LONG $0x4411fcc5; WORD $0x4041       // vmovups    yword [rcx + 2*rax + 64], ymm0
	LONG $0x4c11fcc5; WORD $0x6041       // vmovups    yword [rcx + 2*rax + 96], ymm1
	QUAD $0x000080428410fcc5; BYTE $0x00 // vmovups    ymm0, yword [rdx + 2*rax + 128]
	QUAD $0x0000a0428c10fcc5; BYTE $0x00 // vmovups    ymm1, yword [rdx + 2*rax + 160]
	QUAD $0x000080418411fcc5; BYTE $0x00 // vmovups    yword [rcx + 2*rax + 128], ymm0
	QUAD $0x0000a0418c11fcc5; BYTE $0x00 // vmovups    yword [rcx + 2*rax + 160], ymm1
	QUAD $0x0000c0428410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 2*rax + 192]
	QUAD $0x0000e0428c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 2*rax + 224]
	QUAD $0x0000c0418411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 2*rax + 192], ymm0
	QUAD $0x0000e0418c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 2*rax + 224], ymm1
	LONG $0x80e88348                     // sub    rax, -128
	LONG $0x04c78348                     // add    rdi, 4
	JNE  LBB0_1146

LBB0_1147:
	WORD $0x854d; BYTE $0xc0 // test    r8, r8
	JE   LBB0_1150
	WORD $0x0148; BYTE $0xc0 // add    rax, rax
	LONG $0x20c08348         // add    rax, 32
	WORD $0xf749; BYTE $0xd8 // neg    r8

LBB0_1149:
	LONG $0x4410fdc5; WORD $0xe002 // vmovupd    ymm0, yword [rdx + rax - 32]
	LONG $0x0c10fdc5; BYTE $0x02   // vmovupd    ymm1, yword [rdx + rax]
	LONG $0x4411fdc5; WORD $0xe001 // vmovupd    yword [rcx + rax - 32], ymm0
	LONG $0x0c11fdc5; BYTE $0x01   // vmovupd    yword [rcx + rax], ymm1
	LONG $0x40c08348               // add    rax, 64
	WORD $0xff49; BYTE $0xc0       // inc    r8
	JNE  LBB0_1149

LBB0_1150:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1151

LBB0_1155:
	LONG $0xfce78348         // and    rdi, -4
	WORD $0xf748; BYTE $0xdf // neg    rdi
	WORD $0xc031             // xor    eax, eax

LBB0_1156:
	LONG $0x0410fcc5; BYTE $0x42         // vmovups    ymm0, yword [rdx + 2*rax]
	LONG $0x4c10fcc5; WORD $0x2042       // vmovups    ymm1, yword [rdx + 2*rax + 32]
	LONG $0x0411fcc5; BYTE $0x41         // vmovups    yword [rcx + 2*rax], ymm0
	LONG $0x4c11fcc5; WORD $0x2041       // vmovups    yword [rcx + 2*rax + 32], ymm1
	LONG $0x4410fcc5; WORD $0x4042       // vmovups    ymm0, yword [rdx + 2*rax + 64]
	LONG $0x4c10fcc5; WORD $0x6042       // vmovups    ymm1, yword [rdx + 2*rax + 96]
	LONG $0x4411fcc5; WORD $0x4041       // vmovups    yword [rcx + 2*rax + 64], ymm0
	LONG $0x4c11fcc5; WORD $0x6041       // vmovups    yword [rcx + 2*rax + 96], ymm1
	QUAD $0x000080428410fcc5; BYTE $0x00 // vmovups    ymm0, yword [rdx + 2*rax + 128]
	QUAD $0x0000a0428c10fcc5; BYTE $0x00 // vmovups    ymm1, yword [rdx + 2*rax + 160]
	QUAD $0x000080418411fcc5; BYTE $0x00 // vmovups    yword [rcx + 2*rax + 128], ymm0
	QUAD $0x0000a0418c11fcc5; BYTE $0x00 // vmovups    yword [rcx + 2*rax + 160], ymm1
	QUAD $0x0000c0428410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 2*rax + 192]
	QUAD $0x0000e0428c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 2*rax + 224]
	QUAD $0x0000c0418411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 2*rax + 192], ymm0
	QUAD $0x0000e0418c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 2*rax + 224], ymm1
	LONG $0x80e88348                     // sub    rax, -128
	LONG $0x04c78348                     // add    rdi, 4
	JNE  LBB0_1156

LBB0_1157:
	WORD $0x854d; BYTE $0xc0 // test    r8, r8
	JE   LBB0_1160
	WORD $0x0148; BYTE $0xc0 // add    rax, rax
	LONG $0x20c08348         // add    rax, 32
	WORD $0xf749; BYTE $0xd8 // neg    r8

LBB0_1159:
	LONG $0x4410fdc5; WORD $0xe002 // vmovupd    ymm0, yword [rdx + rax - 32]
	LONG $0x0c10fdc5; BYTE $0x02   // vmovupd    ymm1, yword [rdx + rax]
	LONG $0x4411fdc5; WORD $0xe001 // vmovupd    yword [rcx + rax - 32], ymm0
	LONG $0x0c11fdc5; BYTE $0x01   // vmovupd    yword [rcx + rax], ymm1
	LONG $0x40c08348               // add    rax, 64
	WORD $0xff49; BYTE $0xc0       // inc    r8
	JNE  LBB0_1159

LBB0_1160:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1161

LBB0_1165:
	LONG $0xfce78348         // and    rdi, -4
	WORD $0xf748; BYTE $0xdf // neg    rdi
	WORD $0xc031             // xor    eax, eax

LBB0_1166:
	LONG $0x0410fcc5; BYTE $0x42         // vmovups    ymm0, yword [rdx + 2*rax]
	LONG $0x4c10fcc5; WORD $0x2042       // vmovups    ymm1, yword [rdx + 2*rax + 32]
	LONG $0x0411fcc5; BYTE $0x41         // vmovups    yword [rcx + 2*rax], ymm0
	LONG $0x4c11fcc5; WORD $0x2041       // vmovups    yword [rcx + 2*rax + 32], ymm1
	LONG $0x4410fcc5; WORD $0x4042       // vmovups    ymm0, yword [rdx + 2*rax + 64]
	LONG $0x4c10fcc5; WORD $0x6042       // vmovups    ymm1, yword [rdx + 2*rax + 96]
	LONG $0x4411fcc5; WORD $0x4041       // vmovups    yword [rcx + 2*rax + 64], ymm0
	LONG $0x4c11fcc5; WORD $0x6041       // vmovups    yword [rcx + 2*rax + 96], ymm1
	QUAD $0x000080428410fcc5; BYTE $0x00 // vmovups    ymm0, yword [rdx + 2*rax + 128]
	QUAD $0x0000a0428c10fcc5; BYTE $0x00 // vmovups    ymm1, yword [rdx + 2*rax + 160]
	QUAD $0x000080418411fcc5; BYTE $0x00 // vmovups    yword [rcx + 2*rax + 128], ymm0
	QUAD $0x0000a0418c11fcc5; BYTE $0x00 // vmovups    yword [rcx + 2*rax + 160], ymm1
	QUAD $0x0000c0428410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 2*rax + 192]
	QUAD $0x0000e0428c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 2*rax + 224]
	QUAD $0x0000c0418411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 2*rax + 192], ymm0
	QUAD $0x0000e0418c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 2*rax + 224], ymm1
	LONG $0x80e88348                     // sub    rax, -128
	LONG $0x04c78348                     // add    rdi, 4
	JNE  LBB0_1166

LBB0_1167:
	WORD $0x854d; BYTE $0xc0 // test    r8, r8
	JE   LBB0_1170
	WORD $0x0148; BYTE $0xc0 // add    rax, rax
	LONG $0x20c08348         // add    rax, 32
	WORD $0xf749; BYTE $0xd8 // neg    r8

LBB0_1169:
	LONG $0x4410fdc5; WORD $0xe002 // vmovupd    ymm0, yword [rdx + rax - 32]
	LONG $0x0c10fdc5; BYTE $0x02   // vmovupd    ymm1, yword [rdx + rax]
	LONG $0x4411fdc5; WORD $0xe001 // vmovupd    yword [rcx + rax - 32], ymm0
	LONG $0x0c11fdc5; BYTE $0x01   // vmovupd    yword [rcx + rax], ymm1
	LONG $0x40c08348               // add    rax, 64
	WORD $0xff49; BYTE $0xc0       // inc    r8
	JNE  LBB0_1169

LBB0_1170:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1171

LBB0_1175:
	LONG $0xfce78348         // and    rdi, -4
	WORD $0xf748; BYTE $0xdf // neg    rdi
	WORD $0xc031             // xor    eax, eax

LBB0_1176:
	LONG $0x0410fcc5; BYTE $0x42         // vmovups    ymm0, yword [rdx + 2*rax]
	LONG $0x4c10fcc5; WORD $0x2042       // vmovups    ymm1, yword [rdx + 2*rax + 32]
	LONG $0x0411fcc5; BYTE $0x41         // vmovups    yword [rcx + 2*rax], ymm0
	LONG $0x4c11fcc5; WORD $0x2041       // vmovups    yword [rcx + 2*rax + 32], ymm1
	LONG $0x4410fcc5; WORD $0x4042       // vmovups    ymm0, yword [rdx + 2*rax + 64]
	LONG $0x4c10fcc5; WORD $0x6042       // vmovups    ymm1, yword [rdx + 2*rax + 96]
	LONG $0x4411fcc5; WORD $0x4041       // vmovups    yword [rcx + 2*rax + 64], ymm0
	LONG $0x4c11fcc5; WORD $0x6041       // vmovups    yword [rcx + 2*rax + 96], ymm1
	QUAD $0x000080428410fcc5; BYTE $0x00 // vmovups    ymm0, yword [rdx + 2*rax + 128]
	QUAD $0x0000a0428c10fcc5; BYTE $0x00 // vmovups    ymm1, yword [rdx + 2*rax + 160]
	QUAD $0x000080418411fcc5; BYTE $0x00 // vmovups    yword [rcx + 2*rax + 128], ymm0
	QUAD $0x0000a0418c11fcc5; BYTE $0x00 // vmovups    yword [rcx + 2*rax + 160], ymm1
	QUAD $0x0000c0428410fdc5; BYTE $0x00 // vmovupd    ymm0, yword [rdx + 2*rax + 192]
	QUAD $0x0000e0428c10fdc5; BYTE $0x00 // vmovupd    ymm1, yword [rdx + 2*rax + 224]
	QUAD $0x0000c0418411fdc5; BYTE $0x00 // vmovupd    yword [rcx + 2*rax + 192], ymm0
	QUAD $0x0000e0418c11fdc5; BYTE $0x00 // vmovupd    yword [rcx + 2*rax + 224], ymm1
	LONG $0x80e88348                     // sub    rax, -128
	LONG $0x04c78348                     // add    rdi, 4
	JNE  LBB0_1176

LBB0_1177:
	WORD $0x854d; BYTE $0xc0 // test    r8, r8
	JE   LBB0_1180
	WORD $0x0148; BYTE $0xc0 // add    rax, rax
	LONG $0x20c08348         // add    rax, 32
	WORD $0xf749; BYTE $0xd8 // neg    r8

LBB0_1179:
	LONG $0x4410fdc5; WORD $0xe002 // vmovupd    ymm0, yword [rdx + rax - 32]
	LONG $0x0c10fdc5; BYTE $0x02   // vmovupd    ymm1, yword [rdx + rax]
	LONG $0x4411fdc5; WORD $0xe001 // vmovupd    yword [rcx + rax - 32], ymm0
	LONG $0x0c11fdc5; BYTE $0x01   // vmovupd    yword [rcx + rax], ymm1
	LONG $0x40c08348               // add    rax, 64
	WORD $0xff49; BYTE $0xc0       // inc    r8
	JNE  LBB0_1179

LBB0_1180:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1181

LBB0_1185:
	WORD $0xff31 // xor    edi, edi

LBB0_1186:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1188
	LONG $0x0410fdc5; BYTE $0xba   // vmovupd    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c10fdc5; WORD $0x20ba // vmovupd    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x5410fdc5; WORD $0x40ba // vmovupd    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c10fdc5; WORD $0x60ba // vmovupd    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fdc5; BYTE $0xb9   // vmovupd    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20b9 // vmovupd    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40b9 // vmovupd    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60b9 // vmovupd    yword [rcx + 4*rdi + 96], ymm3

LBB0_1188:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1189

LBB0_1193:
	WORD $0xff31 // xor    edi, edi

LBB0_1194:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1196
	LONG $0x217de2c4; WORD $0x3a04             // vpmovsxbd    ymm0, qword [rdx + rdi]
	LONG $0x217de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovsxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x217de2c4; WORD $0x3a54; BYTE $0x10 // vpmovsxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x217de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovsxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3

LBB0_1196:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1197

LBB0_1201:
	WORD $0xff31 // xor    edi, edi

LBB0_1202:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1204
	LONG $0x317de2c4; WORD $0x3a04             // vpmovzxbd    ymm0, qword [rdx + rdi]
	LONG $0x317de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovzxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x317de2c4; WORD $0x3a54; BYTE $0x10 // vpmovzxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x317de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovzxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3

LBB0_1204:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1205

LBB0_1209:
	WORD $0xff31 // xor    edi, edi

LBB0_1210:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1212
	LONG $0x0410fdc5; BYTE $0xba   // vmovupd    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c10fdc5; WORD $0x20ba // vmovupd    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x5410fdc5; WORD $0x40ba // vmovupd    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c10fdc5; WORD $0x60ba // vmovupd    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fdc5; BYTE $0xb9   // vmovupd    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20b9 // vmovupd    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40b9 // vmovupd    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60b9 // vmovupd    yword [rcx + 4*rdi + 96], ymm3

LBB0_1212:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1213

LBB0_1217:
	WORD $0xff31 // xor    edi, edi

LBB0_1218:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1220
	LONG $0x0410fdc5; BYTE $0xfa   // vmovupd    ymm0, yword [rdx + 8*rdi]
	LONG $0x4c10fdc5; WORD $0x20fa // vmovupd    ymm1, yword [rdx + 8*rdi + 32]
	LONG $0x5410fdc5; WORD $0x40fa // vmovupd    ymm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c10fdc5; WORD $0x60fa // vmovupd    ymm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411fdc5; BYTE $0xf9   // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9 // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9 // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9 // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_1220:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1221

LBB0_1225:
	WORD $0xff31 // xor    edi, edi

LBB0_1226:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1228
	LONG $0x2179e2c4; WORD $0x3a04             // vpmovsxbd    xmm0, dword [rdx + rdi]
	LONG $0x2179e2c4; WORD $0x3a4c; BYTE $0x04 // vpmovsxbd    xmm1, dword [rdx + rdi + 4]
	LONG $0x2179e2c4; WORD $0x3a54; BYTE $0x08 // vpmovsxbd    xmm2, dword [rdx + rdi + 8]
	LONG $0x2179e2c4; WORD $0x3a5c; BYTE $0x0c // vpmovsxbd    xmm3, dword [rdx + rdi + 12]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	LONG $0x0411fdc5; BYTE $0xf9               // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9             // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9             // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9             // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_1228:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1229

LBB0_1233:
	WORD $0xff31 // xor    edi, edi

LBB0_1234:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1236
	LONG $0x3179e2c4; WORD $0x3a04             // vpmovzxbd    xmm0, dword [rdx + rdi]
	LONG $0x3179e2c4; WORD $0x3a4c; BYTE $0x04 // vpmovzxbd    xmm1, dword [rdx + rdi + 4]
	LONG $0x3179e2c4; WORD $0x3a54; BYTE $0x08 // vpmovzxbd    xmm2, dword [rdx + rdi + 8]
	LONG $0x3179e2c4; WORD $0x3a5c; BYTE $0x0c // vpmovzxbd    xmm3, dword [rdx + rdi + 12]
	LONG $0xc0e6fec5                           // vcvtdq2pd    ymm0, xmm0
	LONG $0xc9e6fec5                           // vcvtdq2pd    ymm1, xmm1
	LONG $0xd2e6fec5                           // vcvtdq2pd    ymm2, xmm2
	LONG $0xdbe6fec5                           // vcvtdq2pd    ymm3, xmm3
	LONG $0x0411fdc5; BYTE $0xf9               // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9             // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9             // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9             // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_1236:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1237

LBB0_1241:
	WORD $0xff31 // xor    edi, edi

LBB0_1242:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1244
	LONG $0x456ff9c5; BYTE $0x70   // vmovdqa    xmm0, oword 112[rbp] /* [rip + .LCPI0_12] */
	LONG $0x0c6ffac5; BYTE $0xba   // vmovdqu    xmm1, oword [rdx + 4*rdi]
	LONG $0x546ffac5; WORD $0x10ba // vmovdqu    xmm2, oword [rdx + 4*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20ba // vmovdqu    xmm3, oword [rdx + 4*rdi + 32]
	LONG $0x646ffac5; WORD $0x30ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8   // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5               // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5               // vpunpckldq    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x50ba // vmovdqu    xmm3, oword [rdx + 4*rdi + 80]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x40ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 64]
	LONG $0x0059e2c4; BYTE $0xe0   // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5               // vpunpckldq    xmm3, xmm4, xmm3
	LONG $0x646ffac5; WORD $0x70ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 112]
	LONG $0x0059e2c4; BYTE $0xe0   // vpshufb    xmm4, xmm4, xmm0
	LONG $0x6c6ffac5; WORD $0x60ba // vmovdqu    xmm5, oword [rdx + 4*rdi + 96]
	LONG $0x0051e2c4; BYTE $0xc0   // vpshufb    xmm0, xmm5, xmm0
	LONG $0xc462f9c5               // vpunpckldq    xmm0, xmm0, xmm4
	LONG $0x3865e3c4; WORD $0x01c0 // vinserti128    ymm0, ymm3, xmm0, 1
	LONG $0x3875e3c4; WORD $0x01ca // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xc06cf5c5               // vpunpcklqdq    ymm0, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xd8c0 // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x39   // vmovdqu    yword [rcx + rdi], ymm0

LBB0_1244:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1245

LBB0_1249:
	WORD $0xff31 // xor    edi, edi

LBB0_1250:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1252
	LONG $0x04e6fdc5; BYTE $0xfa   // vcvttpd2dq    xmm0, yword [rdx + 8*rdi]
	LONG $0xc06bf9c5               // vpackssdw    xmm0, xmm0, xmm0
	LONG $0xc063f9c5               // vpacksswb    xmm0, xmm0, xmm0
	LONG $0x4ce6fdc5; WORD $0x20fa // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0xc96bf1c5               // vpackssdw    xmm1, xmm1, xmm1
	LONG $0x54e6fdc5; WORD $0x40fa // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 64]
	LONG $0xc963f1c5               // vpacksswb    xmm1, xmm1, xmm1
	LONG $0xc162f9c5               // vpunpckldq    xmm0, xmm0, xmm1
	LONG $0xca6be9c5               // vpackssdw    xmm1, xmm2, xmm2
	LONG $0xc963f1c5               // vpacksswb    xmm1, xmm1, xmm1
	LONG $0x54e6fdc5; WORD $0x60fa // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 96]
	LONG $0xd26be9c5               // vpackssdw    xmm2, xmm2, xmm2
	LONG $0xd263e9c5               // vpacksswb    xmm2, xmm2, xmm2
	LONG $0xca62f1c5               // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0xc16cf9c5               // vpunpcklqdq    xmm0, xmm0, xmm1
	LONG $0x047ffac5; BYTE $0x39   // vmovdqu    oword [rcx + rdi], xmm0

LBB0_1252:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1253

LBB0_1257:
	WORD $0xff31 // xor    edi, edi

LBB0_1258:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1260
	LONG $0x0410fdc5; BYTE $0x3a   // vmovupd    ymm0, yword [rdx + rdi]
	LONG $0x4c10fdc5; WORD $0x203a // vmovupd    ymm1, yword [rdx + rdi + 32]
	LONG $0x5410fdc5; WORD $0x403a // vmovupd    ymm2, yword [rdx + rdi + 64]
	LONG $0x5c10fdc5; WORD $0x603a // vmovupd    ymm3, yword [rdx + rdi + 96]
	LONG $0x0411fdc5; BYTE $0x39   // vmovupd    yword [rcx + rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x2039 // vmovupd    yword [rcx + rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x4039 // vmovupd    yword [rcx + rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x6039 // vmovupd    yword [rcx + rdi + 96], ymm3

LBB0_1260:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1261

LBB0_1265:
	WORD $0xff31 // xor    edi, edi

LBB0_1266:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1268
	LONG $0x456ff9c5; BYTE $0x40   // vmovdqa    xmm0, oword 64[rbp] /* [rip + .LCPI0_4] */
	LONG $0x0c6ffac5; BYTE $0xfa   // vmovdqu    xmm1, oword [rdx + 8*rdi]
	LONG $0x546ffac5; WORD $0x10fa // vmovdqu    xmm2, oword [rdx + 8*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 32]
	LONG $0x646ffac5; WORD $0x30fa // vmovdqu    xmm4, oword [rdx + 8*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8   // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5               // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5               // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5               // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x546ffac5; WORD $0x50fa // vmovdqu    xmm2, oword [rdx + 8*rdi + 80]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x5c6ffac5; WORD $0x40fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 64]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5               // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x70fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 112]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x60fa // vmovdqu    xmm4, oword [rdx + 8*rdi + 96]
	LONG $0x0059e2c4; BYTE $0xc0   // vpshufb    xmm0, xmm4, xmm0
	LONG $0xc361f9c5               // vpunpcklwd    xmm0, xmm0, xmm3
	LONG $0xc062e9c5               // vpunpckldq    xmm0, xmm2, xmm0
	LONG $0xc06cf1c5               // vpunpcklqdq    xmm0, xmm1, xmm0
	LONG $0x047ffac5; BYTE $0x39   // vmovdqu    oword [rcx + rdi], xmm0

LBB0_1268:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1269

LBB0_1273:
	WORD $0xff31 // xor    edi, edi

LBB0_1274:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1276
	QUAD $0x000000a0856ffdc5       // vmovdqa    ymm0, yword 160[rbp] /* [rip + .LCPI0_16] */
	LONG $0x0cdbfdc5; BYTE $0x7a   // vpand    ymm1, ymm0, yword [rdx + 2*rdi]
	LONG $0x397de3c4; WORD $0x01ca // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5               // vpackuswb    xmm1, xmm1, xmm2
	LONG $0x54dbfdc5; WORD $0x207a // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 32]
	LONG $0x397de3c4; WORD $0x01d3 // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5               // vpackuswb    xmm2, xmm2, xmm3
	LONG $0x5cdbfdc5; WORD $0x407a // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 64]
	LONG $0x397de3c4; WORD $0x01dc // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5               // vpackuswb    xmm3, xmm3, xmm4
	LONG $0x44dbfdc5; WORD $0x607a // vpand    ymm0, ymm0, yword [rdx + 2*rdi + 96]
	LONG $0x397de3c4; WORD $0x01c4 // vextracti128    xmm4, ymm0, 1
	LONG $0xc467f9c5               // vpackuswb    xmm0, xmm0, xmm4
	LONG $0x0c7ffac5; BYTE $0x39   // vmovdqu    oword [rcx + rdi], xmm1
	LONG $0x547ffac5; WORD $0x1039 // vmovdqu    oword [rcx + rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2039 // vmovdqu    oword [rcx + rdi + 32], xmm3
	LONG $0x447ffac5; WORD $0x3039 // vmovdqu    oword [rcx + rdi + 48], xmm0

LBB0_1276:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1277

LBB0_1281:
	WORD $0xff31 // xor    edi, edi

LBB0_1282:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1284
	QUAD $0x000000a0856ffdc5       // vmovdqa    ymm0, yword 160[rbp] /* [rip + .LCPI0_16] */
	LONG $0x0cdbfdc5; BYTE $0x7a   // vpand    ymm1, ymm0, yword [rdx + 2*rdi]
	LONG $0x397de3c4; WORD $0x01ca // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5               // vpackuswb    xmm1, xmm1, xmm2
	LONG $0x54dbfdc5; WORD $0x207a // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 32]
	LONG $0x397de3c4; WORD $0x01d3 // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5               // vpackuswb    xmm2, xmm2, xmm3
	LONG $0x5cdbfdc5; WORD $0x407a // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 64]
	LONG $0x397de3c4; WORD $0x01dc // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5               // vpackuswb    xmm3, xmm3, xmm4
	LONG $0x44dbfdc5; WORD $0x607a // vpand    ymm0, ymm0, yword [rdx + 2*rdi + 96]
	LONG $0x397de3c4; WORD $0x01c4 // vextracti128    xmm4, ymm0, 1
	LONG $0xc467f9c5               // vpackuswb    xmm0, xmm0, xmm4
	LONG $0x0c7ffac5; BYTE $0x39   // vmovdqu    oword [rcx + rdi], xmm1
	LONG $0x547ffac5; WORD $0x1039 // vmovdqu    oword [rcx + rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2039 // vmovdqu    oword [rcx + rdi + 32], xmm3
	LONG $0x447ffac5; WORD $0x3039 // vmovdqu    oword [rcx + rdi + 48], xmm0

LBB0_1284:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1285

LBB0_1289:
	WORD $0xff31 // xor    edi, edi

LBB0_1290:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1292
	LONG $0x456ff9c5; BYTE $0x40   // vmovdqa    xmm0, oword 64[rbp] /* [rip + .LCPI0_4] */
	LONG $0x0c6ffac5; BYTE $0xfa   // vmovdqu    xmm1, oword [rdx + 8*rdi]
	LONG $0x546ffac5; WORD $0x10fa // vmovdqu    xmm2, oword [rdx + 8*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 32]
	LONG $0x646ffac5; WORD $0x30fa // vmovdqu    xmm4, oword [rdx + 8*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8   // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5               // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5               // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5               // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x546ffac5; WORD $0x50fa // vmovdqu    xmm2, oword [rdx + 8*rdi + 80]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x5c6ffac5; WORD $0x40fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 64]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5               // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x70fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 112]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x60fa // vmovdqu    xmm4, oword [rdx + 8*rdi + 96]
	LONG $0x0059e2c4; BYTE $0xc0   // vpshufb    xmm0, xmm4, xmm0
	LONG $0xc361f9c5               // vpunpcklwd    xmm0, xmm0, xmm3
	LONG $0xc062e9c5               // vpunpckldq    xmm0, xmm2, xmm0
	LONG $0xc06cf1c5               // vpunpcklqdq    xmm0, xmm1, xmm0
	LONG $0x047ffac5; BYTE $0x39   // vmovdqu    oword [rcx + rdi], xmm0

LBB0_1292:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1293

LBB0_1297:
	WORD $0xff31 // xor    edi, edi

LBB0_1298:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1300
	LONG $0x045bfec5; BYTE $0xba   // vcvttps2dq    ymm0, yword [rdx + 4*rdi]
	LONG $0x397de3c4; WORD $0x01c1 // vextracti128    xmm1, ymm0, 1
	LONG $0xc16bf9c5               // vpackssdw    xmm0, xmm0, xmm1
	LONG $0x4c5bfec5; WORD $0x20ba // vcvttps2dq    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x397de3c4; WORD $0x01ca // vextracti128    xmm2, ymm1, 1
	LONG $0xca6bf1c5               // vpackssdw    xmm1, xmm1, xmm2
	LONG $0x545bfec5; WORD $0x40ba // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x397de3c4; WORD $0x01d3 // vextracti128    xmm3, ymm2, 1
	LONG $0xd36be9c5               // vpackssdw    xmm2, xmm2, xmm3
	LONG $0x5c5bfec5; WORD $0x60ba // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x397de3c4; WORD $0x01dc // vextracti128    xmm4, ymm3, 1
	LONG $0xdc6be1c5               // vpackssdw    xmm3, xmm3, xmm4
	LONG $0x386de3c4; WORD $0x01d3 // vinserti128    ymm2, ymm2, xmm3, 1
	LONG $0xd063edc5               // vpacksswb    ymm2, ymm2, ymm0
	LONG $0x387de3c4; WORD $0x01c1 // vinserti128    ymm0, ymm0, xmm1, 1
	LONG $0xc063fdc5               // vpacksswb    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5               // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0 // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x39   // vmovdqu    yword [rcx + rdi], ymm0

LBB0_1300:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1301

LBB0_1305:
	WORD $0xff31 // xor    edi, edi

LBB0_1306:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1308
	LONG $0x0410fdc5; BYTE $0x3a   // vmovupd    ymm0, yword [rdx + rdi]
	LONG $0x4c10fdc5; WORD $0x203a // vmovupd    ymm1, yword [rdx + rdi + 32]
	LONG $0x5410fdc5; WORD $0x403a // vmovupd    ymm2, yword [rdx + rdi + 64]
	LONG $0x5c10fdc5; WORD $0x603a // vmovupd    ymm3, yword [rdx + rdi + 96]
	LONG $0x0411fdc5; BYTE $0x39   // vmovupd    yword [rcx + rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x2039 // vmovupd    yword [rcx + rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x4039 // vmovupd    yword [rcx + rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x6039 // vmovupd    yword [rcx + rdi + 96], ymm3

LBB0_1308:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1309

LBB0_1313:
	WORD $0xff31 // xor    edi, edi

LBB0_1314:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1316
	LONG $0x456ff9c5; BYTE $0x70   // vmovdqa    xmm0, oword 112[rbp] /* [rip + .LCPI0_12] */
	LONG $0x0c6ffac5; BYTE $0xba   // vmovdqu    xmm1, oword [rdx + 4*rdi]
	LONG $0x546ffac5; WORD $0x10ba // vmovdqu    xmm2, oword [rdx + 4*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20ba // vmovdqu    xmm3, oword [rdx + 4*rdi + 32]
	LONG $0x646ffac5; WORD $0x30ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8   // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5               // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5               // vpunpckldq    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x50ba // vmovdqu    xmm3, oword [rdx + 4*rdi + 80]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x40ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 64]
	LONG $0x0059e2c4; BYTE $0xe0   // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5               // vpunpckldq    xmm3, xmm4, xmm3
	LONG $0x646ffac5; WORD $0x70ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 112]
	LONG $0x0059e2c4; BYTE $0xe0   // vpshufb    xmm4, xmm4, xmm0
	LONG $0x6c6ffac5; WORD $0x60ba // vmovdqu    xmm5, oword [rdx + 4*rdi + 96]
	LONG $0x0051e2c4; BYTE $0xc0   // vpshufb    xmm0, xmm5, xmm0
	LONG $0xc462f9c5               // vpunpckldq    xmm0, xmm0, xmm4
	LONG $0x3865e3c4; WORD $0x01c0 // vinserti128    ymm0, ymm3, xmm0, 1
	LONG $0x3875e3c4; WORD $0x01ca // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xc06cf5c5               // vpunpcklqdq    ymm0, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xd8c0 // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x39   // vmovdqu    yword [rcx + rdi], ymm0

LBB0_1316:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1317

LBB0_1321:
	WORD $0xff31 // xor    edi, edi

LBB0_1322:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1324
	LONG $0x227de2c4; WORD $0x3a04             // vpmovsxbq    ymm0, dword [rdx + rdi]
	LONG $0x227de2c4; WORD $0x3a4c; BYTE $0x04 // vpmovsxbq    ymm1, dword [rdx + rdi + 4]
	LONG $0x227de2c4; WORD $0x3a54; BYTE $0x08 // vpmovsxbq    ymm2, dword [rdx + rdi + 8]
	LONG $0x227de2c4; WORD $0x3a5c; BYTE $0x0c // vpmovsxbq    ymm3, dword [rdx + rdi + 12]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_1324:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1325

LBB0_1329:
	WORD $0xff31 // xor    edi, edi

LBB0_1330:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1332
	LONG $0x0410fdc5; BYTE $0xfa   // vmovupd    ymm0, yword [rdx + 8*rdi]
	LONG $0x4c10fdc5; WORD $0x20fa // vmovupd    ymm1, yword [rdx + 8*rdi + 32]
	LONG $0x5410fdc5; WORD $0x40fa // vmovupd    ymm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c10fdc5; WORD $0x60fa // vmovupd    ymm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411fdc5; BYTE $0xf9   // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9 // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9 // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9 // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_1332:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1333

LBB0_1337:
	WORD $0xff31 // xor    edi, edi

LBB0_1338:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1340
	LONG $0x0410fdc5; BYTE $0xfa   // vmovupd    ymm0, yword [rdx + 8*rdi]
	LONG $0x4c10fdc5; WORD $0x20fa // vmovupd    ymm1, yword [rdx + 8*rdi + 32]
	LONG $0x5410fdc5; WORD $0x40fa // vmovupd    ymm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c10fdc5; WORD $0x60fa // vmovupd    ymm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411fdc5; BYTE $0xf9   // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9 // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9 // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9 // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_1340:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1341

LBB0_1345:
	WORD $0xff31 // xor    edi, edi

LBB0_1346:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1348
	LONG $0x327de2c4; WORD $0x3a04             // vpmovzxbq    ymm0, dword [rdx + rdi]
	LONG $0x327de2c4; WORD $0x3a4c; BYTE $0x04 // vpmovzxbq    ymm1, dword [rdx + rdi + 4]
	LONG $0x327de2c4; WORD $0x3a54; BYTE $0x08 // vpmovzxbq    ymm2, dword [rdx + rdi + 8]
	LONG $0x327de2c4; WORD $0x3a5c; BYTE $0x0c // vpmovzxbq    ymm3, dword [rdx + rdi + 12]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_1348:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1349

LBB0_1353:
	WORD $0xff31 // xor    edi, edi

LBB0_1354:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1356
	LONG $0x207de2c4; WORD $0x3a04             // vpmovsxbw    ymm0, oword [rdx + rdi]
	LONG $0x207de2c4; WORD $0x3a4c; BYTE $0x10 // vpmovsxbw    ymm1, oword [rdx + rdi + 16]
	LONG $0x207de2c4; WORD $0x3a54; BYTE $0x20 // vpmovsxbw    ymm2, oword [rdx + rdi + 32]
	LONG $0x207de2c4; WORD $0x3a5c; BYTE $0x30 // vpmovsxbw    ymm3, oword [rdx + rdi + 48]
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x2079             // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x4079             // vmovdqu    yword [rcx + 2*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x6079             // vmovdqu    yword [rcx + 2*rdi + 96], ymm3

LBB0_1356:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1357

LBB0_1361:
	WORD $0xff31 // xor    edi, edi

LBB0_1362:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1364
	LONG $0x207de2c4; WORD $0x3a04             // vpmovsxbw    ymm0, oword [rdx + rdi]
	LONG $0x207de2c4; WORD $0x3a4c; BYTE $0x10 // vpmovsxbw    ymm1, oword [rdx + rdi + 16]
	LONG $0x207de2c4; WORD $0x3a54; BYTE $0x20 // vpmovsxbw    ymm2, oword [rdx + rdi + 32]
	LONG $0x207de2c4; WORD $0x3a5c; BYTE $0x30 // vpmovsxbw    ymm3, oword [rdx + rdi + 48]
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x2079             // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x4079             // vmovdqu    yword [rcx + 2*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x6079             // vmovdqu    yword [rcx + 2*rdi + 96], ymm3

LBB0_1364:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1365

LBB0_1369:
	WORD $0xff31 // xor    edi, edi

LBB0_1370:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1372
	LONG $0x307de2c4; WORD $0x3a04             // vpmovzxbw    ymm0, oword [rdx + rdi]
	LONG $0x307de2c4; WORD $0x3a4c; BYTE $0x10 // vpmovzxbw    ymm1, oword [rdx + rdi + 16]
	LONG $0x307de2c4; WORD $0x3a54; BYTE $0x20 // vpmovzxbw    ymm2, oword [rdx + rdi + 32]
	LONG $0x307de2c4; WORD $0x3a5c; BYTE $0x30 // vpmovzxbw    ymm3, oword [rdx + rdi + 48]
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x2079             // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x4079             // vmovdqu    yword [rcx + 2*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x6079             // vmovdqu    yword [rcx + 2*rdi + 96], ymm3

LBB0_1372:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1373

LBB0_1377:
	WORD $0xff31 // xor    edi, edi

LBB0_1378:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1380
	LONG $0x307de2c4; WORD $0x3a04             // vpmovzxbw    ymm0, oword [rdx + rdi]
	LONG $0x307de2c4; WORD $0x3a4c; BYTE $0x10 // vpmovzxbw    ymm1, oword [rdx + rdi + 16]
	LONG $0x307de2c4; WORD $0x3a54; BYTE $0x20 // vpmovzxbw    ymm2, oword [rdx + rdi + 32]
	LONG $0x307de2c4; WORD $0x3a5c; BYTE $0x30 // vpmovzxbw    ymm3, oword [rdx + rdi + 48]
	LONG $0x047ffec5; BYTE $0x79               // vmovdqu    yword [rcx + 2*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x2079             // vmovdqu    yword [rcx + 2*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x4079             // vmovdqu    yword [rcx + 2*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x6079             // vmovdqu    yword [rcx + 2*rdi + 96], ymm3

LBB0_1380:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1381

LBB0_1385:
	WORD $0xff31 // xor    edi, edi

LBB0_1386:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1388
	LONG $0x227de2c4; WORD $0x3a04             // vpmovsxbq    ymm0, dword [rdx + rdi]
	LONG $0x227de2c4; WORD $0x3a4c; BYTE $0x04 // vpmovsxbq    ymm1, dword [rdx + rdi + 4]
	LONG $0x227de2c4; WORD $0x3a54; BYTE $0x08 // vpmovsxbq    ymm2, dword [rdx + rdi + 8]
	LONG $0x227de2c4; WORD $0x3a5c; BYTE $0x0c // vpmovsxbq    ymm3, dword [rdx + rdi + 12]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_1388:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1389

LBB0_1393:
	WORD $0xff31 // xor    edi, edi

LBB0_1394:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1396
	LONG $0x217de2c4; WORD $0x3a04             // vpmovsxbd    ymm0, qword [rdx + rdi]
	LONG $0x217de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovsxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x217de2c4; WORD $0x3a54; BYTE $0x10 // vpmovsxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x217de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovsxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	LONG $0x0411fcc5; BYTE $0xb9               // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9             // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9             // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9             // vmovups    yword [rcx + 4*rdi + 96], ymm3

LBB0_1396:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1397

LBB0_1401:
	WORD $0xff31 // xor    edi, edi

LBB0_1402:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1404
	LONG $0x0410fdc5; BYTE $0xfa   // vmovupd    ymm0, yword [rdx + 8*rdi]
	LONG $0x4c10fdc5; WORD $0x20fa // vmovupd    ymm1, yword [rdx + 8*rdi + 32]
	LONG $0x5410fdc5; WORD $0x40fa // vmovupd    ymm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c10fdc5; WORD $0x60fa // vmovupd    ymm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411fdc5; BYTE $0xf9   // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9 // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9 // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9 // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_1404:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1405

LBB0_1409:
	WORD $0xff31 // xor    edi, edi

LBB0_1410:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1412
	LONG $0x0410fdc5; BYTE $0xfa   // vmovupd    ymm0, yword [rdx + 8*rdi]
	LONG $0x4c10fdc5; WORD $0x20fa // vmovupd    ymm1, yword [rdx + 8*rdi + 32]
	LONG $0x5410fdc5; WORD $0x40fa // vmovupd    ymm2, yword [rdx + 8*rdi + 64]
	LONG $0x5c10fdc5; WORD $0x60fa // vmovupd    ymm3, yword [rdx + 8*rdi + 96]
	LONG $0x0411fdc5; BYTE $0xf9   // vmovupd    yword [rcx + 8*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20f9 // vmovupd    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40f9 // vmovupd    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60f9 // vmovupd    yword [rcx + 8*rdi + 96], ymm3

LBB0_1412:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1413

LBB0_1417:
	WORD $0xff31 // xor    edi, edi

LBB0_1418:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1420
	LONG $0x0410fdc5; BYTE $0xba   // vmovupd    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c10fdc5; WORD $0x20ba // vmovupd    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x5410fdc5; WORD $0x40ba // vmovupd    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c10fdc5; WORD $0x60ba // vmovupd    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fdc5; BYTE $0xb9   // vmovupd    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20b9 // vmovupd    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40b9 // vmovupd    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60b9 // vmovupd    yword [rcx + 4*rdi + 96], ymm3

LBB0_1420:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1421

LBB0_1425:
	WORD $0xff31 // xor    edi, edi

LBB0_1426:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1428
	LONG $0x327de2c4; WORD $0x3a04             // vpmovzxbq    ymm0, dword [rdx + rdi]
	LONG $0x327de2c4; WORD $0x3a4c; BYTE $0x04 // vpmovzxbq    ymm1, dword [rdx + rdi + 4]
	LONG $0x327de2c4; WORD $0x3a54; BYTE $0x08 // vpmovzxbq    ymm2, dword [rdx + rdi + 8]
	LONG $0x327de2c4; WORD $0x3a5c; BYTE $0x0c // vpmovzxbq    ymm3, dword [rdx + rdi + 12]
	LONG $0x047ffec5; BYTE $0xf9               // vmovdqu    yword [rcx + 8*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20f9             // vmovdqu    yword [rcx + 8*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40f9             // vmovdqu    yword [rcx + 8*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60f9             // vmovdqu    yword [rcx + 8*rdi + 96], ymm3

LBB0_1428:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1429

LBB0_1433:
	WORD $0xff31 // xor    edi, edi

LBB0_1434:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1436
	LONG $0x317de2c4; WORD $0x3a04             // vpmovzxbd    ymm0, qword [rdx + rdi]
	LONG $0x317de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovzxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x317de2c4; WORD $0x3a54; BYTE $0x10 // vpmovzxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x317de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovzxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0xc05bfcc5                           // vcvtdq2ps    ymm0, ymm0
	LONG $0xc95bfcc5                           // vcvtdq2ps    ymm1, ymm1
	LONG $0xd25bfcc5                           // vcvtdq2ps    ymm2, ymm2
	LONG $0xdb5bfcc5                           // vcvtdq2ps    ymm3, ymm3
	LONG $0x0411fcc5; BYTE $0xb9               // vmovups    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fcc5; WORD $0x20b9             // vmovups    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fcc5; WORD $0x40b9             // vmovups    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fcc5; WORD $0x60b9             // vmovups    yword [rcx + 4*rdi + 96], ymm3

LBB0_1436:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1437

LBB0_1441:
	WORD $0xff31 // xor    edi, edi

LBB0_1442:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1444
	LONG $0x456ff9c5; BYTE $0x70   // vmovdqa    xmm0, oword 112[rbp] /* [rip + .LCPI0_12] */
	LONG $0x0c6ffac5; BYTE $0xba   // vmovdqu    xmm1, oword [rdx + 4*rdi]
	LONG $0x546ffac5; WORD $0x10ba // vmovdqu    xmm2, oword [rdx + 4*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20ba // vmovdqu    xmm3, oword [rdx + 4*rdi + 32]
	LONG $0x646ffac5; WORD $0x30ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8   // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5               // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5               // vpunpckldq    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x50ba // vmovdqu    xmm3, oword [rdx + 4*rdi + 80]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x40ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 64]
	LONG $0x0059e2c4; BYTE $0xe0   // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5               // vpunpckldq    xmm3, xmm4, xmm3
	LONG $0x646ffac5; WORD $0x70ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 112]
	LONG $0x0059e2c4; BYTE $0xe0   // vpshufb    xmm4, xmm4, xmm0
	LONG $0x6c6ffac5; WORD $0x60ba // vmovdqu    xmm5, oword [rdx + 4*rdi + 96]
	LONG $0x0051e2c4; BYTE $0xc0   // vpshufb    xmm0, xmm5, xmm0
	LONG $0xc462f9c5               // vpunpckldq    xmm0, xmm0, xmm4
	LONG $0x3865e3c4; WORD $0x01c0 // vinserti128    ymm0, ymm3, xmm0, 1
	LONG $0x3875e3c4; WORD $0x01ca // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xc06cf5c5               // vpunpcklqdq    ymm0, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xd8c0 // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x39   // vmovdqu    yword [rcx + rdi], ymm0

LBB0_1444:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1445

LBB0_1449:
	WORD $0xff31 // xor    edi, edi

LBB0_1450:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1452
	LONG $0x04e6fdc5; BYTE $0xfa   // vcvttpd2dq    xmm0, yword [rdx + 8*rdi]
	LONG $0x2b79e2c4; BYTE $0xc0   // vpackusdw    xmm0, xmm0, xmm0
	LONG $0xc067f9c5               // vpackuswb    xmm0, xmm0, xmm0
	LONG $0x4ce6fdc5; WORD $0x20fa // vcvttpd2dq    xmm1, yword [rdx + 8*rdi + 32]
	LONG $0x2b71e2c4; BYTE $0xc9   // vpackusdw    xmm1, xmm1, xmm1
	LONG $0x54e6fdc5; WORD $0x40fa // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 64]
	LONG $0xc967f1c5               // vpackuswb    xmm1, xmm1, xmm1
	LONG $0xc162f9c5               // vpunpckldq    xmm0, xmm0, xmm1
	LONG $0x2b69e2c4; BYTE $0xca   // vpackusdw    xmm1, xmm2, xmm2
	LONG $0xc967f1c5               // vpackuswb    xmm1, xmm1, xmm1
	LONG $0x54e6fdc5; WORD $0x60fa // vcvttpd2dq    xmm2, yword [rdx + 8*rdi + 96]
	LONG $0x2b69e2c4; BYTE $0xd2   // vpackusdw    xmm2, xmm2, xmm2
	LONG $0xd267e9c5               // vpackuswb    xmm2, xmm2, xmm2
	LONG $0xca62f1c5               // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0xc16cf9c5               // vpunpcklqdq    xmm0, xmm0, xmm1
	LONG $0x047ffac5; BYTE $0x39   // vmovdqu    oword [rcx + rdi], xmm0

LBB0_1452:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1453

LBB0_1457:
	WORD $0xff31 // xor    edi, edi

LBB0_1458:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1460
	LONG $0x0410fdc5; BYTE $0x3a   // vmovupd    ymm0, yword [rdx + rdi]
	LONG $0x4c10fdc5; WORD $0x203a // vmovupd    ymm1, yword [rdx + rdi + 32]
	LONG $0x5410fdc5; WORD $0x403a // vmovupd    ymm2, yword [rdx + rdi + 64]
	LONG $0x5c10fdc5; WORD $0x603a // vmovupd    ymm3, yword [rdx + rdi + 96]
	LONG $0x0411fdc5; BYTE $0x39   // vmovupd    yword [rcx + rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x2039 // vmovupd    yword [rcx + rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x4039 // vmovupd    yword [rcx + rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x6039 // vmovupd    yword [rcx + rdi + 96], ymm3

LBB0_1460:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1461

LBB0_1465:
	WORD $0xff31 // xor    edi, edi

LBB0_1466:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1468
	LONG $0x456ff9c5; BYTE $0x40   // vmovdqa    xmm0, oword 64[rbp] /* [rip + .LCPI0_4] */
	LONG $0x0c6ffac5; BYTE $0xfa   // vmovdqu    xmm1, oword [rdx + 8*rdi]
	LONG $0x546ffac5; WORD $0x10fa // vmovdqu    xmm2, oword [rdx + 8*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 32]
	LONG $0x646ffac5; WORD $0x30fa // vmovdqu    xmm4, oword [rdx + 8*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8   // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5               // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5               // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5               // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x546ffac5; WORD $0x50fa // vmovdqu    xmm2, oword [rdx + 8*rdi + 80]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x5c6ffac5; WORD $0x40fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 64]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5               // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x70fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 112]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x60fa // vmovdqu    xmm4, oword [rdx + 8*rdi + 96]
	LONG $0x0059e2c4; BYTE $0xc0   // vpshufb    xmm0, xmm4, xmm0
	LONG $0xc361f9c5               // vpunpcklwd    xmm0, xmm0, xmm3
	LONG $0xc062e9c5               // vpunpckldq    xmm0, xmm2, xmm0
	LONG $0xc06cf1c5               // vpunpcklqdq    xmm0, xmm1, xmm0
	LONG $0x047ffac5; BYTE $0x39   // vmovdqu    oword [rcx + rdi], xmm0

LBB0_1468:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1469

LBB0_1473:
	WORD $0xff31 // xor    edi, edi

LBB0_1474:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1476
	QUAD $0x000000a0856ffdc5       // vmovdqa    ymm0, yword 160[rbp] /* [rip + .LCPI0_16] */
	LONG $0x0cdbfdc5; BYTE $0x7a   // vpand    ymm1, ymm0, yword [rdx + 2*rdi]
	LONG $0x397de3c4; WORD $0x01ca // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5               // vpackuswb    xmm1, xmm1, xmm2
	LONG $0x54dbfdc5; WORD $0x207a // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 32]
	LONG $0x397de3c4; WORD $0x01d3 // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5               // vpackuswb    xmm2, xmm2, xmm3
	LONG $0x5cdbfdc5; WORD $0x407a // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 64]
	LONG $0x397de3c4; WORD $0x01dc // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5               // vpackuswb    xmm3, xmm3, xmm4
	LONG $0x44dbfdc5; WORD $0x607a // vpand    ymm0, ymm0, yword [rdx + 2*rdi + 96]
	LONG $0x397de3c4; WORD $0x01c4 // vextracti128    xmm4, ymm0, 1
	LONG $0xc467f9c5               // vpackuswb    xmm0, xmm0, xmm4
	LONG $0x0c7ffac5; BYTE $0x39   // vmovdqu    oword [rcx + rdi], xmm1
	LONG $0x547ffac5; WORD $0x1039 // vmovdqu    oword [rcx + rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2039 // vmovdqu    oword [rcx + rdi + 32], xmm3
	LONG $0x447ffac5; WORD $0x3039 // vmovdqu    oword [rcx + rdi + 48], xmm0

LBB0_1476:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1477

LBB0_1481:
	WORD $0xff31 // xor    edi, edi

LBB0_1482:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1484
	QUAD $0x000000a0856ffdc5       // vmovdqa    ymm0, yword 160[rbp] /* [rip + .LCPI0_16] */
	LONG $0x0cdbfdc5; BYTE $0x7a   // vpand    ymm1, ymm0, yword [rdx + 2*rdi]
	LONG $0x397de3c4; WORD $0x01ca // vextracti128    xmm2, ymm1, 1
	LONG $0xca67f1c5               // vpackuswb    xmm1, xmm1, xmm2
	LONG $0x54dbfdc5; WORD $0x207a // vpand    ymm2, ymm0, yword [rdx + 2*rdi + 32]
	LONG $0x397de3c4; WORD $0x01d3 // vextracti128    xmm3, ymm2, 1
	LONG $0xd367e9c5               // vpackuswb    xmm2, xmm2, xmm3
	LONG $0x5cdbfdc5; WORD $0x407a // vpand    ymm3, ymm0, yword [rdx + 2*rdi + 64]
	LONG $0x397de3c4; WORD $0x01dc // vextracti128    xmm4, ymm3, 1
	LONG $0xdc67e1c5               // vpackuswb    xmm3, xmm3, xmm4
	LONG $0x44dbfdc5; WORD $0x607a // vpand    ymm0, ymm0, yword [rdx + 2*rdi + 96]
	LONG $0x397de3c4; WORD $0x01c4 // vextracti128    xmm4, ymm0, 1
	LONG $0xc467f9c5               // vpackuswb    xmm0, xmm0, xmm4
	LONG $0x0c7ffac5; BYTE $0x39   // vmovdqu    oword [rcx + rdi], xmm1
	LONG $0x547ffac5; WORD $0x1039 // vmovdqu    oword [rcx + rdi + 16], xmm2
	LONG $0x5c7ffac5; WORD $0x2039 // vmovdqu    oword [rcx + rdi + 32], xmm3
	LONG $0x447ffac5; WORD $0x3039 // vmovdqu    oword [rcx + rdi + 48], xmm0

LBB0_1484:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1485

LBB0_1489:
	WORD $0xff31 // xor    edi, edi

LBB0_1490:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1492
	LONG $0x456ff9c5; BYTE $0x40   // vmovdqa    xmm0, oword 64[rbp] /* [rip + .LCPI0_4] */
	LONG $0x0c6ffac5; BYTE $0xfa   // vmovdqu    xmm1, oword [rdx + 8*rdi]
	LONG $0x546ffac5; WORD $0x10fa // vmovdqu    xmm2, oword [rdx + 8*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 32]
	LONG $0x646ffac5; WORD $0x30fa // vmovdqu    xmm4, oword [rdx + 8*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8   // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca61f1c5               // vpunpcklwd    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5               // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0xca62f1c5               // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x546ffac5; WORD $0x50fa // vmovdqu    xmm2, oword [rdx + 8*rdi + 80]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x5c6ffac5; WORD $0x40fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 64]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd261e1c5               // vpunpcklwd    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x70fa // vmovdqu    xmm3, oword [rdx + 8*rdi + 112]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x60fa // vmovdqu    xmm4, oword [rdx + 8*rdi + 96]
	LONG $0x0059e2c4; BYTE $0xc0   // vpshufb    xmm0, xmm4, xmm0
	LONG $0xc361f9c5               // vpunpcklwd    xmm0, xmm0, xmm3
	LONG $0xc062e9c5               // vpunpckldq    xmm0, xmm2, xmm0
	LONG $0xc06cf1c5               // vpunpcklqdq    xmm0, xmm1, xmm0
	LONG $0x047ffac5; BYTE $0x39   // vmovdqu    oword [rcx + rdi], xmm0

LBB0_1492:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1493

LBB0_1497:
	WORD $0xff31 // xor    edi, edi

LBB0_1498:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1500
	LONG $0x045bfec5; BYTE $0xba   // vcvttps2dq    ymm0, yword [rdx + 4*rdi]
	LONG $0x397de3c4; WORD $0x01c1 // vextracti128    xmm1, ymm0, 1
	LONG $0xc16bf9c5               // vpackssdw    xmm0, xmm0, xmm1
	LONG $0x4c5bfec5; WORD $0x20ba // vcvttps2dq    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x397de3c4; WORD $0x01ca // vextracti128    xmm2, ymm1, 1
	LONG $0xca6bf1c5               // vpackssdw    xmm1, xmm1, xmm2
	LONG $0x545bfec5; WORD $0x40ba // vcvttps2dq    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x397de3c4; WORD $0x01d3 // vextracti128    xmm3, ymm2, 1
	LONG $0xd36be9c5               // vpackssdw    xmm2, xmm2, xmm3
	LONG $0x5c5bfec5; WORD $0x60ba // vcvttps2dq    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x397de3c4; WORD $0x01dc // vextracti128    xmm4, ymm3, 1
	LONG $0xdc6be1c5               // vpackssdw    xmm3, xmm3, xmm4
	LONG $0x386de3c4; WORD $0x01d3 // vinserti128    ymm2, ymm2, xmm3, 1
	LONG $0xd067edc5               // vpackuswb    ymm2, ymm2, ymm0
	LONG $0x387de3c4; WORD $0x01c1 // vinserti128    ymm0, ymm0, xmm1, 1
	LONG $0xc067fdc5               // vpackuswb    ymm0, ymm0, ymm0
	LONG $0xc26cfdc5               // vpunpcklqdq    ymm0, ymm0, ymm2
	LONG $0x00fde3c4; WORD $0xd8c0 // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x39   // vmovdqu    yword [rcx + rdi], ymm0

LBB0_1500:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1501

LBB0_1505:
	WORD $0xff31 // xor    edi, edi

LBB0_1506:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1508
	LONG $0x0410fdc5; BYTE $0x3a   // vmovupd    ymm0, yword [rdx + rdi]
	LONG $0x4c10fdc5; WORD $0x203a // vmovupd    ymm1, yword [rdx + rdi + 32]
	LONG $0x5410fdc5; WORD $0x403a // vmovupd    ymm2, yword [rdx + rdi + 64]
	LONG $0x5c10fdc5; WORD $0x603a // vmovupd    ymm3, yword [rdx + rdi + 96]
	LONG $0x0411fdc5; BYTE $0x39   // vmovupd    yword [rcx + rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x2039 // vmovupd    yword [rcx + rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x4039 // vmovupd    yword [rcx + rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x6039 // vmovupd    yword [rcx + rdi + 96], ymm3

LBB0_1508:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1509

LBB0_1513:
	WORD $0xff31 // xor    edi, edi

LBB0_1514:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1516
	LONG $0x456ff9c5; BYTE $0x70   // vmovdqa    xmm0, oword 112[rbp] /* [rip + .LCPI0_12] */
	LONG $0x0c6ffac5; BYTE $0xba   // vmovdqu    xmm1, oword [rdx + 4*rdi]
	LONG $0x546ffac5; WORD $0x10ba // vmovdqu    xmm2, oword [rdx + 4*rdi + 16]
	LONG $0x5c6ffac5; WORD $0x20ba // vmovdqu    xmm3, oword [rdx + 4*rdi + 32]
	LONG $0x646ffac5; WORD $0x30ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 48]
	LONG $0x0069e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm2, xmm0
	LONG $0x0071e2c4; BYTE $0xc8   // vpshufb    xmm1, xmm1, xmm0
	LONG $0xca62f1c5               // vpunpckldq    xmm1, xmm1, xmm2
	LONG $0x0059e2c4; BYTE $0xd0   // vpshufb    xmm2, xmm4, xmm0
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0xd262e1c5               // vpunpckldq    xmm2, xmm3, xmm2
	LONG $0x5c6ffac5; WORD $0x50ba // vmovdqu    xmm3, oword [rdx + 4*rdi + 80]
	LONG $0x0061e2c4; BYTE $0xd8   // vpshufb    xmm3, xmm3, xmm0
	LONG $0x646ffac5; WORD $0x40ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 64]
	LONG $0x0059e2c4; BYTE $0xe0   // vpshufb    xmm4, xmm4, xmm0
	LONG $0xdb62d9c5               // vpunpckldq    xmm3, xmm4, xmm3
	LONG $0x646ffac5; WORD $0x70ba // vmovdqu    xmm4, oword [rdx + 4*rdi + 112]
	LONG $0x0059e2c4; BYTE $0xe0   // vpshufb    xmm4, xmm4, xmm0
	LONG $0x6c6ffac5; WORD $0x60ba // vmovdqu    xmm5, oword [rdx + 4*rdi + 96]
	LONG $0x0051e2c4; BYTE $0xc0   // vpshufb    xmm0, xmm5, xmm0
	LONG $0xc462f9c5               // vpunpckldq    xmm0, xmm0, xmm4
	LONG $0x3865e3c4; WORD $0x01c0 // vinserti128    ymm0, ymm3, xmm0, 1
	LONG $0x3875e3c4; WORD $0x01ca // vinserti128    ymm1, ymm1, xmm2, 1
	LONG $0xc06cf5c5               // vpunpcklqdq    ymm0, ymm1, ymm0
	LONG $0x00fde3c4; WORD $0xd8c0 // vpermq    ymm0, ymm0, 216
	LONG $0x047ffec5; BYTE $0x39   // vmovdqu    yword [rcx + rdi], ymm0

LBB0_1516:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1517

LBB0_1521:
	WORD $0xff31 // xor    edi, edi

LBB0_1522:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1524
	LONG $0x0410fdc5; BYTE $0xba   // vmovupd    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c10fdc5; WORD $0x20ba // vmovupd    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x5410fdc5; WORD $0x40ba // vmovupd    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c10fdc5; WORD $0x60ba // vmovupd    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fdc5; BYTE $0xb9   // vmovupd    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20b9 // vmovupd    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40b9 // vmovupd    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60b9 // vmovupd    yword [rcx + 4*rdi + 96], ymm3

LBB0_1524:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1525

LBB0_1529:
	WORD $0xff31 // xor    edi, edi

LBB0_1530:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1532
	LONG $0x217de2c4; WORD $0x3a04             // vpmovsxbd    ymm0, qword [rdx + rdi]
	LONG $0x217de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovsxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x217de2c4; WORD $0x3a54; BYTE $0x10 // vpmovsxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x217de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovsxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3

LBB0_1532:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1533

LBB0_1537:
	WORD $0xff31 // xor    edi, edi

LBB0_1538:
	LONG $0x01c0f641                           // test    r8b, 1
	JE   LBB0_1540
	LONG $0x317de2c4; WORD $0x3a04             // vpmovzxbd    ymm0, qword [rdx + rdi]
	LONG $0x317de2c4; WORD $0x3a4c; BYTE $0x08 // vpmovzxbd    ymm1, qword [rdx + rdi + 8]
	LONG $0x317de2c4; WORD $0x3a54; BYTE $0x10 // vpmovzxbd    ymm2, qword [rdx + rdi + 16]
	LONG $0x317de2c4; WORD $0x3a5c; BYTE $0x18 // vpmovzxbd    ymm3, qword [rdx + rdi + 24]
	LONG $0x047ffec5; BYTE $0xb9               // vmovdqu    yword [rcx + 4*rdi], ymm0
	LONG $0x4c7ffec5; WORD $0x20b9             // vmovdqu    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x547ffec5; WORD $0x40b9             // vmovdqu    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c7ffec5; WORD $0x60b9             // vmovdqu    yword [rcx + 4*rdi + 96], ymm3

LBB0_1540:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1541

LBB0_1545:
	WORD $0xff31 // xor    edi, edi

LBB0_1546:
	LONG $0x01c0f641               // test    r8b, 1
	JE   LBB0_1548
	LONG $0x0410fdc5; BYTE $0xba   // vmovupd    ymm0, yword [rdx + 4*rdi]
	LONG $0x4c10fdc5; WORD $0x20ba // vmovupd    ymm1, yword [rdx + 4*rdi + 32]
	LONG $0x5410fdc5; WORD $0x40ba // vmovupd    ymm2, yword [rdx + 4*rdi + 64]
	LONG $0x5c10fdc5; WORD $0x60ba // vmovupd    ymm3, yword [rdx + 4*rdi + 96]
	LONG $0x0411fdc5; BYTE $0xb9   // vmovupd    yword [rcx + 4*rdi], ymm0
	LONG $0x4c11fdc5; WORD $0x20b9 // vmovupd    yword [rcx + 4*rdi + 32], ymm1
	LONG $0x5411fdc5; WORD $0x40b9 // vmovupd    yword [rcx + 4*rdi + 64], ymm2
	LONG $0x5c11fdc5; WORD $0x60b9 // vmovupd    yword [rcx + 4*rdi + 96], ymm3

LBB0_1548:
	WORD $0x394c; BYTE $0xce // cmp    rsi, r9
	JE   LBB0_1553
	JMP  LBB0_1549