arrow/compute/internal/kernels/cast_numeric_sse4_amd64.s (8,143 lines of code) (raw):
//go:build go1.18 && !noasm && !appengine
// AUTO-GENERATED BY C2GOASM -- DO NOT EDIT
DATA LCDATA1<>+0x000(SB)/8, $0x43e0000000000000
DATA LCDATA1<>+0x008(SB)/8, $0x0000000000000000
DATA LCDATA1<>+0x010(SB)/8, $0x0000000000000400
DATA LCDATA1<>+0x018(SB)/8, $0x0000000000000000
DATA LCDATA1<>+0x020(SB)/8, $0x4f0000004f000000
DATA LCDATA1<>+0x028(SB)/8, $0x4f0000004f000000
DATA LCDATA1<>+0x030(SB)/8, $0x8000000080000000
DATA LCDATA1<>+0x038(SB)/8, $0x8000000080000000
DATA LCDATA1<>+0x040(SB)/8, $0x0000000000000800
DATA LCDATA1<>+0x048(SB)/8, $0x0000000000000000
DATA LCDATA1<>+0x050(SB)/8, $0x4330000000000000
DATA LCDATA1<>+0x058(SB)/8, $0x4330000000000000
DATA LCDATA1<>+0x060(SB)/8, $0x4530000000000000
DATA LCDATA1<>+0x068(SB)/8, $0x4530000000000000
DATA LCDATA1<>+0x070(SB)/8, $0x4530000000100000
DATA LCDATA1<>+0x078(SB)/8, $0x4530000000100000
DATA LCDATA1<>+0x080(SB)/8, $0x4530000043300000
DATA LCDATA1<>+0x088(SB)/8, $0x0000000000000000
DATA LCDATA1<>+0x090(SB)/8, $0x4330000000000000
DATA LCDATA1<>+0x098(SB)/8, $0x4530000000000000
DATA LCDATA1<>+0x0a0(SB)/8, $0x0000000000000001
DATA LCDATA1<>+0x0a8(SB)/8, $0x0000000000000001
DATA LCDATA1<>+0x0b0(SB)/8, $0x0d0c090805040100
DATA LCDATA1<>+0x0b8(SB)/8, $0x0f0e0d0c0d0c0908
DATA LCDATA1<>+0x0c0(SB)/8, $0x000000000c080400
DATA LCDATA1<>+0x0c8(SB)/8, $0x0000000000000000
DATA LCDATA1<>+0x0d0(SB)/8, $0x4b0000004b000000
DATA LCDATA1<>+0x0d8(SB)/8, $0x4b0000004b000000
DATA LCDATA1<>+0x0e0(SB)/8, $0x5300000053000000
DATA LCDATA1<>+0x0e8(SB)/8, $0x5300000053000000
DATA LCDATA1<>+0x0f0(SB)/8, $0x5300008053000080
DATA LCDATA1<>+0x0f8(SB)/8, $0x5300008053000080
DATA LCDATA1<>+0x100(SB)/8, $0x0e0c0a0806040200
DATA LCDATA1<>+0x108(SB)/8, $0x0000000000000000
DATA LCDATA1<>+0x110(SB)/8, $0x000000005f000000
GLOBL LCDATA1<>(SB), 8, $280
TEXT ·_cast_type_numeric_sse4(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_1526
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_12
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_761
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_761
LBB0_12:
WORD $0xf631 // xor esi, esi
LBB0_1104:
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_1106
LBB0_1105:
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_1105
LBB0_1106:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1107:
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_1107
JMP LBB0_1526
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_1526
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8944; BYTE $0xc6 // mov esi, r8d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf0 // mov r8d, esi
LONG $0x03e08341 // and r8d, 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_1526
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_34
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_763
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_763
LBB0_34:
WORD $0xf631 // xor esi, esi
LBB0_1482:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB0_1484
LBB0_1483:
LONG $0x323cbe0f // movsx edi, byte [rdx + rsi]
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_1483
LBB0_1484:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1485:
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_1485
JMP LBB0_1526
LBB0_35:
WORD $0xff83; BYTE $0x07 // cmp edi, 7
JE LBB0_85
WORD $0xff83; BYTE $0x08 // cmp edi, 8
JNE LBB0_1526
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_454
WORD $0xf631 // xor esi, esi
JMP LBB0_948
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_457
WORD $0xf631 // xor esi, esi
JMP LBB0_953
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_460
WORD $0xf631 // xor esi, esi
JMP LBB0_958
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_463
WORD $0xf631 // xor esi, esi
JMP LBB0_963
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_466
WORD $0xf631 // xor esi, esi
JMP LBB0_968
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_84
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_766
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_766
LBB0_84:
WORD $0xf631 // xor esi, esi
LBB0_1490:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB0_1492
LBB0_1491:
LONG $0x323cb60f // movzx edi, byte [rdx + rsi]
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_1491
LBB0_1492:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1493:
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_1493
JMP LBB0_1526
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_92
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_769
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_769
LBB0_92:
WORD $0xf631 // xor esi, esi
LBB0_1114:
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_1116
LBB0_1115:
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_1115
LBB0_1116:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1117:
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_1117
JMP LBB0_1526
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8944; BYTE $0xc6 // mov esi, r8d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf0 // mov r8d, esi
LONG $0x03e08341 // and r8d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB0_475
WORD $0xff31 // xor edi, edi
JMP LBB0_477
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_106
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_771
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_771
LBB0_106:
WORD $0xf631 // xor esi, esi
LBB0_1124:
WORD $0x8944; BYTE $0xcf // mov edi, r9d
WORD $0xf729 // sub edi, esi
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
LONG $0x07e78348 // and rdi, 7
JE LBB0_1126
LBB0_1125:
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_1125
LBB0_1126:
LONG $0x07f88349 // cmp r8, 7
JB LBB0_1526
LBB0_1127:
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_1127
JMP LBB0_1526
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8944; BYTE $0xc6 // mov esi, r8d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf0 // mov r8d, esi
LONG $0x03e08341 // and r8d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB0_483
WORD $0xff31 // xor edi, edi
JMP LBB0_485
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_488
WORD $0xf631 // xor esi, esi
JMP LBB0_973
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8944; BYTE $0xc6 // mov esi, r8d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf0 // mov r8d, esi
LONG $0x03e08341 // and r8d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB0_491
WORD $0xff31 // xor edi, edi
JMP LBB0_493
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8944; BYTE $0xc6 // mov esi, r8d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf0 // mov r8d, esi
LONG $0x03e08341 // and r8d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB0_496
WORD $0xff31 // xor edi, edi
JMP LBB0_498
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
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_501
WORD $0xff31 // xor edi, edi
JMP LBB0_503
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_506
WORD $0xf631 // xor esi, esi
JMP LBB0_979
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8944; BYTE $0xc6 // mov esi, r8d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf0 // mov r8d, esi
LONG $0x03e08341 // and r8d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB0_509
WORD $0xff31 // xor edi, edi
JMP LBB0_511
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_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
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_514
WORD $0xff31 // xor edi, edi
JMP LBB0_516
LBB0_163:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB0_383
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_167
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_773
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_773
LBB0_167:
WORD $0xf631 // xor esi, esi
LBB0_1498:
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_1500
LBB0_1499:
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_1499
LBB0_1500:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1501:
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_1501
JMP LBB0_1526
LBB0_168:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB0_386
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_172
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_776
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_776
LBB0_172:
WORD $0xf631 // xor esi, esi
LBB0_1506:
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_1508
LBB0_1507:
LONG $0x042c0ff2; BYTE $0xf2 // cvttsd2si eax, qword [rdx + 8*rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_1507
LBB0_1508:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1509:
LONG $0x042c0ff2; BYTE $0xf2 // cvttsd2si eax, qword [rdx + 8*rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x442c0ff2; WORD $0x08f2 // cvttsd2si eax, qword [rdx + 8*rsi + 8]
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
LONG $0x442c0ff2; WORD $0x10f2 // cvttsd2si eax, qword [rdx + 8*rsi + 16]
LONG $0x02314488 // mov byte [rcx + rsi + 2], al
LONG $0x442c0ff2; WORD $0x18f2 // cvttsd2si 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_1509
JMP LBB0_1526
LBB0_173:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB0_389
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB0_177
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_779
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_779
LBB0_177:
WORD $0xf631 // xor esi, esi
LBB0_1134:
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_1136
LBB0_1135:
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_1135
LBB0_1136:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1137:
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_1137
JMP LBB0_1526
LBB0_178:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB0_392
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_182
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_182:
WORD $0xf631 // xor esi, esi
LBB0_1322:
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_1324
LBB0_1323:
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_1323
LBB0_1324:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1325:
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_1325
JMP LBB0_1526
LBB0_183:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB0_395
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_187
LONG $0x4a048d4a // lea rax, [rdx + 2*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_187:
WORD $0xf631 // xor esi, esi
LBB0_1330:
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_1332
LBB0_1331:
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_1331
LBB0_1332:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1333:
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_1333
JMP LBB0_1526
LBB0_188:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB0_398
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_192
LONG $0x4a048d4a // lea rax, [rdx + 2*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_192:
WORD $0xf631 // xor esi, esi
LBB0_1514:
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_1516
LBB0_1515:
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_1515
LBB0_1516:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1517:
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_1517
JMP LBB0_1526
LBB0_193:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB0_401
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_197
LONG $0xca048d4a // lea rax, [rdx + 8*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_197:
WORD $0xf631 // xor esi, esi
LBB0_1338:
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_1340
LBB0_1339:
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_1339
LBB0_1340:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1341:
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_1341
JMP LBB0_1526
LBB0_198:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB0_404
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_202
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_793
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_793
LBB0_202:
WORD $0xf631 // xor esi, esi
LBB0_1522:
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_1524
LBB0_1523:
LONG $0x042c0ff3; BYTE $0xb2 // cvttss2si 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_1523
LBB0_1524:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1525:
LONG $0x042c0ff3; BYTE $0xb2 // cvttss2si eax, dword [rdx + 4*rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x442c0ff3; WORD $0x04b2 // cvttss2si eax, dword [rdx + 4*rsi + 4]
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
LONG $0x442c0ff3; WORD $0x08b2 // cvttss2si eax, dword [rdx + 4*rsi + 8]
LONG $0x02314488 // mov byte [rcx + rsi + 2], al
LONG $0x442c0ff3; WORD $0x0cb2 // cvttss2si 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_1525
JMP LBB0_1526
LBB0_203:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB0_407
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB0_207
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_796
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_796
LBB0_207:
WORD $0xf631 // xor esi, esi
LBB0_1144:
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_1146
LBB0_1145:
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_1145
LBB0_1146:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1147:
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_1147
JMP LBB0_1526
LBB0_208:
WORD $0xfe83; BYTE $0x02 // cmp esi, 2
JE LBB0_410
WORD $0xfe83; BYTE $0x03 // cmp esi, 3
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_212
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_798
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_798
LBB0_212:
WORD $0xf631 // xor esi, esi
LBB0_1346:
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_1348
LBB0_1347:
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_1347
LBB0_1348:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1349:
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_1349
JMP LBB0_1526
LBB0_213:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB0_413
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_549
WORD $0xf631 // xor esi, esi
JMP LBB0_807
LBB0_218:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB0_416
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0xff418d49 // lea rax, [r9 - 1]
WORD $0x8945; BYTE $0xc8 // mov r8d, r9d
LONG $0x03e08341 // and r8d, 3
QUAD $0x000000000000ba49; WORD $0x8000 // mov r10, -9223372036854775808
LONG $0x03f88348 // cmp rax, 3
JAE LBB0_551
WORD $0xc031 // xor eax, eax
JMP LBB0_553
LBB0_223:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB0_419
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_227
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_808
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_808
LBB0_227:
WORD $0xf631 // xor esi, esi
LBB0_1154:
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_1156
LBB0_1155:
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_1155
LBB0_1156:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1157:
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_1157
JMP LBB0_1526
LBB0_228:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB0_422
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_232
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_810
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_810
LBB0_232:
WORD $0xf631 // xor esi, esi
LBB0_1164:
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_1166
LBB0_1165:
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_1165
LBB0_1166:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1167:
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_1167
JMP LBB0_1526
LBB0_233:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB0_425
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_562
WORD $0xf631 // xor esi, esi
JMP LBB0_818
LBB0_238:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB0_428
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_564
WORD $0xf631 // xor esi, esi
JMP LBB0_825
LBB0_243:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB0_431
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_247
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_826
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_826
LBB0_247:
WORD $0xf631 // xor esi, esi
LBB0_1174:
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_1176
LBB0_1175:
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_1175
LBB0_1176:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1177:
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_1177
JMP LBB0_1526
LBB0_248:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB0_434
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0xff418d49 // lea rax, [r9 - 1]
WORD $0x8945; BYTE $0xc8 // mov r8d, r9d
LONG $0x03e08341 // and r8d, 3
LONG $0x03f88348 // cmp rax, 3
JAE LBB0_569
WORD $0xff31 // xor edi, edi
JMP LBB0_571
LBB0_253:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB0_437
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_257
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_828
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_828
LBB0_257:
WORD $0xf631 // xor esi, esi
LBB0_1184:
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_1186
LBB0_1185:
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_1185
LBB0_1186:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1187:
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_1187
JMP LBB0_1526
LBB0_258:
WORD $0xfe83; BYTE $0x07 // cmp esi, 7
JE LBB0_440
WORD $0xfe83; BYTE $0x08 // cmp esi, 8
JNE LBB0_1526
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_577
WORD $0xf631 // xor esi, esi
JMP LBB0_836
LBB0_263:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_579
WORD $0xf631 // xor esi, esi
JMP LBB0_984
LBB0_266:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_582
WORD $0xf631 // xor esi, esi
JMP LBB0_989
LBB0_269:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_585
WORD $0xf631 // xor esi, esi
JMP LBB0_994
LBB0_272:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_588
WORD $0xf631 // xor esi, esi
JMP LBB0_999
LBB0_275:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_277
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_837
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_837
LBB0_277:
WORD $0xf631 // xor esi, esi
LBB0_1354:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB0_1356
LBB0_1355:
LONG $0x323cbe0f // movsx edi, byte [rdx + rsi]
LONG $0x713c8966 // mov word [rcx + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_1355
LBB0_1356:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1357:
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_1357
JMP LBB0_1526
LBB0_278:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_280
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_840
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_840
LBB0_280:
WORD $0xf631 // xor esi, esi
LBB0_1362:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB0_1364
LBB0_1363:
LONG $0x323cbe0f // movsx edi, byte [rdx + rsi]
LONG $0x713c8966 // mov word [rcx + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_1363
LBB0_1364:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1365:
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_1365
JMP LBB0_1526
LBB0_281:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_597
WORD $0xf631 // xor esi, esi
JMP LBB0_1004
LBB0_284:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_600
WORD $0xf631 // xor esi, esi
JMP LBB0_1009
LBB0_287:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_289
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_843
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_843
LBB0_289:
WORD $0xf631 // xor esi, esi
LBB0_1194:
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_1196
LBB0_1195:
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_1195
LBB0_1196:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1197:
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_1197
JMP LBB0_1526
LBB0_290:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_292
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_845
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_845
LBB0_292:
WORD $0xf631 // xor esi, esi
LBB0_1204:
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_1206
LBB0_1205:
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_1205
LBB0_1206:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1207:
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_1207
JMP LBB0_1526
LBB0_293:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_295
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_847
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_847
LBB0_295:
WORD $0xf631 // xor esi, esi
LBB0_1214:
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_1216
LBB0_1215:
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_1215
LBB0_1216:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1217:
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_1217
JMP LBB0_1526
LBB0_296:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_298
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_849
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_849
LBB0_298:
WORD $0xf631 // xor esi, esi
LBB0_1224:
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_1226
LBB0_1225:
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_1225
LBB0_1226:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1227:
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_1227
JMP LBB0_1526
LBB0_299:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_615
WORD $0xf631 // xor esi, esi
JMP LBB0_1014
LBB0_302:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_618
WORD $0xf631 // xor esi, esi
JMP LBB0_1019
LBB0_305:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_621
WORD $0xf631 // xor esi, esi
JMP LBB0_1024
LBB0_308:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_624
WORD $0xf631 // xor esi, esi
JMP LBB0_1029
LBB0_311:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_313
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_851
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_851
LBB0_313:
WORD $0xf631 // xor esi, esi
LBB0_1370:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB0_1372
LBB0_1371:
LONG $0x323cb60f // movzx edi, byte [rdx + rsi]
LONG $0x713c8966 // mov word [rcx + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_1371
LBB0_1372:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1373:
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_1373
JMP LBB0_1526
LBB0_314:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_316
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_854
LONG $0x49048d4a // lea rax, [rcx + 2*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_854
LBB0_316:
WORD $0xf631 // xor esi, esi
LBB0_1378:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB0_1380
LBB0_1379:
LONG $0x323cb60f // movzx edi, byte [rdx + rsi]
LONG $0x713c8966 // mov word [rcx + 2*rsi], di
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_1379
LBB0_1380:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1381:
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_1381
JMP LBB0_1526
LBB0_317:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_633
WORD $0xf631 // xor esi, esi
JMP LBB0_1034
LBB0_320:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_636
WORD $0xf631 // xor esi, esi
JMP LBB0_1039
LBB0_323:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_639
WORD $0xf631 // xor esi, esi
JMP LBB0_863
LBB0_326:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_641
WORD $0xf631 // xor esi, esi
JMP LBB0_1044
LBB0_329:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8944; BYTE $0xc6 // mov esi, r8d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf0 // mov r8d, esi
LONG $0x03e08341 // and r8d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB0_644
WORD $0xff31 // xor edi, edi
JMP LBB0_646
LBB0_332:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_649
WORD $0xf631 // xor esi, esi
JMP LBB0_1049
LBB0_335:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_337
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_864
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_864
LBB0_337:
WORD $0xf631 // xor esi, esi
LBB0_1234:
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_1236
LBB0_1235:
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_1235
LBB0_1236:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1237:
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_1237
JMP LBB0_1526
LBB0_338:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_340
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_866
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_866
LBB0_340:
WORD $0xf631 // xor esi, esi
LBB0_1386:
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_1388
LBB0_1387:
LONG $0x3204be0f // movsx eax, byte [rdx + rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_1387
LBB0_1388:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1389:
LONG $0x3204be0f // movsx eax, byte [rdx + rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x3244be0f; BYTE $0x01 // movsx eax, byte [rdx + rsi + 1]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x44110ff3; WORD $0x04b1 // movss dword [rcx + 4*rsi + 4], xmm0
LONG $0x3244be0f; BYTE $0x02 // movsx eax, byte [rdx + rsi + 2]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x44110ff3; WORD $0x08b1 // movss dword [rcx + 4*rsi + 8], xmm0
LONG $0x3244be0f; BYTE $0x03 // movsx eax, byte [rdx + rsi + 3]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x44110ff3; WORD $0x0cb1 // movss dword [rcx + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB0_1389
JMP LBB0_1526
LBB0_341:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_343
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_869
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_869
LBB0_343:
WORD $0xf631 // xor esi, esi
LBB0_1244:
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_1246
LBB0_1245:
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_1245
LBB0_1246:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1247:
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_1247
JMP LBB0_1526
LBB0_344:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_661
WORD $0xf631 // xor esi, esi
JMP LBB0_1056
LBB0_347:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_664
WORD $0xf631 // xor esi, esi
JMP LBB0_877
LBB0_350:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_666
WORD $0xf631 // xor esi, esi
JMP LBB0_1062
LBB0_353:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_669
WORD $0xf631 // xor esi, esi
JMP LBB0_884
LBB0_356:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_671
WORD $0xf631 // xor esi, esi
JMP LBB0_1067
LBB0_359:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_361
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_885
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_885
LBB0_361:
WORD $0xf631 // xor esi, esi
LBB0_1254:
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_1256
LBB0_1255:
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_1255
LBB0_1256:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1257:
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_1257
JMP LBB0_1526
LBB0_362:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
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_677
WORD $0xff31 // xor edi, edi
JMP LBB0_679
LBB0_365:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8944; BYTE $0xc6 // mov esi, r8d
LONG $0xff7e8d48 // lea rdi, [rsi - 1]
WORD $0x8941; BYTE $0xf0 // mov r8d, esi
LONG $0x03e08341 // and r8d, 3
LONG $0x03ff8348 // cmp rdi, 3
JAE LBB0_682
WORD $0xff31 // xor edi, edi
JMP LBB0_684
LBB0_368:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_370
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_887
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_887
LBB0_370:
WORD $0xf631 // xor esi, esi
LBB0_1264:
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 $0x07e78348 // and rdi, 7
JE LBB0_1266
LBB0_1265:
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_1265
LBB0_1266:
LONG $0x07f88349 // cmp r8, 7
JB LBB0_1526
LBB0_1267:
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_1267
JMP LBB0_1526
LBB0_371:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_373
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_889
LONG $0xc9048d4a // lea rax, [rcx + 8*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_889
LBB0_373:
WORD $0xf631 // xor esi, esi
LBB0_1274:
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_1276
LBB0_1275:
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_1275
LBB0_1276:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1277:
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_1277
JMP LBB0_1526
LBB0_374:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_376
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_891
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_891
LBB0_376:
WORD $0xf631 // xor esi, esi
LBB0_1394:
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_1396
LBB0_1395:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_1395
LBB0_1396:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1397:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x3244b60f; BYTE $0x01 // movzx eax, byte [rdx + rsi + 1]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x44110ff3; WORD $0x04b1 // movss dword [rcx + 4*rsi + 4], xmm0
LONG $0x3244b60f; BYTE $0x02 // movzx eax, byte [rdx + rsi + 2]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x44110ff3; WORD $0x08b1 // movss dword [rcx + 4*rsi + 8], xmm0
LONG $0x3244b60f; BYTE $0x03 // movzx eax, byte [rdx + rsi + 3]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x44110ff3; WORD $0x0cb1 // movss dword [rcx + 4*rsi + 12], xmm0
LONG $0x04c68348 // add rsi, 4
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB0_1397
JMP LBB0_1526
LBB0_377:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_696
WORD $0xf631 // xor esi, esi
JMP LBB0_900
LBB0_380:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_698
WORD $0xf631 // xor esi, esi
JMP LBB0_1072
LBB0_383:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_385
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_901
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_901
LBB0_385:
WORD $0xf631 // xor esi, esi
LBB0_1402:
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_1404
LBB0_1403:
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_1403
LBB0_1404:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1405:
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_1405
JMP LBB0_1526
LBB0_386:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_388
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_904
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_904
LBB0_388:
WORD $0xf631 // xor esi, esi
LBB0_1410:
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_1412
LBB0_1411:
LONG $0x042c0ff2; BYTE $0xf2 // cvttsd2si eax, qword [rdx + 8*rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x01c68348 // add rsi, 1
LONG $0xffc78348 // add rdi, -1
JNE LBB0_1411
LBB0_1412:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1413:
LONG $0x042c0ff2; BYTE $0xf2 // cvttsd2si eax, qword [rdx + 8*rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x442c0ff2; WORD $0x08f2 // cvttsd2si eax, qword [rdx + 8*rsi + 8]
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
LONG $0x442c0ff2; WORD $0x10f2 // cvttsd2si eax, qword [rdx + 8*rsi + 16]
LONG $0x02314488 // mov byte [rcx + rsi + 2], al
LONG $0x442c0ff2; WORD $0x18f2 // cvttsd2si 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_1413
JMP LBB0_1526
LBB0_389:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB0_391
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_907
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_907
LBB0_391:
WORD $0xf631 // xor esi, esi
LBB0_1284:
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_1286
LBB0_1285:
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_1285
LBB0_1286:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1287:
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_1287
JMP LBB0_1526
LBB0_392:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_394
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_909
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_909
LBB0_394:
WORD $0xf631 // xor esi, esi
LBB0_1418:
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_1420
LBB0_1419:
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_1419
LBB0_1420:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1421:
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_1421
JMP LBB0_1526
LBB0_395:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_397
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_912
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_912
LBB0_397:
WORD $0xf631 // xor esi, esi
LBB0_1426:
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_1428
LBB0_1427:
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_1427
LBB0_1428:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1429:
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_1429
JMP LBB0_1526
LBB0_398:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x10f88341 // cmp r8d, 16
JB LBB0_400
LONG $0x4a048d4a // lea rax, [rdx + 2*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_915
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_915
LBB0_400:
WORD $0xf631 // xor esi, esi
LBB0_1434:
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_1436
LBB0_1435:
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_1435
LBB0_1436:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1437:
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_1437
JMP LBB0_1526
LBB0_401:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JB LBB0_403
LONG $0xca048d4a // lea rax, [rdx + 8*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_918
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_918
LBB0_403:
WORD $0xf631 // xor esi, esi
LBB0_1442:
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_1444
LBB0_1443:
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_1443
LBB0_1444:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1445:
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_1445
JMP LBB0_1526
LBB0_404:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_406
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_921
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_921
LBB0_406:
WORD $0xf631 // xor esi, esi
LBB0_1450:
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_1452
LBB0_1451:
LONG $0x042c0ff3; BYTE $0xb2 // cvttss2si 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_1451
LBB0_1452:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1453:
LONG $0x042c0ff3; BYTE $0xb2 // cvttss2si eax, dword [rdx + 4*rsi]
WORD $0x0488; BYTE $0x31 // mov byte [rcx + rsi], al
LONG $0x442c0ff3; WORD $0x04b2 // cvttss2si eax, dword [rdx + 4*rsi + 4]
LONG $0x01314488 // mov byte [rcx + rsi + 1], al
LONG $0x442c0ff3; WORD $0x08b2 // cvttss2si eax, dword [rdx + 4*rsi + 8]
LONG $0x02314488 // mov byte [rcx + rsi + 2], al
LONG $0x442c0ff3; WORD $0x0cb2 // cvttss2si 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_1453
JMP LBB0_1526
LBB0_407:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x20f88341 // cmp r8d, 32
JB LBB0_409
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_924
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_924
LBB0_409:
WORD $0xf631 // xor esi, esi
LBB0_1294:
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_1296
LBB0_1295:
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_1295
LBB0_1296:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1297:
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_1297
JMP LBB0_1526
LBB0_410:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_412
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_926
LONG $0x09048d4a // lea rax, [rcx + r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_926
LBB0_412:
WORD $0xf631 // xor esi, esi
LBB0_1458:
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_1460
LBB0_1459:
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_1459
LBB0_1460:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1461:
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_1461
JMP LBB0_1526
LBB0_413:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_415
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_929
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_929
LBB0_415:
WORD $0xf631 // xor esi, esi
LBB0_1304:
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_1306
LBB0_1305:
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_1305
LBB0_1306:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1307:
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_1307
JMP LBB0_1526
LBB0_416:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_734
WORD $0xf631 // xor esi, esi
JMP LBB0_1077
LBB0_419:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_421
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_931
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_931
LBB0_421:
WORD $0xf631 // xor esi, esi
LBB0_1466:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB0_1468
LBB0_1467:
LONG $0x323cbe0f // movsx edi, byte [rdx + rsi]
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_1467
LBB0_1468:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1469:
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_1469
JMP LBB0_1526
LBB0_422:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_740
WORD $0xf631 // xor esi, esi
JMP LBB0_943
LBB0_425:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_743
WORD $0xf631 // xor esi, esi
JMP LBB0_1082
LBB0_428:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_746
WORD $0xf631 // xor esi, esi
JMP LBB0_1087
LBB0_431:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x04f88341 // cmp r8d, 4
JAE LBB0_749
WORD $0xf631 // xor esi, esi
JMP LBB0_1092
LBB0_434:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JAE LBB0_752
WORD $0xf631 // xor esi, esi
JMP LBB0_1097
LBB0_437:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_439
LONG $0x0a048d4a // lea rax, [rdx + r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_934
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_934
LBB0_439:
WORD $0xf631 // xor esi, esi
LBB0_1474:
WORD $0x8949; BYTE $0xf0 // mov r8, rsi
WORD $0xf749; BYTE $0xd0 // not r8
WORD $0x014d; BYTE $0xc8 // add r8, r9
WORD $0x894c; BYTE $0xc8 // mov rax, r9
LONG $0x03e08348 // and rax, 3
JE LBB0_1476
LBB0_1475:
LONG $0x323cb60f // movzx edi, byte [rdx + rsi]
WORD $0x3c89; BYTE $0xb1 // mov dword [rcx + 4*rsi], edi
LONG $0x01c68348 // add rsi, 1
LONG $0xffc08348 // add rax, -1
JNE LBB0_1475
LBB0_1476:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1477:
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_1477
JMP LBB0_1526
LBB0_440:
WORD $0x8545; BYTE $0xc0 // test r8d, r8d
JLE LBB0_1526
WORD $0x8945; BYTE $0xc1 // mov r9d, r8d
LONG $0x08f88341 // cmp r8d, 8
JB LBB0_442
LONG $0x8a048d4a // lea rax, [rdx + 4*r9]
WORD $0x3948; BYTE $0xc8 // cmp rax, rcx
JBE LBB0_937
LONG $0x89048d4a // lea rax, [rcx + 4*r9]
WORD $0x3948; BYTE $0xd0 // cmp rax, rdx
JBE LBB0_937
LBB0_442:
WORD $0xf631 // xor esi, esi
LBB0_1314:
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_1316
LBB0_1315:
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_1315
LBB0_1316:
LONG $0x03f88349 // cmp r8, 3
JB LBB0_1526
LBB0_1317:
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_1317
JMP LBB0_1526
LBB0_446:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_447:
LONG $0x2c0f48f2; WORD $0xfa04 // cvttsd2si rax, qword [rdx + 8*rdi]
WORD $0x0489; BYTE $0xb9 // mov dword [rcx + 4*rdi], eax
LONG $0x2c0f48f2; WORD $0xfa44; BYTE $0x08 // cvttsd2si rax, qword [rdx + 8*rdi + 8]
LONG $0x04b94489 // mov dword [rcx + 4*rdi + 4], eax
LONG $0x2c0f48f2; WORD $0xfa44; BYTE $0x10 // cvttsd2si rax, qword [rdx + 8*rdi + 16]
LONG $0x08b94489 // mov dword [rcx + 4*rdi + 8], eax
LONG $0x2c0f48f2; WORD $0xfa44; BYTE $0x18 // cvttsd2si rax, qword [rdx + 8*rdi + 24]
LONG $0x0cb94489 // mov dword [rcx + 4*rdi + 12], eax
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_447
LBB0_448:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1526
LONG $0xb90c8d48 // lea rcx, [rcx + 4*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xf631 // xor esi, esi
LBB0_450:
LONG $0x2c0f48f2; WORD $0xf204 // cvttsd2si rax, qword [rdx + 8*rsi]
WORD $0x0489; BYTE $0xb1 // mov dword [rcx + 4*rsi], eax
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf0 // cmp r8, rsi
JNE LBB0_450
JMP LBB0_1526
LBB0_454:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_944
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 $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x447f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_456
JMP LBB0_945
LBB0_457:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_949
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 $0x33380f66; WORD $0x7a04 // pmovzxwd xmm0, qword [rdx + 2*rdi]
LONG $0x33380f66; WORD $0x7a4c; BYTE $0x08 // pmovzxwd xmm1, qword [rdx + 2*rdi + 8]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LONG $0x33380f66; WORD $0x7a44; BYTE $0x10 // pmovzxwd xmm0, qword [rdx + 2*rdi + 16]
LONG $0x33380f66; WORD $0x7a4c; BYTE $0x18 // pmovzxwd xmm1, qword [rdx + 2*rdi + 24]
LONG $0x447f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_459
JMP LBB0_950
LBB0_460:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_954
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 $0x23380f66; WORD $0x7a04 // pmovsxwd xmm0, qword [rdx + 2*rdi]
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x08 // pmovsxwd xmm1, qword [rdx + 2*rdi + 8]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LONG $0x23380f66; WORD $0x7a44; BYTE $0x10 // pmovsxwd xmm0, qword [rdx + 2*rdi + 16]
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x18 // pmovsxwd xmm1, qword [rdx + 2*rdi + 24]
LONG $0x447f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_462
JMP LBB0_955
LBB0_463:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_959
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 $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x447f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_465
JMP LBB0_960
LBB0_466:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_964
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x204d280f // movaps xmm1, oword 32[rbp] /* [rip + .LCPI0_3] */
LONG $0x3055280f // movaps xmm2, oword 48[rbp] /* [rip + .LCPI0_4] */
LBB0_468:
LONG $0xba1c100f // movups xmm3, oword [rdx + 4*rdi]
LONG $0xba64100f; BYTE $0x10 // movups xmm4, oword [rdx + 4*rdi + 16]
WORD $0x280f; BYTE $0xc3 // movaps xmm0, xmm3
LONG $0x01c1c20f // cmpltps xmm0, xmm1
LONG $0xeb5b0ff3 // cvttps2dq xmm5, xmm3
WORD $0x5c0f; BYTE $0xd9 // subps xmm3, xmm1
LONG $0xdb5b0ff3 // cvttps2dq xmm3, xmm3
WORD $0x570f; BYTE $0xda // xorps xmm3, xmm2
LONG $0x14380f66; BYTE $0xdd // blendvps xmm3, xmm5, xmm0
WORD $0x280f; BYTE $0xc4 // movaps xmm0, xmm4
LONG $0x01c1c20f // cmpltps xmm0, xmm1
LONG $0xec5b0ff3 // cvttps2dq xmm5, xmm4
WORD $0x5c0f; BYTE $0xe1 // subps xmm4, xmm1
LONG $0xe45b0ff3 // cvttps2dq xmm4, xmm4
WORD $0x570f; BYTE $0xe2 // xorps xmm4, xmm2
LONG $0x14380f66; BYTE $0xe5 // blendvps xmm4, xmm5, xmm0
LONG $0xb91c110f // movups oword [rcx + 4*rdi], xmm3
LONG $0xb964110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm4
LONG $0xba5c100f; BYTE $0x20 // movups xmm3, oword [rdx + 4*rdi + 32]
WORD $0x280f; BYTE $0xc3 // movaps xmm0, xmm3
LONG $0x01c1c20f // cmpltps xmm0, xmm1
LONG $0xe35b0ff3 // cvttps2dq xmm4, xmm3
WORD $0x5c0f; BYTE $0xd9 // subps xmm3, xmm1
LONG $0xdb5b0ff3 // cvttps2dq xmm3, xmm3
WORD $0x570f; BYTE $0xda // xorps xmm3, xmm2
LONG $0x14380f66; BYTE $0xdc // blendvps xmm3, xmm4, xmm0
LONG $0xba64100f; BYTE $0x30 // movups xmm4, oword [rdx + 4*rdi + 48]
WORD $0x280f; BYTE $0xc4 // movaps xmm0, xmm4
LONG $0x01c1c20f // cmpltps xmm0, xmm1
LONG $0xec5b0ff3 // cvttps2dq xmm5, xmm4
WORD $0x5c0f; BYTE $0xe1 // subps xmm4, xmm1
LONG $0xe45b0ff3 // cvttps2dq xmm4, xmm4
WORD $0x570f; BYTE $0xe2 // xorps xmm4, xmm2
LONG $0x14380f66; BYTE $0xe5 // blendvps xmm4, xmm5, xmm0
LONG $0xb95c110f; BYTE $0x20 // movups oword [rcx + 4*rdi + 32], xmm3
LONG $0xb964110f; BYTE $0x30 // movups oword [rcx + 4*rdi + 48], xmm4
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_468
JMP LBB0_965
LBB0_475:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_476:
WORD $0x048b; BYTE $0xba // mov eax, dword [rdx + 4*rdi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f2; BYTE $0xc0 // cvtsi2sd xmm0, rax
LONG $0x04110ff2; BYTE $0xf9 // movsd qword [rcx + 8*rdi], xmm0
LONG $0x04ba448b // mov eax, dword [rdx + 4*rdi + 4]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f2; BYTE $0xc0 // cvtsi2sd xmm0, rax
LONG $0x44110ff2; WORD $0x08f9 // movsd qword [rcx + 8*rdi + 8], xmm0
LONG $0x08ba448b // mov eax, dword [rdx + 4*rdi + 8]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f2; BYTE $0xc0 // cvtsi2sd xmm0, rax
LONG $0x44110ff2; WORD $0x10f9 // movsd qword [rcx + 8*rdi + 16], xmm0
LONG $0x0cba448b // mov eax, dword [rdx + 4*rdi + 12]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f2; BYTE $0xc0 // cvtsi2sd xmm0, rax
LONG $0x44110ff2; WORD $0x18f9 // movsd qword [rcx + 8*rdi + 24], xmm0
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_476
LBB0_477:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1526
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
LONG $0xba148d48 // lea rdx, [rdx + 4*rdi]
WORD $0xf631 // xor esi, esi
LBB0_479:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f2; BYTE $0xc0 // cvtsi2sd xmm0, rax
LONG $0x04110ff2; BYTE $0xf1 // movsd qword [rcx + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf0 // cmp r8, rsi
JNE LBB0_479
JMP LBB0_1526
LBB0_483:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_484:
LONG $0x3a04be0f // movsx eax, byte [rdx + rdi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x04110ff2; BYTE $0xf9 // movsd qword [rcx + 8*rdi], xmm0
LONG $0x3a44be0f; BYTE $0x01 // movsx eax, byte [rdx + rdi + 1]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x08f9 // movsd qword [rcx + 8*rdi + 8], xmm0
LONG $0x3a44be0f; BYTE $0x02 // movsx eax, byte [rdx + rdi + 2]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x10f9 // movsd qword [rcx + 8*rdi + 16], xmm0
LONG $0x3a44be0f; BYTE $0x03 // movsx eax, byte [rdx + rdi + 3]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x18f9 // movsd qword [rcx + 8*rdi + 24], xmm0
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_484
LBB0_485:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1526
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
WORD $0x0148; BYTE $0xfa // add rdx, rdi
WORD $0xf631 // xor esi, esi
LBB0_487:
LONG $0x3204be0f // movsx eax, byte [rdx + rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x04110ff2; BYTE $0xf1 // movsd qword [rcx + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf0 // cmp r8, rsi
JNE LBB0_487
JMP LBB0_1526
LBB0_488:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_969
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0xc0ef0f66 // pxor xmm0, xmm0
LONG $0x4d6f0f66; BYTE $0x50 // movdqa xmm1, oword 80[rbp] /* [rip + .LCPI0_6] */
LONG $0x556f0f66; BYTE $0x60 // movdqa xmm2, oword 96[rbp] /* [rip + .LCPI0_7] */
LONG $0x5d280f66; BYTE $0x70 // movapd xmm3, oword 112[rbp] /* [rip + .LCPI0_8] */
LBB0_490:
LONG $0x246f0ff3; BYTE $0xfa // movdqu xmm4, oword [rdx + 8*rdi]
LONG $0x6c6f0ff3; WORD $0x10fa // movdqu xmm5, oword [rdx + 8*rdi + 16]
LONG $0xf46f0f66 // movdqa xmm6, xmm4
LONG $0x0e3a0f66; WORD $0xccf0 // pblendw xmm6, xmm0, 204
LONG $0xf1eb0f66 // por xmm6, xmm1
LONG $0xd4730f66; BYTE $0x20 // psrlq xmm4, 32
LONG $0xe2eb0f66 // por xmm4, xmm2
LONG $0xe35c0f66 // subpd xmm4, xmm3
LONG $0xe6580f66 // addpd xmm4, xmm6
LONG $0xf56f0f66 // movdqa xmm6, xmm5
LONG $0x0e3a0f66; WORD $0xccf0 // pblendw xmm6, xmm0, 204
LONG $0xf1eb0f66 // por xmm6, xmm1
LONG $0xd5730f66; BYTE $0x20 // psrlq xmm5, 32
LONG $0xeaeb0f66 // por xmm5, xmm2
LONG $0xeb5c0f66 // subpd xmm5, xmm3
LONG $0xee580f66 // addpd xmm5, xmm6
LONG $0x24110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm4
LONG $0x6c110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm5
LONG $0x646f0ff3; WORD $0x20fa // movdqu xmm4, oword [rdx + 8*rdi + 32]
LONG $0x6c6f0ff3; WORD $0x30fa // movdqu xmm5, oword [rdx + 8*rdi + 48]
LONG $0xf46f0f66 // movdqa xmm6, xmm4
LONG $0x0e3a0f66; WORD $0xccf0 // pblendw xmm6, xmm0, 204
LONG $0xf1eb0f66 // por xmm6, xmm1
LONG $0xd4730f66; BYTE $0x20 // psrlq xmm4, 32
LONG $0xe2eb0f66 // por xmm4, xmm2
LONG $0xe35c0f66 // subpd xmm4, xmm3
LONG $0xe6580f66 // addpd xmm4, xmm6
LONG $0xf56f0f66 // movdqa xmm6, xmm5
LONG $0x0e3a0f66; WORD $0xccf0 // pblendw xmm6, xmm0, 204
LONG $0xf1eb0f66 // por xmm6, xmm1
LONG $0xd5730f66; BYTE $0x20 // psrlq xmm5, 32
LONG $0xeaeb0f66 // por xmm5, xmm2
LONG $0xeb5c0f66 // subpd xmm5, xmm3
LONG $0xee580f66 // addpd xmm5, xmm6
LONG $0x64110f66; WORD $0x20f9 // movupd oword [rcx + 8*rdi + 32], xmm4
LONG $0x6c110f66; WORD $0x30f9 // movupd oword [rcx + 8*rdi + 48], xmm5
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_490
JMP LBB0_970
LBB0_491:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_492:
LONG $0x7a04b70f // movzx eax, word [rdx + 2*rdi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x04110ff2; BYTE $0xf9 // movsd qword [rcx + 8*rdi], xmm0
LONG $0x7a44b70f; BYTE $0x02 // movzx eax, word [rdx + 2*rdi + 2]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x08f9 // movsd qword [rcx + 8*rdi + 8], xmm0
LONG $0x7a44b70f; BYTE $0x04 // movzx eax, word [rdx + 2*rdi + 4]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x10f9 // movsd qword [rcx + 8*rdi + 16], xmm0
LONG $0x7a44b70f; BYTE $0x06 // movzx eax, word [rdx + 2*rdi + 6]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x18f9 // movsd qword [rcx + 8*rdi + 24], xmm0
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_492
LBB0_493:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1526
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
LONG $0x7a148d48 // lea rdx, [rdx + 2*rdi]
WORD $0xf631 // xor esi, esi
LBB0_495:
LONG $0x7204b70f // movzx eax, word [rdx + 2*rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x04110ff2; BYTE $0xf1 // movsd qword [rcx + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf0 // cmp r8, rsi
JNE LBB0_495
JMP LBB0_1526
LBB0_496:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_497:
LONG $0x7a04bf0f // movsx eax, word [rdx + 2*rdi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x04110ff2; BYTE $0xf9 // movsd qword [rcx + 8*rdi], xmm0
LONG $0x7a44bf0f; BYTE $0x02 // movsx eax, word [rdx + 2*rdi + 2]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x08f9 // movsd qword [rcx + 8*rdi + 8], xmm0
LONG $0x7a44bf0f; BYTE $0x04 // movsx eax, word [rdx + 2*rdi + 4]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x10f9 // movsd qword [rcx + 8*rdi + 16], xmm0
LONG $0x7a44bf0f; BYTE $0x06 // movsx eax, word [rdx + 2*rdi + 6]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x18f9 // movsd qword [rcx + 8*rdi + 24], xmm0
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_497
LBB0_498:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1526
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
LONG $0x7a148d48 // lea rdx, [rdx + 2*rdi]
WORD $0xf631 // xor esi, esi
LBB0_500:
LONG $0x7204bf0f // movsx eax, word [rdx + 2*rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x04110ff2; BYTE $0xf1 // movsd qword [rcx + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf0 // cmp r8, rsi
JNE LBB0_500
JMP LBB0_1526
LBB0_501:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_502:
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f2; WORD $0xfa04 // cvtsi2sd xmm0, qword [rdx + 8*rdi]
LONG $0x04110ff2; BYTE $0xf9 // movsd qword [rcx + 8*rdi], xmm0
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f2; WORD $0xfa44; BYTE $0x08 // cvtsi2sd xmm0, qword [rdx + 8*rdi + 8]
LONG $0x44110ff2; WORD $0x08f9 // movsd qword [rcx + 8*rdi + 8], xmm0
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f2; WORD $0xfa44; BYTE $0x10 // cvtsi2sd xmm0, qword [rdx + 8*rdi + 16]
LONG $0x44110ff2; WORD $0x10f9 // movsd qword [rcx + 8*rdi + 16], xmm0
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f2; WORD $0xfa44; BYTE $0x18 // cvtsi2sd xmm0, qword [rdx + 8*rdi + 24]
LONG $0x44110ff2; WORD $0x18f9 // movsd qword [rcx + 8*rdi + 24], xmm0
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_502
LBB0_503:
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1526
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xf631 // xor esi, esi
LBB0_505:
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f2; WORD $0xf204 // cvtsi2sd xmm0, qword [rdx + 8*rsi]
LONG $0x04110ff2; BYTE $0xf1 // movsd qword [rcx + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB0_505
JMP LBB0_1526
LBB0_506:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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_508:
LONG $0xba045a0f // cvtps2pd xmm0, qword [rdx + 4*rdi]
LONG $0xba4c5a0f; BYTE $0x08 // cvtps2pd xmm1, qword [rdx + 4*rdi + 8]
LONG $0xf904110f // movups oword [rcx + 8*rdi], xmm0
LONG $0xf94c110f; BYTE $0x10 // movups oword [rcx + 8*rdi + 16], xmm1
LONG $0xba445a0f; BYTE $0x10 // cvtps2pd xmm0, qword [rdx + 4*rdi + 16]
LONG $0xba4c5a0f; BYTE $0x18 // cvtps2pd xmm1, qword [rdx + 4*rdi + 24]
LONG $0x44110f66; WORD $0x20f9 // movupd oword [rcx + 8*rdi + 32], xmm0
LONG $0x4c110f66; WORD $0x30f9 // movupd oword [rcx + 8*rdi + 48], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_508
JMP LBB0_976
LBB0_509:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_510:
LONG $0x3a04b60f // movzx eax, byte [rdx + rdi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x04110ff2; BYTE $0xf9 // movsd qword [rcx + 8*rdi], xmm0
LONG $0x3a44b60f; BYTE $0x01 // movzx eax, byte [rdx + rdi + 1]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x08f9 // movsd qword [rcx + 8*rdi + 8], xmm0
LONG $0x3a44b60f; BYTE $0x02 // movzx eax, byte [rdx + rdi + 2]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x10f9 // movsd qword [rcx + 8*rdi + 16], xmm0
LONG $0x3a44b60f; BYTE $0x03 // movzx eax, byte [rdx + rdi + 3]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x44110ff2; WORD $0x18f9 // movsd qword [rcx + 8*rdi + 24], xmm0
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_510
LBB0_511:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1526
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
WORD $0x0148; BYTE $0xfa // add rdx, rdi
WORD $0xf631 // xor esi, esi
LBB0_513:
LONG $0x3204b60f // movzx eax, byte [rdx + rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff2 // cvtsi2sd xmm0, eax
LONG $0x04110ff2; BYTE $0xf1 // movsd qword [rcx + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf0 // cmp r8, rsi
JNE LBB0_513
JMP LBB0_1526
LBB0_514:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_515:
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x042a0ff2; BYTE $0xba // cvtsi2sd xmm0, dword [rdx + 4*rdi]
LONG $0x04110ff2; BYTE $0xf9 // movsd qword [rcx + 8*rdi], xmm0
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x442a0ff2; WORD $0x04ba // cvtsi2sd xmm0, dword [rdx + 4*rdi + 4]
LONG $0x44110ff2; WORD $0x08f9 // movsd qword [rcx + 8*rdi + 8], xmm0
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x442a0ff2; WORD $0x08ba // cvtsi2sd xmm0, dword [rdx + 4*rdi + 8]
LONG $0x44110ff2; WORD $0x10f9 // movsd qword [rcx + 8*rdi + 16], xmm0
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x442a0ff2; WORD $0x0cba // cvtsi2sd xmm0, dword [rdx + 4*rdi + 12]
LONG $0x44110ff2; WORD $0x18f9 // movsd qword [rcx + 8*rdi + 24], xmm0
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_515
LBB0_516:
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1526
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
LONG $0xba148d48 // lea rdx, [rdx + 4*rdi]
WORD $0xf631 // xor esi, esi
LBB0_518:
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x042a0ff2; BYTE $0xb2 // cvtsi2sd xmm0, dword [rdx + 4*rsi]
LONG $0x04110ff2; BYTE $0xf1 // movsd qword [rcx + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB0_518
JMP LBB0_1526
LBB0_549:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_801
WORD $0xc031 // xor eax, eax
JMP LBB0_803
LBB0_551:
LONG $0xfce18341 // and r9d, -4
WORD $0xc031 // xor eax, eax
LONG $0x45100ff2; BYTE $0x00 // movsd xmm0, qword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_552:
LONG $0x0c100ff2; BYTE $0xc2 // movsd xmm1, qword [rdx + 8*rax]
LONG $0xd1280f66 // movapd xmm2, xmm1
LONG $0xd05c0ff2 // subsd xmm2, xmm0
LONG $0x2c0f48f2; BYTE $0xfa // cvttsd2si rdi, xmm2
WORD $0x314c; BYTE $0xd7 // xor rdi, r10
LONG $0x2c0f48f2; BYTE $0xf1 // cvttsd2si rsi, xmm1
LONG $0xc12e0f66 // ucomisd xmm0, xmm1
LONG $0xf7460f48 // cmovbe rsi, rdi
LONG $0xc1348948 // mov qword [rcx + 8*rax], rsi
LONG $0x4c100ff2; WORD $0x08c2 // movsd xmm1, qword [rdx + 8*rax + 8]
LONG $0xd1280f66 // movapd xmm2, xmm1
LONG $0xd05c0ff2 // subsd xmm2, xmm0
LONG $0x2c0f48f2; BYTE $0xf2 // cvttsd2si rsi, xmm2
WORD $0x314c; BYTE $0xd6 // xor rsi, r10
LONG $0x2c0f48f2; BYTE $0xf9 // cvttsd2si rdi, xmm1
LONG $0xc12e0f66 // ucomisd xmm0, xmm1
LONG $0xfe460f48 // cmovbe rdi, rsi
LONG $0xc17c8948; BYTE $0x08 // mov qword [rcx + 8*rax + 8], rdi
LONG $0x4c100ff2; WORD $0x10c2 // movsd xmm1, qword [rdx + 8*rax + 16]
LONG $0xd1280f66 // movapd xmm2, xmm1
LONG $0xd05c0ff2 // subsd xmm2, xmm0
LONG $0x2c0f48f2; BYTE $0xf2 // cvttsd2si rsi, xmm2
WORD $0x314c; BYTE $0xd6 // xor rsi, r10
LONG $0x2c0f48f2; BYTE $0xf9 // cvttsd2si rdi, xmm1
LONG $0xc12e0f66 // ucomisd xmm0, xmm1
LONG $0xfe460f48 // cmovbe rdi, rsi
LONG $0xc17c8948; BYTE $0x10 // mov qword [rcx + 8*rax + 16], rdi
LONG $0x4c100ff2; WORD $0x18c2 // movsd xmm1, qword [rdx + 8*rax + 24]
LONG $0xd1280f66 // movapd xmm2, xmm1
LONG $0xd05c0ff2 // subsd xmm2, xmm0
LONG $0x2c0f48f2; BYTE $0xf2 // cvttsd2si rsi, xmm2
WORD $0x314c; BYTE $0xd6 // xor rsi, r10
LONG $0x2c0f48f2; BYTE $0xf9 // cvttsd2si rdi, xmm1
LONG $0xc12e0f66 // ucomisd xmm0, xmm1
LONG $0xfe460f48 // cmovbe rdi, rsi
LONG $0xc17c8948; BYTE $0x18 // mov qword [rcx + 8*rax + 24], rdi
LONG $0x04c08348 // add rax, 4
WORD $0x3949; BYTE $0xc1 // cmp r9, rax
JNE LBB0_552
LBB0_553:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1526
LONG $0xc10c8d48 // lea rcx, [rcx + 8*rax]
LONG $0xc2048d48 // lea rax, [rdx + 8*rax]
WORD $0xd231 // xor edx, edx
LONG $0x45100ff2; BYTE $0x00 // movsd xmm0, qword 0[rbp] /* [rip + .LCPI0_0] */
LBB0_555:
LONG $0x0c100ff2; BYTE $0xd0 // movsd xmm1, qword [rax + 8*rdx]
LONG $0xd1280f66 // movapd xmm2, xmm1
LONG $0xd05c0ff2 // subsd xmm2, xmm0
LONG $0x2c0f48f2; BYTE $0xf2 // cvttsd2si rsi, xmm2
WORD $0x314c; BYTE $0xd6 // xor rsi, r10
LONG $0x2c0f48f2; BYTE $0xf9 // cvttsd2si rdi, xmm1
LONG $0xc12e0f66 // ucomisd xmm0, xmm1
LONG $0xfe460f48 // cmovbe rdi, rsi
LONG $0xd13c8948 // mov qword [rcx + 8*rdx], rdi
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd0 // cmp r8, rdx
JNE LBB0_555
JMP LBB0_1526
LBB0_562:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_812
WORD $0xc031 // xor eax, eax
JMP LBB0_814
LBB0_564:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_819
WORD $0xc031 // xor eax, eax
JMP LBB0_821
LBB0_569:
LONG $0xfce18341 // and r9d, -4
WORD $0xff31 // xor edi, edi
QUAD $0x0000011085100ff3 // movss xmm0, dword 272[rbp] /* [rip + .LCPI0_2] */
QUAD $0x000000000000ba49; WORD $0x8000 // mov r10, -9223372036854775808
LBB0_570:
LONG $0x0c100ff3; BYTE $0xba // movss xmm1, dword [rdx + 4*rdi]
WORD $0x280f; BYTE $0xd1 // movaps xmm2, xmm1
LONG $0xd05c0ff3 // subss xmm2, xmm0
LONG $0x2c0f48f3; BYTE $0xf2 // cvttss2si rsi, xmm2
WORD $0x314c; BYTE $0xd6 // xor rsi, r10
LONG $0x2c0f48f3; BYTE $0xc1 // cvttss2si rax, xmm1
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
LONG $0xc6460f48 // cmovbe rax, rsi
LONG $0xf9048948 // mov qword [rcx + 8*rdi], rax
LONG $0x4c100ff3; WORD $0x04ba // movss xmm1, dword [rdx + 4*rdi + 4]
WORD $0x280f; BYTE $0xd1 // movaps xmm2, xmm1
LONG $0xd05c0ff3 // subss xmm2, xmm0
LONG $0x2c0f48f3; BYTE $0xc2 // cvttss2si rax, xmm2
WORD $0x314c; BYTE $0xd0 // xor rax, r10
LONG $0x2c0f48f3; BYTE $0xf1 // cvttss2si rsi, xmm1
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
LONG $0xf0460f48 // cmovbe rsi, rax
LONG $0xf9748948; BYTE $0x08 // mov qword [rcx + 8*rdi + 8], rsi
LONG $0x4c100ff3; WORD $0x08ba // movss xmm1, dword [rdx + 4*rdi + 8]
WORD $0x280f; BYTE $0xd1 // movaps xmm2, xmm1
LONG $0xd05c0ff3 // subss xmm2, xmm0
LONG $0x2c0f48f3; BYTE $0xc2 // cvttss2si rax, xmm2
WORD $0x314c; BYTE $0xd0 // xor rax, r10
LONG $0x2c0f48f3; BYTE $0xf1 // cvttss2si rsi, xmm1
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
LONG $0xf0460f48 // cmovbe rsi, rax
LONG $0xf9748948; BYTE $0x10 // mov qword [rcx + 8*rdi + 16], rsi
LONG $0x4c100ff3; WORD $0x0cba // movss xmm1, dword [rdx + 4*rdi + 12]
WORD $0x280f; BYTE $0xd1 // movaps xmm2, xmm1
LONG $0xd05c0ff3 // subss xmm2, xmm0
LONG $0x2c0f48f3; BYTE $0xc2 // cvttss2si rax, xmm2
WORD $0x314c; BYTE $0xd0 // xor rax, r10
LONG $0x2c0f48f3; BYTE $0xf1 // cvttss2si rsi, xmm1
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
LONG $0xf0460f48 // cmovbe rsi, rax
LONG $0xf9748948; BYTE $0x18 // mov qword [rcx + 8*rdi + 24], rsi
LONG $0x04c78348 // add rdi, 4
WORD $0x3949; BYTE $0xf9 // cmp r9, rdi
JNE LBB0_570
LBB0_571:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1526
LONG $0xf9048d48 // lea rax, [rcx + 8*rdi]
LONG $0xba0c8d48 // lea rcx, [rdx + 4*rdi]
WORD $0xd231 // xor edx, edx
QUAD $0x0000011085100ff3 // movss xmm0, dword 272[rbp] /* [rip + .LCPI0_2] */
QUAD $0x000000000000b949; WORD $0x8000 // mov r9, -9223372036854775808
LBB0_573:
LONG $0x0c100ff3; BYTE $0x91 // movss xmm1, dword [rcx + 4*rdx]
WORD $0x280f; BYTE $0xd1 // movaps xmm2, xmm1
LONG $0xd05c0ff3 // subss xmm2, xmm0
LONG $0x2c0f48f3; BYTE $0xfa // cvttss2si rdi, xmm2
WORD $0x314c; BYTE $0xcf // xor rdi, r9
LONG $0x2c0f48f3; BYTE $0xf1 // cvttss2si rsi, xmm1
WORD $0x2e0f; BYTE $0xc1 // ucomiss xmm0, xmm1
LONG $0xf7460f48 // cmovbe rsi, rdi
LONG $0xd0348948 // mov qword [rax + 8*rdx], rsi
LONG $0x01c28348 // add rdx, 1
WORD $0x3949; BYTE $0xd0 // cmp r8, rdx
JNE LBB0_573
JMP LBB0_1526
LBB0_577:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_830
WORD $0xc031 // xor eax, eax
JMP LBB0_832
LBB0_579:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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
QUAD $0x000000b0856f0f66 // movdqa xmm0, oword 176[rbp] /* [rip + .LCPI0_12] */
LBB0_581:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x0c7f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm1
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_581
JMP LBB0_981
LBB0_582:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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
QUAD $0x000000b0856f0f66 // movdqa xmm0, oword 176[rbp] /* [rip + .LCPI0_12] */
LBB0_584:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x0c7f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm1
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_584
JMP LBB0_986
LBB0_585:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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_587:
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LONG $0x44100f66; WORD $0x20fa // movupd xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c100f66; WORD $0x30fa // movupd xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x447e0f66; WORD $0x0879 // movd dword [rcx + 2*rdi + 8], xmm0
LONG $0x4c7e0f66; WORD $0x0c79 // movd dword [rcx + 2*rdi + 12], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_587
JMP LBB0_991
LBB0_588:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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_590:
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LONG $0x44100f66; WORD $0x20fa // movupd xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c100f66; WORD $0x30fa // movupd xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x447e0f66; WORD $0x0879 // movd dword [rcx + 2*rdi + 8], xmm0
LONG $0x4c7e0f66; WORD $0x0c79 // movd dword [rcx + 2*rdi + 12], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_590
JMP LBB0_996
LBB0_597:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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_599:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x447e0f66; WORD $0x0879 // movd dword [rcx + 2*rdi + 8], xmm0
LONG $0x4c7e0f66; WORD $0x0c79 // movd dword [rcx + 2*rdi + 12], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_599
JMP LBB0_1001
LBB0_600:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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_602:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x447e0f66; WORD $0x0879 // movd dword [rcx + 2*rdi + 8], xmm0
LONG $0x4c7e0f66; WORD $0x0c79 // movd dword [rcx + 2*rdi + 12], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_602
JMP LBB0_1006
LBB0_615:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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_617:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x447e0f66; WORD $0x0879 // movd dword [rcx + 2*rdi + 8], xmm0
LONG $0x4c7e0f66; WORD $0x0c79 // movd dword [rcx + 2*rdi + 12], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_617
JMP LBB0_1011
LBB0_618:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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_620:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x447e0f66; WORD $0x0879 // movd dword [rcx + 2*rdi + 8], xmm0
LONG $0x4c7e0f66; WORD $0x0c79 // movd dword [rcx + 2*rdi + 12], xmm1
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_620
JMP LBB0_1016
LBB0_621:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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_623:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0x2b380f66; BYTE $0xc1 // packusdw xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0x2b380f66; BYTE $0xc1 // packusdw xmm0, xmm1
LONG $0x447f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_623
JMP LBB0_1021
LBB0_624:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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_626:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0xc16b0f66 // packssdw xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0xc16b0f66 // packssdw xmm0, xmm1
LONG $0x447f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm0
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_626
JMP LBB0_1026
LBB0_633:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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
QUAD $0x000000b0856f0f66 // movdqa xmm0, oword 176[rbp] /* [rip + .LCPI0_12] */
LBB0_635:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x0c7f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm1
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_635
JMP LBB0_1031
LBB0_636:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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
QUAD $0x000000b0856f0f66 // movdqa xmm0, oword 176[rbp] /* [rip + .LCPI0_12] */
LBB0_638:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x0c7f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm1
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_638
JMP LBB0_1036
LBB0_639:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_857
WORD $0xc031 // xor eax, eax
JMP LBB0_859
LBB0_641:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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
QUAD $0x000000d0856f0f66 // movdqa xmm0, oword 208[rbp] /* [rip + .LCPI0_14] */
QUAD $0x000000e08d6f0f66 // movdqa xmm1, oword 224[rbp] /* [rip + .LCPI0_15] */
LONG $0xf095280f; WORD $0x0000; BYTE $0x00 // movaps xmm2, oword 240[rbp] /* [rip + .LCPI0_16] */
LBB0_643:
LONG $0x1c6f0ff3; BYTE $0xba // movdqu xmm3, oword [rdx + 4*rdi]
LONG $0x646f0ff3; WORD $0x10ba // movdqu xmm4, oword [rdx + 4*rdi + 16]
LONG $0xeb6f0f66 // movdqa xmm5, xmm3
LONG $0x0e3a0f66; WORD $0xaae8 // pblendw xmm5, xmm0, 170
LONG $0xd3720f66; BYTE $0x10 // psrld xmm3, 16
LONG $0x0e3a0f66; WORD $0xaad9 // pblendw xmm3, xmm1, 170
WORD $0x5c0f; BYTE $0xda // subps xmm3, xmm2
WORD $0x580f; BYTE $0xdd // addps xmm3, xmm5
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0x0e3a0f66; WORD $0xaae8 // pblendw xmm5, xmm0, 170
LONG $0xd4720f66; BYTE $0x10 // psrld xmm4, 16
LONG $0x0e3a0f66; WORD $0xaae1 // pblendw xmm4, xmm1, 170
WORD $0x5c0f; BYTE $0xe2 // subps xmm4, xmm2
WORD $0x580f; BYTE $0xe5 // addps xmm4, xmm5
LONG $0xb91c110f // movups oword [rcx + 4*rdi], xmm3
LONG $0xb964110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm4
LONG $0x5c6f0ff3; WORD $0x20ba // movdqu xmm3, oword [rdx + 4*rdi + 32]
LONG $0x646f0ff3; WORD $0x30ba // movdqu xmm4, oword [rdx + 4*rdi + 48]
LONG $0xeb6f0f66 // movdqa xmm5, xmm3
LONG $0x0e3a0f66; WORD $0xaae8 // pblendw xmm5, xmm0, 170
LONG $0xd3720f66; BYTE $0x10 // psrld xmm3, 16
LONG $0x0e3a0f66; WORD $0xaad9 // pblendw xmm3, xmm1, 170
WORD $0x5c0f; BYTE $0xda // subps xmm3, xmm2
WORD $0x580f; BYTE $0xdd // addps xmm3, xmm5
LONG $0xec6f0f66 // movdqa xmm5, xmm4
LONG $0x0e3a0f66; WORD $0xaae8 // pblendw xmm5, xmm0, 170
LONG $0xd4720f66; BYTE $0x10 // psrld xmm4, 16
LONG $0x0e3a0f66; WORD $0xaae1 // pblendw xmm4, xmm1, 170
WORD $0x5c0f; BYTE $0xe2 // subps xmm4, xmm2
WORD $0x580f; BYTE $0xe5 // addps xmm4, xmm5
LONG $0xb95c110f; BYTE $0x20 // movups oword [rcx + 4*rdi + 32], xmm3
LONG $0xb964110f; BYTE $0x30 // movups oword [rcx + 4*rdi + 48], xmm4
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_643
JMP LBB0_1041
LBB0_644:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_645:
LONG $0x2c0f48f2; WORD $0xfa04 // cvttsd2si rax, qword [rdx + 8*rdi]
LONG $0xf9048948 // mov qword [rcx + 8*rdi], rax
LONG $0x2c0f48f2; WORD $0xfa44; BYTE $0x08 // cvttsd2si rax, qword [rdx + 8*rdi + 8]
LONG $0xf9448948; BYTE $0x08 // mov qword [rcx + 8*rdi + 8], rax
LONG $0x2c0f48f2; WORD $0xfa44; BYTE $0x10 // cvttsd2si rax, qword [rdx + 8*rdi + 16]
LONG $0xf9448948; BYTE $0x10 // mov qword [rcx + 8*rdi + 16], rax
LONG $0x2c0f48f2; WORD $0xfa44; BYTE $0x18 // cvttsd2si rax, qword [rdx + 8*rdi + 24]
LONG $0xf9448948; BYTE $0x18 // mov qword [rcx + 8*rdi + 24], rax
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_645
LBB0_646:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1526
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xf631 // xor esi, esi
LBB0_648:
LONG $0x2c0f48f2; WORD $0xf204 // cvttsd2si rax, qword [rdx + 8*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf0 // cmp r8, rsi
JNE LBB0_648
JMP LBB0_1526
LBB0_649:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE 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_651:
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc05a0f66 // cvtpd2ps xmm0, xmm0
LONG $0xc95a0f66 // cvtpd2ps xmm1, xmm1
LONG $0xc1140f66 // unpcklpd xmm0, xmm1
LONG $0x04110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm0
LONG $0x44100f66; WORD $0x20fa // movupd xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c100f66; WORD $0x30fa // movupd xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc05a0f66 // cvtpd2ps xmm0, xmm0
LONG $0xc95a0f66 // cvtpd2ps xmm1, xmm1
LONG $0xc1140f66 // unpcklpd xmm0, xmm1
LONG $0x44110f66; WORD $0x10b9 // movupd oword [rcx + 4*rdi + 16], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_651
JMP LBB0_1046
LBB0_661:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1050
WORD $0x894d; BYTE $0xc2 // mov r10, r8
LONG $0xfee28349 // and r10, -2
WORD $0xf749; BYTE $0xda // neg r10
WORD $0xff31 // xor edi, edi
QUAD $0x000000a0956f0f66 // movdqa xmm2, oword 160[rbp] /* [rip + .LCPI0_11] */
LBB0_663:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcadb0f66 // pand xmm1, xmm2
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd3730f66; BYTE $0x01 // psrlq xmm3, 1
LONG $0xd9eb0f66 // por xmm3, xmm1
LONG $0xe4ef0f66 // pxor xmm4, xmm4
LONG $0x37380f66; BYTE $0xe0 // pcmpgtq xmm4, xmm0
LONG $0x15380f66; BYTE $0xc3 // blendvpd xmm0, xmm3, xmm0
LONG $0x3a0f4866; WORD $0xc016; BYTE $0x01 // pextrq rax, xmm0, 1
WORD $0x570f; BYTE $0xed // xorps xmm5, xmm5
LONG $0x2a0f48f3; BYTE $0xe8 // cvtsi2ss xmm5, rax
LONG $0x7e0f4866; BYTE $0xc0 // movq rax, xmm0
WORD $0x570f; BYTE $0xdb // xorps xmm3, xmm3
LONG $0x2a0f48f3; BYTE $0xd8 // cvtsi2ss xmm3, rax
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x213a0f66; WORD $0x1cdd // insertps xmm3, xmm5, 28
WORD $0x280f; BYTE $0xeb // movaps xmm5, xmm3
WORD $0x580f; BYTE $0xeb // addps xmm5, xmm3
LONG $0xc4700f66; BYTE $0xed // pshufd xmm0, xmm4, 237
LONG $0x14380f66; BYTE $0xdd // blendvps xmm3, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0xc2db0f66 // pand xmm0, xmm2
LONG $0xe16f0f66 // movdqa xmm4, xmm1
LONG $0xd4730f66; BYTE $0x01 // psrlq xmm4, 1
LONG $0xe0eb0f66 // por xmm4, xmm0
WORD $0x570f; BYTE $0xed // xorps xmm5, xmm5
LONG $0x37380f66; BYTE $0xe9 // pcmpgtq xmm5, xmm1
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xcc // blendvpd xmm1, xmm4, xmm0
LONG $0x3a0f4866; WORD $0xc816; BYTE $0x01 // pextrq rax, xmm1, 1
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f3; BYTE $0xc0 // cvtsi2ss xmm0, rax
LONG $0x7e0f4866; BYTE $0xc8 // movq rax, xmm1
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0x2a0f48f3; BYTE $0xc8 // cvtsi2ss xmm1, rax
LONG $0x213a0f66; WORD $0x1cc8 // insertps xmm1, xmm0, 28
WORD $0x280f; BYTE $0xe1 // movaps xmm4, xmm1
WORD $0x580f; BYTE $0xe1 // addps xmm4, xmm1
LONG $0xc5700f66; BYTE $0xed // pshufd xmm0, xmm5, 237
LONG $0x14380f66; BYTE $0xcc // blendvps xmm1, xmm4, xmm0
WORD $0x160f; BYTE $0xd9 // movlhps xmm3, xmm1
LONG $0xb91c110f // movups oword [rcx + 4*rdi], xmm3
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xcadb0f66 // pand xmm1, xmm2
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0xd3730f66; BYTE $0x01 // psrlq xmm3, 1
LONG $0xd9eb0f66 // por xmm3, xmm1
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0x37380f66; BYTE $0xe0 // pcmpgtq xmm4, xmm0
LONG $0x15380f66; BYTE $0xc3 // blendvpd xmm0, xmm3, xmm0
LONG $0x3a0f4866; WORD $0xc016; BYTE $0x01 // pextrq rax, xmm0, 1
WORD $0x570f; BYTE $0xed // xorps xmm5, xmm5
LONG $0x2a0f48f3; BYTE $0xe8 // cvtsi2ss xmm5, rax
LONG $0x7e0f4866; BYTE $0xc0 // movq rax, xmm0
WORD $0x570f; BYTE $0xdb // xorps xmm3, xmm3
LONG $0x2a0f48f3; BYTE $0xd8 // cvtsi2ss xmm3, rax
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0x213a0f66; WORD $0x1cdd // insertps xmm3, xmm5, 28
WORD $0x280f; BYTE $0xeb // movaps xmm5, xmm3
WORD $0x580f; BYTE $0xeb // addps xmm5, xmm3
LONG $0xc4700f66; BYTE $0xed // pshufd xmm0, xmm4, 237
LONG $0x14380f66; BYTE $0xdd // blendvps xmm3, xmm5, xmm0
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0xc2db0f66 // pand xmm0, xmm2
LONG $0xe16f0f66 // movdqa xmm4, xmm1
LONG $0xd4730f66; BYTE $0x01 // psrlq xmm4, 1
LONG $0xe0eb0f66 // por xmm4, xmm0
WORD $0x570f; BYTE $0xed // xorps xmm5, xmm5
LONG $0x37380f66; BYTE $0xe9 // pcmpgtq xmm5, xmm1
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xcc // blendvpd xmm1, xmm4, xmm0
LONG $0x3a0f4866; WORD $0xc816; BYTE $0x01 // pextrq rax, xmm1, 1
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f3; BYTE $0xc0 // cvtsi2ss xmm0, rax
LONG $0x7e0f4866; BYTE $0xc8 // movq rax, xmm1
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0x2a0f48f3; BYTE $0xc8 // cvtsi2ss xmm1, rax
LONG $0x213a0f66; WORD $0x1cc8 // insertps xmm1, xmm0, 28
WORD $0x280f; BYTE $0xe1 // movaps xmm4, xmm1
WORD $0x580f; BYTE $0xe1 // addps xmm4, xmm1
LONG $0xc5700f66; BYTE $0xed // pshufd xmm0, xmm5, 237
LONG $0x14380f66; BYTE $0xcc // blendvps xmm1, xmm4, xmm0
WORD $0x160f; BYTE $0xd9 // movlhps xmm3, xmm1
LONG $0xb95c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm3
LONG $0x08c78348 // add rdi, 8
LONG $0x02c28349 // add r10, 2
JNE LBB0_663
JMP LBB0_1051
LBB0_664:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_871
WORD $0xc031 // xor eax, eax
JMP LBB0_873
LBB0_666:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1058
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_668:
LONG $0x33380f66; WORD $0x7a04 // pmovzxwd xmm0, qword [rdx + 2*rdi]
LONG $0x33380f66; WORD $0x7a4c; BYTE $0x08 // pmovzxwd xmm1, qword [rdx + 2*rdi + 8]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LONG $0x33380f66; WORD $0x7a44; BYTE $0x10 // pmovzxwd xmm0, qword [rdx + 2*rdi + 16]
LONG $0x33380f66; WORD $0x7a4c; BYTE $0x18 // pmovzxwd xmm1, qword [rdx + 2*rdi + 24]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb944110f; BYTE $0x20 // movups oword [rcx + 4*rdi + 32], xmm0
LONG $0xb94c110f; BYTE $0x30 // movups oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_668
JMP LBB0_1059
LBB0_669:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_878
WORD $0xc031 // xor eax, eax
JMP LBB0_880
LBB0_671:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1063
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_673:
LONG $0x23380f66; WORD $0x7a04 // pmovsxwd xmm0, qword [rdx + 2*rdi]
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x08 // pmovsxwd xmm1, qword [rdx + 2*rdi + 8]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LONG $0x23380f66; WORD $0x7a44; BYTE $0x10 // pmovsxwd xmm0, qword [rdx + 2*rdi + 16]
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x18 // pmovsxwd xmm1, qword [rdx + 2*rdi + 24]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb944110f; BYTE $0x20 // movups oword [rcx + 4*rdi + 32], xmm0
LONG $0xb94c110f; BYTE $0x30 // movups oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_673
JMP LBB0_1064
LBB0_677:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_678:
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f3; WORD $0xfa04 // cvtsi2ss xmm0, qword [rdx + 8*rdi]
LONG $0x04110ff3; BYTE $0xb9 // movss dword [rcx + 4*rdi], xmm0
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f3; WORD $0xfa44; BYTE $0x08 // cvtsi2ss xmm0, qword [rdx + 8*rdi + 8]
LONG $0x44110ff3; WORD $0x04b9 // movss dword [rcx + 4*rdi + 4], xmm0
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f3; WORD $0xfa44; BYTE $0x10 // cvtsi2ss xmm0, qword [rdx + 8*rdi + 16]
LONG $0x44110ff3; WORD $0x08b9 // movss dword [rcx + 4*rdi + 8], xmm0
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f3; WORD $0xfa44; BYTE $0x18 // cvtsi2ss xmm0, qword [rdx + 8*rdi + 24]
LONG $0x44110ff3; WORD $0x0cb9 // movss dword [rcx + 4*rdi + 12], xmm0
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_678
LBB0_679:
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1526
LONG $0xb90c8d48 // lea rcx, [rcx + 4*rdi]
LONG $0xfa148d48 // lea rdx, [rdx + 8*rdi]
WORD $0xf631 // xor esi, esi
LBB0_681:
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f3; WORD $0xf204 // cvtsi2ss xmm0, qword [rdx + 8*rsi]
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3948; BYTE $0xf0 // cmp rax, rsi
JNE LBB0_681
JMP LBB0_1526
LBB0_682:
WORD $0xe683; BYTE $0xfc // and esi, -4
WORD $0xff31 // xor edi, edi
LBB0_683:
LONG $0x2c0f48f3; WORD $0xba04 // cvttss2si rax, dword [rdx + 4*rdi]
LONG $0xf9048948 // mov qword [rcx + 8*rdi], rax
LONG $0x2c0f48f3; WORD $0xba44; BYTE $0x04 // cvttss2si rax, dword [rdx + 4*rdi + 4]
LONG $0xf9448948; BYTE $0x08 // mov qword [rcx + 8*rdi + 8], rax
LONG $0x2c0f48f3; WORD $0xba44; BYTE $0x08 // cvttss2si rax, dword [rdx + 4*rdi + 8]
LONG $0xf9448948; BYTE $0x10 // mov qword [rcx + 8*rdi + 16], rax
LONG $0x2c0f48f3; WORD $0xba44; BYTE $0x0c // cvttss2si rax, dword [rdx + 4*rdi + 12]
LONG $0xf9448948; BYTE $0x18 // mov qword [rcx + 8*rdi + 24], rax
LONG $0x04c78348 // add rdi, 4
WORD $0x3948; BYTE $0xfe // cmp rsi, rdi
JNE LBB0_683
LBB0_684:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1526
LONG $0xf90c8d48 // lea rcx, [rcx + 8*rdi]
LONG $0xba148d48 // lea rdx, [rdx + 4*rdi]
WORD $0xf631 // xor esi, esi
LBB0_686:
LONG $0x2c0f48f3; WORD $0xb204 // cvttss2si rax, dword [rdx + 4*rsi]
LONG $0xf1048948 // mov qword [rcx + 8*rsi], rax
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf0 // cmp r8, rsi
JNE LBB0_686
JMP LBB0_1526
LBB0_696:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_894
WORD $0xc031 // xor eax, eax
JMP LBB0_896
LBB0_698:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1068
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_700:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb944110f; BYTE $0x20 // movups oword [rcx + 4*rdi + 32], xmm0
LONG $0xb94c110f; BYTE $0x30 // movups oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_700
JMP LBB0_1069
LBB0_734:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1073
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_736:
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xc1140f66 // unpcklpd xmm0, xmm1
LONG $0x04110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm0
LONG $0x44100f66; WORD $0x20fa // movupd xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c100f66; WORD $0x30fa // movupd xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xc1140f66 // unpcklpd xmm0, xmm1
LONG $0x44110f66; WORD $0x10b9 // movupd oword [rcx + 4*rdi + 16], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_736
JMP LBB0_1074
LBB0_740:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_939
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_742:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x447f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_742
JMP LBB0_940
LBB0_743:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1078
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_745:
LONG $0x33380f66; WORD $0x7a04 // pmovzxwd xmm0, qword [rdx + 2*rdi]
LONG $0x33380f66; WORD $0x7a4c; BYTE $0x08 // pmovzxwd xmm1, qword [rdx + 2*rdi + 8]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LONG $0x33380f66; WORD $0x7a44; BYTE $0x10 // pmovzxwd xmm0, qword [rdx + 2*rdi + 16]
LONG $0x33380f66; WORD $0x7a4c; BYTE $0x18 // pmovzxwd xmm1, qword [rdx + 2*rdi + 24]
LONG $0x447f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_745
JMP LBB0_1079
LBB0_746:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1083
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_748:
LONG $0x23380f66; WORD $0x7a04 // pmovsxwd xmm0, qword [rdx + 2*rdi]
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x08 // pmovsxwd xmm1, qword [rdx + 2*rdi + 8]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LONG $0x23380f66; WORD $0x7a44; BYTE $0x10 // pmovsxwd xmm0, qword [rdx + 2*rdi + 16]
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x18 // pmovsxwd xmm1, qword [rdx + 2*rdi + 24]
LONG $0x447f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_748
JMP LBB0_1084
LBB0_749:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1088
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_751:
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x446f0ff3; WORD $0x20fa // movdqu xmm0, oword [rdx + 8*rdi + 32]
LONG $0x4c6f0ff3; WORD $0x30fa // movdqu xmm1, oword [rdx + 8*rdi + 48]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x447f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_751
JMP LBB0_1089
LBB0_752:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1093
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_754:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0x44110f66; WORD $0x20b9 // movupd oword [rcx + 4*rdi + 32], xmm0
LONG $0x4c110f66; WORD $0x30b9 // movupd oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_754
JMP LBB0_1094
LBB0_761:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03efc148 // shr rdi, 3
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x18f88348 // cmp rax, 24
JAE LBB0_1098
WORD $0xc031 // xor eax, eax
JMP LBB0_1100
LBB0_763:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1478
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_765:
LONG $0x21380f66; WORD $0x3a04 // pmovsxbd xmm0, dword [rdx + rdi]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x04 // pmovsxbd xmm1, dword [rdx + rdi + 4]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LONG $0x21380f66; WORD $0x3a44; BYTE $0x08 // pmovsxbd xmm0, dword [rdx + rdi + 8]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x0c // pmovsxbd xmm1, dword [rdx + rdi + 12]
LONG $0x447f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_765
JMP LBB0_1479
LBB0_766:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1486
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 $0x31380f66; WORD $0x3a04 // pmovzxbd xmm0, dword [rdx + rdi]
LONG $0x31380f66; WORD $0x3a4c; BYTE $0x04 // pmovzxbd xmm1, dword [rdx + rdi + 4]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LONG $0x31380f66; WORD $0x3a44; BYTE $0x08 // pmovzxbd xmm0, dword [rdx + rdi + 8]
LONG $0x31380f66; WORD $0x3a4c; BYTE $0x0c // pmovzxbd xmm1, dword [rdx + rdi + 12]
LONG $0x447f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_768
JMP LBB0_1487
LBB0_769:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03efc148 // shr rdi, 3
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x18f88348 // cmp rax, 24
JAE LBB0_1108
WORD $0xc031 // xor eax, eax
JMP LBB0_1110
LBB0_771:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_1118
WORD $0xc031 // xor eax, eax
JMP LBB0_1120
LBB0_773:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1494
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x000000c0856f0f66 // movdqa xmm0, oword 192[rbp] /* [rip + .LCPI0_13] */
LBB0_775:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0x0c7e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm1
LONG $0x547e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0x4c7e0f66; WORD $0x0839 // movd dword [rcx + rdi + 8], xmm1
LONG $0x547e0f66; WORD $0x0c39 // movd dword [rcx + rdi + 12], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_775
JMP LBB0_1495
LBB0_776:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1502
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x456f0f66; BYTE $0x10 // movdqa xmm0, oword 16[rbp] /* [rip + .LCPI0_1] */
LBB0_778:
LONG $0x0c100f66; BYTE $0xfa // movupd xmm1, oword [rdx + 8*rdi]
LONG $0x54100f66; WORD $0x10fa // movupd xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xd2e60f66 // cvttpd2dq xmm2, xmm2
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x153a0f66; WORD $0x390c; BYTE $0x00 // pextrw word [rcx + rdi], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00023954153a0f66 // pextrw word [rcx + rdi + 2], xmm2, 0
LONG $0x4c100f66; WORD $0x20fa // movupd xmm1, oword [rdx + 8*rdi + 32]
LONG $0x54100f66; WORD $0x30fa // movupd xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xd2e60f66 // cvttpd2dq xmm2, xmm2
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
QUAD $0x0004394c153a0f66 // pextrw word [rcx + rdi + 4], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00063954153a0f66 // pextrw word [rcx + rdi + 6], xmm2, 0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_778
JMP LBB0_1503
LBB0_779:
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_1128
WORD $0xc031 // xor eax, eax
JMP LBB0_1130
LBB0_781:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1318
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x456f0f66; BYTE $0x40 // movdqa xmm0, oword 64[rbp] /* [rip + .LCPI0_5] */
LBB0_783:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x153a0f66; WORD $0x390c; BYTE $0x00 // pextrw word [rcx + rdi], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00023954153a0f66 // pextrw word [rcx + rdi + 2], xmm2, 0
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
QUAD $0x0004394c153a0f66 // pextrw word [rcx + rdi + 4], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00063954153a0f66 // pextrw word [rcx + rdi + 6], xmm2, 0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_783
JMP LBB0_1319
LBB0_784:
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_1326
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x00000100856f0f66 // movdqa xmm0, oword 256[rbp] /* [rip + .LCPI0_17] */
LBB0_786:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x0c7f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm1
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x4c7f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_786
JMP LBB0_1327
LBB0_787:
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_1510
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x00000100856f0f66 // movdqa xmm0, oword 256[rbp] /* [rip + .LCPI0_17] */
LBB0_789:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x0c7f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm1
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x4c7f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_789
JMP LBB0_1511
LBB0_790:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1334
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x456f0f66; BYTE $0x40 // movdqa xmm0, oword 64[rbp] /* [rip + .LCPI0_5] */
LBB0_792:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x153a0f66; WORD $0x390c; BYTE $0x00 // pextrw word [rcx + rdi], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00023954153a0f66 // pextrw word [rcx + rdi + 2], xmm2, 0
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
QUAD $0x0004394c153a0f66 // pextrw word [rcx + rdi + 4], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00063954153a0f66 // pextrw word [rcx + rdi + 6], xmm2, 0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_792
JMP LBB0_1335
LBB0_793:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1518
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_795:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0x047e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm1
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0x447e0f66; WORD $0x0839 // movd dword [rcx + rdi + 8], xmm0
LONG $0x4c7e0f66; WORD $0x0c39 // movd dword [rcx + rdi + 12], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_795
JMP LBB0_1519
LBB0_796:
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_1138
WORD $0xc031 // xor eax, eax
JMP LBB0_1140
LBB0_798:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1342
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x000000c0856f0f66 // movdqa xmm0, oword 192[rbp] /* [rip + .LCPI0_13] */
LBB0_800:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0x0c7e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm1
LONG $0x547e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0x4c7e0f66; WORD $0x0839 // movd dword [rcx + rdi + 8], xmm1
LONG $0x547e0f66; WORD $0x0c39 // movd dword [rcx + rdi + 12], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_800
JMP LBB0_1343
LBB0_808:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_1148
WORD $0xc031 // xor eax, eax
JMP LBB0_1150
LBB0_810:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_1158
WORD $0xc031 // xor eax, eax
JMP LBB0_1160
LBB0_826:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_1168
WORD $0xc031 // xor eax, eax
JMP LBB0_1170
LBB0_828:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_1178
WORD $0xc031 // xor eax, eax
JMP LBB0_1180
LBB0_837:
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_1350
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_839:
LONG $0x20380f66; WORD $0x3a04 // pmovsxbw xmm0, qword [rdx + rdi]
LONG $0x20380f66; WORD $0x3a4c; BYTE $0x08 // pmovsxbw xmm1, qword [rdx + rdi + 8]
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LONG $0x20380f66; WORD $0x3a44; BYTE $0x10 // pmovsxbw xmm0, qword [rdx + rdi + 16]
LONG $0x20380f66; WORD $0x3a4c; BYTE $0x18 // pmovsxbw xmm1, qword [rdx + rdi + 24]
LONG $0x447f0ff3; WORD $0x2079 // movdqu oword [rcx + 2*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x3079 // movdqu oword [rcx + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_839
JMP LBB0_1351
LBB0_840:
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_1358
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_842:
LONG $0x20380f66; WORD $0x3a04 // pmovsxbw xmm0, qword [rdx + rdi]
LONG $0x20380f66; WORD $0x3a4c; BYTE $0x08 // pmovsxbw xmm1, qword [rdx + rdi + 8]
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LONG $0x20380f66; WORD $0x3a44; BYTE $0x10 // pmovsxbw xmm0, qword [rdx + rdi + 16]
LONG $0x20380f66; WORD $0x3a4c; BYTE $0x18 // pmovsxbw xmm1, qword [rdx + rdi + 24]
LONG $0x447f0ff3; WORD $0x2079 // movdqu oword [rcx + 2*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x3079 // movdqu oword [rcx + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_842
JMP LBB0_1359
LBB0_843:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x04efc148 // shr rdi, 4
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x30f88348 // cmp rax, 48
JAE LBB0_1188
WORD $0xc031 // xor eax, eax
JMP LBB0_1190
LBB0_845:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x04efc148 // shr rdi, 4
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x30f88348 // cmp rax, 48
JAE LBB0_1198
WORD $0xc031 // xor eax, eax
JMP LBB0_1200
LBB0_847:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x04efc148 // shr rdi, 4
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x30f88348 // cmp rax, 48
JAE LBB0_1208
WORD $0xc031 // xor eax, eax
JMP LBB0_1210
LBB0_849:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf0 // and esi, -16
LONG $0xf0468d48 // lea rax, [rsi - 16]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x04efc148 // shr rdi, 4
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x30f88348 // cmp rax, 48
JAE LBB0_1218
WORD $0xc031 // xor eax, eax
JMP LBB0_1220
LBB0_851:
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_1366
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_853:
LONG $0x30380f66; WORD $0x3a04 // pmovzxbw xmm0, qword [rdx + rdi]
LONG $0x30380f66; WORD $0x3a4c; BYTE $0x08 // pmovzxbw xmm1, qword [rdx + rdi + 8]
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LONG $0x30380f66; WORD $0x3a44; BYTE $0x10 // pmovzxbw xmm0, qword [rdx + rdi + 16]
LONG $0x30380f66; WORD $0x3a4c; BYTE $0x18 // pmovzxbw xmm1, qword [rdx + rdi + 24]
LONG $0x447f0ff3; WORD $0x2079 // movdqu oword [rcx + 2*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x3079 // movdqu oword [rcx + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_853
JMP LBB0_1367
LBB0_854:
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_1374
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_856:
LONG $0x30380f66; WORD $0x3a04 // pmovzxbw xmm0, qword [rdx + rdi]
LONG $0x30380f66; WORD $0x3a4c; BYTE $0x08 // pmovzxbw xmm1, qword [rdx + rdi + 8]
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LONG $0x30380f66; WORD $0x3a44; BYTE $0x10 // pmovzxbw xmm0, qword [rdx + rdi + 16]
LONG $0x30380f66; WORD $0x3a4c; BYTE $0x18 // pmovzxbw xmm1, qword [rdx + rdi + 24]
LONG $0x447f0ff3; WORD $0x2079 // movdqu oword [rcx + 2*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x3079 // movdqu oword [rcx + 2*rdi + 48], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_856
JMP LBB0_1375
LBB0_864:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_1228
WORD $0xc031 // xor eax, eax
JMP LBB0_1230
LBB0_866:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1382
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 $0x21380f66; WORD $0x3a04 // pmovsxbd xmm0, dword [rdx + rdi]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x04 // pmovsxbd xmm1, dword [rdx + rdi + 4]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LONG $0x21380f66; WORD $0x3a44; BYTE $0x08 // pmovsxbd xmm0, dword [rdx + rdi + 8]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x0c // pmovsxbd xmm1, dword [rdx + rdi + 12]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb944110f; BYTE $0x20 // movups oword [rcx + 4*rdi + 32], xmm0
LONG $0xb94c110f; BYTE $0x30 // movups oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_868
JMP LBB0_1383
LBB0_869:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_1238
WORD $0xc031 // xor eax, eax
JMP LBB0_1240
LBB0_885:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_1248
WORD $0xc031 // xor eax, eax
JMP LBB0_1250
LBB0_887:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03efc148 // shr rdi, 3
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x18f88348 // cmp rax, 24
JAE LBB0_1258
WORD $0xc031 // xor eax, eax
JMP LBB0_1260
LBB0_889:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x02efc148 // shr rdi, 2
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x0cf88348 // cmp rax, 12
JAE LBB0_1268
WORD $0xc031 // xor eax, eax
JMP LBB0_1270
LBB0_891:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1390
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_893:
LONG $0x31380f66; WORD $0x3a04 // pmovzxbd xmm0, dword [rdx + rdi]
LONG $0x31380f66; WORD $0x3a4c; BYTE $0x04 // pmovzxbd xmm1, dword [rdx + rdi + 4]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LONG $0x31380f66; WORD $0x3a44; BYTE $0x08 // pmovzxbd xmm0, dword [rdx + rdi + 8]
LONG $0x31380f66; WORD $0x3a4c; BYTE $0x0c // pmovzxbd xmm1, dword [rdx + rdi + 12]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb944110f; BYTE $0x20 // movups oword [rcx + 4*rdi + 32], xmm0
LONG $0xb94c110f; BYTE $0x30 // movups oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_893
JMP LBB0_1391
LBB0_901:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1398
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x000000c0856f0f66 // movdqa xmm0, oword 192[rbp] /* [rip + .LCPI0_13] */
LBB0_903:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0x0c7e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm1
LONG $0x547e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0x4c7e0f66; WORD $0x0839 // movd dword [rcx + rdi + 8], xmm1
LONG $0x547e0f66; WORD $0x0c39 // movd dword [rcx + rdi + 12], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_903
JMP LBB0_1399
LBB0_904:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1406
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x456f0f66; BYTE $0x10 // movdqa xmm0, oword 16[rbp] /* [rip + .LCPI0_1] */
LBB0_906:
LONG $0x0c100f66; BYTE $0xfa // movupd xmm1, oword [rdx + 8*rdi]
LONG $0x54100f66; WORD $0x10fa // movupd xmm2, oword [rdx + 8*rdi + 16]
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xd2e60f66 // cvttpd2dq xmm2, xmm2
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x153a0f66; WORD $0x390c; BYTE $0x00 // pextrw word [rcx + rdi], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00023954153a0f66 // pextrw word [rcx + rdi + 2], xmm2, 0
LONG $0x4c100f66; WORD $0x20fa // movupd xmm1, oword [rdx + 8*rdi + 32]
LONG $0x54100f66; WORD $0x30fa // movupd xmm2, oword [rdx + 8*rdi + 48]
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xd2e60f66 // cvttpd2dq xmm2, xmm2
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
QUAD $0x0004394c153a0f66 // pextrw word [rcx + rdi + 4], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00063954153a0f66 // pextrw word [rcx + rdi + 6], xmm2, 0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_906
JMP LBB0_1407
LBB0_907:
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_1278
WORD $0xc031 // xor eax, eax
JMP LBB0_1280
LBB0_909:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1414
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x456f0f66; BYTE $0x40 // movdqa xmm0, oword 64[rbp] /* [rip + .LCPI0_5] */
LBB0_911:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x153a0f66; WORD $0x390c; BYTE $0x00 // pextrw word [rcx + rdi], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00023954153a0f66 // pextrw word [rcx + rdi + 2], xmm2, 0
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
QUAD $0x0004394c153a0f66 // pextrw word [rcx + rdi + 4], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00063954153a0f66 // pextrw word [rcx + rdi + 6], xmm2, 0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_911
JMP LBB0_1415
LBB0_912:
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_1422
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x00000100856f0f66 // movdqa xmm0, oword 256[rbp] /* [rip + .LCPI0_17] */
LBB0_914:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x0c7f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm1
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x4c7f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_914
JMP LBB0_1423
LBB0_915:
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_1430
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x00000100856f0f66 // movdqa xmm0, oword 256[rbp] /* [rip + .LCPI0_17] */
LBB0_917:
LONG $0x0c6f0ff3; BYTE $0x7a // movdqu xmm1, oword [rdx + 2*rdi]
LONG $0x546f0ff3; WORD $0x107a // movdqu xmm2, oword [rdx + 2*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x0c7f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm1
LONG $0x4c6f0ff3; WORD $0x207a // movdqu xmm1, oword [rdx + 2*rdi + 32]
LONG $0x546f0ff3; WORD $0x307a // movdqu xmm2, oword [rdx + 2*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0xca6c0f66 // punpcklqdq xmm1, xmm2
LONG $0x4c7f0ff3; WORD $0x1039 // movdqu oword [rcx + rdi + 16], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x02c08348 // add rax, 2
JNE LBB0_917
JMP LBB0_1431
LBB0_918:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xfc // and esi, -4
LONG $0xfc468d48 // lea rax, [rsi - 4]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x02e8c149 // shr r8, 2
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1438
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LONG $0x456f0f66; BYTE $0x40 // movdqa xmm0, oword 64[rbp] /* [rip + .LCPI0_5] */
LBB0_920:
LONG $0x0c6f0ff3; BYTE $0xfa // movdqu xmm1, oword [rdx + 8*rdi]
LONG $0x546f0ff3; WORD $0x10fa // movdqu xmm2, oword [rdx + 8*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x153a0f66; WORD $0x390c; BYTE $0x00 // pextrw word [rcx + rdi], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00023954153a0f66 // pextrw word [rcx + rdi + 2], xmm2, 0
LONG $0x4c6f0ff3; WORD $0x20fa // movdqu xmm1, oword [rdx + 8*rdi + 32]
LONG $0x546f0ff3; WORD $0x30fa // movdqu xmm2, oword [rdx + 8*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
QUAD $0x0004394c153a0f66 // pextrw word [rcx + rdi + 4], xmm1, 0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
QUAD $0x00063954153a0f66 // pextrw word [rcx + rdi + 6], xmm2, 0
LONG $0x08c78348 // add rdi, 8
LONG $0x02c08348 // add rax, 2
JNE LBB0_920
JMP LBB0_1439
LBB0_921:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1446
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_923:
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0x2b380f66; BYTE $0xc0 // packusdw xmm0, xmm0
LONG $0xc0670f66 // packuswb xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0x2b380f66; BYTE $0xc9 // packusdw xmm1, xmm1
LONG $0xc9670f66 // packuswb xmm1, xmm1
LONG $0x047e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm1
LONG $0xba44100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rdi + 32]
LONG $0xba4c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rdi + 48]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0x2b380f66; BYTE $0xc0 // packusdw xmm0, xmm0
LONG $0xc0670f66 // packuswb xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0x2b380f66; BYTE $0xc9 // packusdw xmm1, xmm1
LONG $0xc9670f66 // packuswb xmm1, xmm1
LONG $0x447e0f66; WORD $0x0839 // movd dword [rcx + rdi + 8], xmm0
LONG $0x4c7e0f66; WORD $0x0c39 // movd dword [rcx + rdi + 12], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_923
JMP LBB0_1447
LBB0_924:
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_1288
WORD $0xc031 // xor eax, eax
JMP LBB0_1290
LBB0_926:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1454
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
QUAD $0x000000c0856f0f66 // movdqa xmm0, oword 192[rbp] /* [rip + .LCPI0_13] */
LBB0_928:
LONG $0x0c6f0ff3; BYTE $0xba // movdqu xmm1, oword [rdx + 4*rdi]
LONG $0x546f0ff3; WORD $0x10ba // movdqu xmm2, oword [rdx + 4*rdi + 16]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0x0c7e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm1
LONG $0x547e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm2
LONG $0x4c6f0ff3; WORD $0x20ba // movdqu xmm1, oword [rdx + 4*rdi + 32]
LONG $0x546f0ff3; WORD $0x30ba // movdqu xmm2, oword [rdx + 4*rdi + 48]
LONG $0x00380f66; BYTE $0xc8 // pshufb xmm1, xmm0
LONG $0x00380f66; BYTE $0xd0 // pshufb xmm2, xmm0
LONG $0x4c7e0f66; WORD $0x0839 // movd dword [rcx + rdi + 8], xmm1
LONG $0x547e0f66; WORD $0x0c39 // movd dword [rcx + rdi + 12], xmm2
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_928
JMP LBB0_1455
LBB0_929:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03efc148 // shr rdi, 3
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x18f88348 // cmp rax, 24
JAE LBB0_1298
WORD $0xc031 // xor eax, eax
JMP LBB0_1300
LBB0_931:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1462
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_933:
LONG $0x21380f66; WORD $0x3a04 // pmovsxbd xmm0, dword [rdx + rdi]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x04 // pmovsxbd xmm1, dword [rdx + rdi + 4]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LONG $0x21380f66; WORD $0x3a44; BYTE $0x08 // pmovsxbd xmm0, dword [rdx + rdi + 8]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x0c // pmovsxbd xmm1, dword [rdx + rdi + 12]
LONG $0x447f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_933
JMP LBB0_1463
LBB0_934:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8949; BYTE $0xc0 // mov r8, rax
LONG $0x03e8c149 // shr r8, 3
LONG $0x01c08349 // add r8, 1
WORD $0x8548; BYTE $0xc0 // test rax, rax
JE LBB0_1470
WORD $0x894c; BYTE $0xc0 // mov rax, r8
LONG $0xfee08348 // and rax, -2
WORD $0xf748; BYTE $0xd8 // neg rax
WORD $0xff31 // xor edi, edi
LBB0_936:
LONG $0x31380f66; WORD $0x3a04 // pmovzxbd xmm0, dword [rdx + rdi]
LONG $0x31380f66; WORD $0x3a4c; BYTE $0x04 // pmovzxbd xmm1, dword [rdx + rdi + 4]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LONG $0x31380f66; WORD $0x3a44; BYTE $0x08 // pmovzxbd xmm0, dword [rdx + rdi + 8]
LONG $0x31380f66; WORD $0x3a4c; BYTE $0x0c // pmovzxbd xmm1, dword [rdx + rdi + 12]
LONG $0x447f0ff3; WORD $0x20b9 // movdqu oword [rcx + 4*rdi + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30b9 // movdqu oword [rcx + 4*rdi + 48], xmm1
LONG $0x10c78348 // add rdi, 16
LONG $0x02c08348 // add rax, 2
JNE LBB0_936
JMP LBB0_1471
LBB0_937:
WORD $0x8944; BYTE $0xce // mov esi, r9d
WORD $0xe683; BYTE $0xf8 // and esi, -8
LONG $0xf8468d48 // lea rax, [rsi - 8]
WORD $0x8948; BYTE $0xc7 // mov rdi, rax
LONG $0x03efc148 // shr rdi, 3
LONG $0x01c78348 // add rdi, 1
WORD $0x8941; BYTE $0xf8 // mov r8d, edi
LONG $0x03e08341 // and r8d, 3
LONG $0x18f88348 // cmp rax, 24
JAE LBB0_1308
WORD $0xc031 // xor eax, eax
JMP LBB0_1310
LBB0_801:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_802:
LONG $0x35380f66; WORD $0x8204 // pmovzxdq xmm0, qword [rdx + 4*rax]
LONG $0x35380f66; WORD $0x824c; BYTE $0x08 // pmovzxdq xmm1, qword [rdx + 4*rax + 8]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x35380f66; WORD $0x8244; BYTE $0x10 // pmovzxdq xmm0, qword [rdx + 4*rax + 16]
LONG $0x35380f66; WORD $0x824c; BYTE $0x18 // pmovzxdq xmm1, qword [rdx + 4*rax + 24]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x35380f66; WORD $0x8244; BYTE $0x20 // pmovzxdq xmm0, qword [rdx + 4*rax + 32]
LONG $0x35380f66; WORD $0x824c; BYTE $0x28 // pmovzxdq xmm1, qword [rdx + 4*rax + 40]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x35380f66; WORD $0x8244; BYTE $0x30 // pmovzxdq xmm0, qword [rdx + 4*rax + 48]
LONG $0x35380f66; WORD $0x824c; BYTE $0x38 // pmovzxdq xmm1, qword [rdx + 4*rax + 56]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_802
LBB0_803:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_806
QUAD $0x0000000885048d48 // lea rax, [4*rax + 8]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_805:
LONG $0x35380f66; WORD $0x0244; BYTE $0xf8 // pmovzxdq xmm0, qword [rdx + rax - 8]
LONG $0x35380f66; WORD $0x020c // pmovzxdq xmm1, qword [rdx + rax]
LONG $0x447f0ff3; WORD $0xf041 // movdqu oword [rcx + 2*rax - 16], xmm0
LONG $0x0c7f0ff3; BYTE $0x41 // movdqu oword [rcx + 2*rax], xmm1
LONG $0x10c08348 // add rax, 16
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_805
LBB0_806:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_807:
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_807
JMP LBB0_1526
LBB0_812:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_813:
LONG $0x34380f66; WORD $0x4204 // pmovzxwq xmm0, dword [rdx + 2*rax]
LONG $0x34380f66; WORD $0x424c; BYTE $0x04 // pmovzxwq xmm1, dword [rdx + 2*rax + 4]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x34380f66; WORD $0x4244; BYTE $0x08 // pmovzxwq xmm0, dword [rdx + 2*rax + 8]
LONG $0x34380f66; WORD $0x424c; BYTE $0x0c // pmovzxwq xmm1, dword [rdx + 2*rax + 12]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x34380f66; WORD $0x4244; BYTE $0x10 // pmovzxwq xmm0, dword [rdx + 2*rax + 16]
LONG $0x34380f66; WORD $0x424c; BYTE $0x14 // pmovzxwq xmm1, dword [rdx + 2*rax + 20]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x34380f66; WORD $0x4244; BYTE $0x18 // pmovzxwq xmm0, dword [rdx + 2*rax + 24]
LONG $0x34380f66; WORD $0x424c; BYTE $0x1c // pmovzxwq xmm1, dword [rdx + 2*rax + 28]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_813
LBB0_814:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_817
LONG $0xc13c8d48 // lea rdi, [rcx + 8*rax]
LONG $0x10c78348 // add rdi, 16
LONG $0x42148d4c // lea r10, [rdx + 2*rax]
LONG $0x04c28349 // add r10, 4
WORD $0xc031 // xor eax, eax
LBB0_816:
QUAD $0xfcc24434380f4166 // pmovzxwq xmm0, dword [r10 + 8*rax - 4]
LONG $0x380f4166; WORD $0x0c34; BYTE $0xc2 // pmovzxwq xmm1, dword [r10 + 8*rax]
LONG $0x477f0ff3; BYTE $0xf0 // movdqu oword [rdi - 16], xmm0
LONG $0x0f7f0ff3 // movdqu oword [rdi], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x01c08348 // add rax, 1
WORD $0x3949; BYTE $0xc0 // cmp r8, rax
JNE LBB0_816
LBB0_817:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_818:
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_818
JMP LBB0_1526
LBB0_819:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_820:
LONG $0x24380f66; WORD $0x4204 // pmovsxwq xmm0, dword [rdx + 2*rax]
LONG $0x24380f66; WORD $0x424c; BYTE $0x04 // pmovsxwq xmm1, dword [rdx + 2*rax + 4]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x24380f66; WORD $0x4244; BYTE $0x08 // pmovsxwq xmm0, dword [rdx + 2*rax + 8]
LONG $0x24380f66; WORD $0x424c; BYTE $0x0c // pmovsxwq xmm1, dword [rdx + 2*rax + 12]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x24380f66; WORD $0x4244; BYTE $0x10 // pmovsxwq xmm0, dword [rdx + 2*rax + 16]
LONG $0x24380f66; WORD $0x424c; BYTE $0x14 // pmovsxwq xmm1, dword [rdx + 2*rax + 20]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x24380f66; WORD $0x4244; BYTE $0x18 // pmovsxwq xmm0, dword [rdx + 2*rax + 24]
LONG $0x24380f66; WORD $0x424c; BYTE $0x1c // pmovsxwq xmm1, dword [rdx + 2*rax + 28]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_820
LBB0_821:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_824
LONG $0xc13c8d48 // lea rdi, [rcx + 8*rax]
LONG $0x10c78348 // add rdi, 16
LONG $0x42148d4c // lea r10, [rdx + 2*rax]
LONG $0x04c28349 // add r10, 4
WORD $0xc031 // xor eax, eax
LBB0_823:
QUAD $0xfcc24424380f4166 // pmovsxwq xmm0, dword [r10 + 8*rax - 4]
LONG $0x380f4166; WORD $0x0c24; BYTE $0xc2 // pmovsxwq xmm1, dword [r10 + 8*rax]
LONG $0x477f0ff3; BYTE $0xf0 // movdqu oword [rdi - 16], xmm0
LONG $0x0f7f0ff3 // movdqu oword [rdi], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x01c08348 // add rax, 1
WORD $0x3949; BYTE $0xc0 // cmp r8, rax
JNE LBB0_823
LBB0_824:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_825:
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_825
JMP LBB0_1526
LBB0_830:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_831:
LONG $0x25380f66; WORD $0x8204 // pmovsxdq xmm0, qword [rdx + 4*rax]
LONG $0x25380f66; WORD $0x824c; BYTE $0x08 // pmovsxdq xmm1, qword [rdx + 4*rax + 8]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x25380f66; WORD $0x8244; BYTE $0x10 // pmovsxdq xmm0, qword [rdx + 4*rax + 16]
LONG $0x25380f66; WORD $0x824c; BYTE $0x18 // pmovsxdq xmm1, qword [rdx + 4*rax + 24]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x25380f66; WORD $0x8244; BYTE $0x20 // pmovsxdq xmm0, qword [rdx + 4*rax + 32]
LONG $0x25380f66; WORD $0x824c; BYTE $0x28 // pmovsxdq xmm1, qword [rdx + 4*rax + 40]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x25380f66; WORD $0x8244; BYTE $0x30 // pmovsxdq xmm0, qword [rdx + 4*rax + 48]
LONG $0x25380f66; WORD $0x824c; BYTE $0x38 // pmovsxdq xmm1, qword [rdx + 4*rax + 56]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_831
LBB0_832:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_835
QUAD $0x0000000885048d48 // lea rax, [4*rax + 8]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_834:
LONG $0x25380f66; WORD $0x0244; BYTE $0xf8 // pmovsxdq xmm0, qword [rdx + rax - 8]
LONG $0x25380f66; WORD $0x020c // pmovsxdq xmm1, qword [rdx + rax]
LONG $0x447f0ff3; WORD $0xf041 // movdqu oword [rcx + 2*rax - 16], xmm0
LONG $0x0c7f0ff3; BYTE $0x41 // movdqu oword [rcx + 2*rax], xmm1
LONG $0x10c08348 // add rax, 16
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_834
LBB0_835:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_836:
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_836
JMP LBB0_1526
LBB0_857:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_858:
LONG $0x35380f66; WORD $0x8204 // pmovzxdq xmm0, qword [rdx + 4*rax]
LONG $0x35380f66; WORD $0x824c; BYTE $0x08 // pmovzxdq xmm1, qword [rdx + 4*rax + 8]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x35380f66; WORD $0x8244; BYTE $0x10 // pmovzxdq xmm0, qword [rdx + 4*rax + 16]
LONG $0x35380f66; WORD $0x824c; BYTE $0x18 // pmovzxdq xmm1, qword [rdx + 4*rax + 24]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x35380f66; WORD $0x8244; BYTE $0x20 // pmovzxdq xmm0, qword [rdx + 4*rax + 32]
LONG $0x35380f66; WORD $0x824c; BYTE $0x28 // pmovzxdq xmm1, qword [rdx + 4*rax + 40]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x35380f66; WORD $0x8244; BYTE $0x30 // pmovzxdq xmm0, qword [rdx + 4*rax + 48]
LONG $0x35380f66; WORD $0x824c; BYTE $0x38 // pmovzxdq xmm1, qword [rdx + 4*rax + 56]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_858
LBB0_859:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_862
QUAD $0x0000000885048d48 // lea rax, [4*rax + 8]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_861:
LONG $0x35380f66; WORD $0x0244; BYTE $0xf8 // pmovzxdq xmm0, qword [rdx + rax - 8]
LONG $0x35380f66; WORD $0x020c // pmovzxdq xmm1, qword [rdx + rax]
LONG $0x447f0ff3; WORD $0xf041 // movdqu oword [rcx + 2*rax - 16], xmm0
LONG $0x0c7f0ff3; BYTE $0x41 // movdqu oword [rcx + 2*rax], xmm1
LONG $0x10c08348 // add rax, 16
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_861
LBB0_862:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_863:
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_863
JMP LBB0_1526
LBB0_871:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_872:
LONG $0x34380f66; WORD $0x4204 // pmovzxwq xmm0, dword [rdx + 2*rax]
LONG $0x34380f66; WORD $0x424c; BYTE $0x04 // pmovzxwq xmm1, dword [rdx + 2*rax + 4]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x34380f66; WORD $0x4244; BYTE $0x08 // pmovzxwq xmm0, dword [rdx + 2*rax + 8]
LONG $0x34380f66; WORD $0x424c; BYTE $0x0c // pmovzxwq xmm1, dword [rdx + 2*rax + 12]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x34380f66; WORD $0x4244; BYTE $0x10 // pmovzxwq xmm0, dword [rdx + 2*rax + 16]
LONG $0x34380f66; WORD $0x424c; BYTE $0x14 // pmovzxwq xmm1, dword [rdx + 2*rax + 20]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x34380f66; WORD $0x4244; BYTE $0x18 // pmovzxwq xmm0, dword [rdx + 2*rax + 24]
LONG $0x34380f66; WORD $0x424c; BYTE $0x1c // pmovzxwq xmm1, dword [rdx + 2*rax + 28]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_872
LBB0_873:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_876
LONG $0xc13c8d48 // lea rdi, [rcx + 8*rax]
LONG $0x10c78348 // add rdi, 16
LONG $0x42148d4c // lea r10, [rdx + 2*rax]
LONG $0x04c28349 // add r10, 4
WORD $0xc031 // xor eax, eax
LBB0_875:
QUAD $0xfcc24434380f4166 // pmovzxwq xmm0, dword [r10 + 8*rax - 4]
LONG $0x380f4166; WORD $0x0c34; BYTE $0xc2 // pmovzxwq xmm1, dword [r10 + 8*rax]
LONG $0x477f0ff3; BYTE $0xf0 // movdqu oword [rdi - 16], xmm0
LONG $0x0f7f0ff3 // movdqu oword [rdi], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x01c08348 // add rax, 1
WORD $0x3949; BYTE $0xc0 // cmp r8, rax
JNE LBB0_875
LBB0_876:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_877:
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_877
JMP LBB0_1526
LBB0_878:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_879:
LONG $0x24380f66; WORD $0x4204 // pmovsxwq xmm0, dword [rdx + 2*rax]
LONG $0x24380f66; WORD $0x424c; BYTE $0x04 // pmovsxwq xmm1, dword [rdx + 2*rax + 4]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x24380f66; WORD $0x4244; BYTE $0x08 // pmovsxwq xmm0, dword [rdx + 2*rax + 8]
LONG $0x24380f66; WORD $0x424c; BYTE $0x0c // pmovsxwq xmm1, dword [rdx + 2*rax + 12]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x24380f66; WORD $0x4244; BYTE $0x10 // pmovsxwq xmm0, dword [rdx + 2*rax + 16]
LONG $0x24380f66; WORD $0x424c; BYTE $0x14 // pmovsxwq xmm1, dword [rdx + 2*rax + 20]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x24380f66; WORD $0x4244; BYTE $0x18 // pmovsxwq xmm0, dword [rdx + 2*rax + 24]
LONG $0x24380f66; WORD $0x424c; BYTE $0x1c // pmovsxwq xmm1, dword [rdx + 2*rax + 28]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_879
LBB0_880:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_883
LONG $0xc13c8d48 // lea rdi, [rcx + 8*rax]
LONG $0x10c78348 // add rdi, 16
LONG $0x42148d4c // lea r10, [rdx + 2*rax]
LONG $0x04c28349 // add r10, 4
WORD $0xc031 // xor eax, eax
LBB0_882:
QUAD $0xfcc24424380f4166 // pmovsxwq xmm0, dword [r10 + 8*rax - 4]
LONG $0x380f4166; WORD $0x0c24; BYTE $0xc2 // pmovsxwq xmm1, dword [r10 + 8*rax]
LONG $0x477f0ff3; BYTE $0xf0 // movdqu oword [rdi - 16], xmm0
LONG $0x0f7f0ff3 // movdqu oword [rdi], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x01c08348 // add rax, 1
WORD $0x3949; BYTE $0xc0 // cmp r8, rax
JNE LBB0_882
LBB0_883:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_884:
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_884
JMP LBB0_1526
LBB0_894:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_895:
LONG $0x25380f66; WORD $0x8204 // pmovsxdq xmm0, qword [rdx + 4*rax]
LONG $0x25380f66; WORD $0x824c; BYTE $0x08 // pmovsxdq xmm1, qword [rdx + 4*rax + 8]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x25380f66; WORD $0x8244; BYTE $0x10 // pmovsxdq xmm0, qword [rdx + 4*rax + 16]
LONG $0x25380f66; WORD $0x824c; BYTE $0x18 // pmovsxdq xmm1, qword [rdx + 4*rax + 24]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x25380f66; WORD $0x8244; BYTE $0x20 // pmovsxdq xmm0, qword [rdx + 4*rax + 32]
LONG $0x25380f66; WORD $0x824c; BYTE $0x28 // pmovsxdq xmm1, qword [rdx + 4*rax + 40]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x25380f66; WORD $0x8244; BYTE $0x30 // pmovsxdq xmm0, qword [rdx + 4*rax + 48]
LONG $0x25380f66; WORD $0x824c; BYTE $0x38 // pmovsxdq xmm1, qword [rdx + 4*rax + 56]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_895
LBB0_896:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_899
QUAD $0x0000000885048d48 // lea rax, [4*rax + 8]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_898:
LONG $0x25380f66; WORD $0x0244; BYTE $0xf8 // pmovsxdq xmm0, qword [rdx + rax - 8]
LONG $0x25380f66; WORD $0x020c // pmovsxdq xmm1, qword [rdx + rax]
LONG $0x447f0ff3; WORD $0xf041 // movdqu oword [rcx + 2*rax - 16], xmm0
LONG $0x0c7f0ff3; BYTE $0x41 // movdqu oword [rcx + 2*rax], xmm1
LONG $0x10c08348 // add rax, 16
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_898
LBB0_899:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_900:
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_900
JMP LBB0_1526
LBB0_939:
WORD $0xff31 // xor edi, edi
LBB0_940:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_942
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LBB0_942:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_943:
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_943
JMP LBB0_1526
LBB0_944:
WORD $0xff31 // xor edi, edi
LBB0_945:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_947
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LBB0_947:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_948:
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_948
JMP LBB0_1526
LBB0_949:
WORD $0xff31 // xor edi, edi
LBB0_950:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_952
LONG $0x33380f66; WORD $0x7a04 // pmovzxwd xmm0, qword [rdx + 2*rdi]
LONG $0x33380f66; WORD $0x7a4c; BYTE $0x08 // pmovzxwd xmm1, qword [rdx + 2*rdi + 8]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LBB0_952:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_953:
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_953
JMP LBB0_1526
LBB0_954:
WORD $0xff31 // xor edi, edi
LBB0_955:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_957
LONG $0x23380f66; WORD $0x7a04 // pmovsxwd xmm0, qword [rdx + 2*rdi]
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x08 // pmovsxwd xmm1, qword [rdx + 2*rdi + 8]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LBB0_957:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_958:
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_958
JMP LBB0_1526
LBB0_959:
WORD $0xff31 // xor edi, edi
LBB0_960:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_962
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LBB0_962:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_963:
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_963
JMP LBB0_1526
LBB0_964:
WORD $0xff31 // xor edi, edi
LBB0_965:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_967
LONG $0xba0c100f // movups xmm1, oword [rdx + 4*rdi]
LONG $0xba54100f; BYTE $0x10 // movups xmm2, oword [rdx + 4*rdi + 16]
LONG $0x205d280f // movaps xmm3, oword 32[rbp] /* [rip + .LCPI0_3] */
WORD $0x280f; BYTE $0xc1 // movaps xmm0, xmm1
LONG $0x01c3c20f // cmpltps xmm0, xmm3
LONG $0xe15b0ff3 // cvttps2dq xmm4, xmm1
WORD $0x5c0f; BYTE $0xcb // subps xmm1, xmm3
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0x306d280f // movaps xmm5, oword 48[rbp] /* [rip + .LCPI0_4] */
WORD $0x570f; BYTE $0xcd // xorps xmm1, xmm5
LONG $0x14380f66; BYTE $0xcc // blendvps xmm1, xmm4, xmm0
WORD $0x280f; BYTE $0xc2 // movaps xmm0, xmm2
LONG $0x01c3c20f // cmpltps xmm0, xmm3
LONG $0xe25b0ff3 // cvttps2dq xmm4, xmm2
WORD $0x5c0f; BYTE $0xd3 // subps xmm2, xmm3
LONG $0xd25b0ff3 // cvttps2dq xmm2, xmm2
WORD $0x570f; BYTE $0xd5 // xorps xmm2, xmm5
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
LONG $0xb90c110f // movups oword [rcx + 4*rdi], xmm1
LONG $0xb954110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm2
LBB0_967:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_968:
LONG $0x2c0f48f3; WORD $0xb204 // cvttss2si 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_968
JMP LBB0_1526
LBB0_969:
WORD $0xff31 // xor edi, edi
LBB0_970:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_972
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xd2ef0f66 // pxor xmm2, xmm2
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0x0e3a0f66; WORD $0xccda // pblendw xmm3, xmm2, 204
LONG $0x656f0f66; BYTE $0x50 // movdqa xmm4, oword 80[rbp] /* [rip + .LCPI0_6] */
LONG $0xdceb0f66 // por xmm3, xmm4
LONG $0xd0730f66; BYTE $0x20 // psrlq xmm0, 32
LONG $0x6d6f0f66; BYTE $0x60 // movdqa xmm5, oword 96[rbp] /* [rip + .LCPI0_7] */
LONG $0xc5eb0f66 // por xmm0, xmm5
LONG $0x75280f66; BYTE $0x70 // movapd xmm6, oword 112[rbp] /* [rip + .LCPI0_8] */
LONG $0xc65c0f66 // subpd xmm0, xmm6
LONG $0xc3580f66 // addpd xmm0, xmm3
LONG $0x0e3a0f66; WORD $0x33d1 // pblendw xmm2, xmm1, 51
LONG $0xd4eb0f66 // por xmm2, xmm4
LONG $0xd1730f66; BYTE $0x20 // psrlq xmm1, 32
LONG $0xcdeb0f66 // por xmm1, xmm5
LONG $0xce5c0f66 // subpd xmm1, xmm6
LONG $0xca580f66 // addpd xmm1, xmm2
LONG $0x04110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm0
LONG $0x4c110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm1
LBB0_972:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_973:
QUAD $0x0000008085280f66 // movapd xmm0, oword 128[rbp] /* [rip + .LCPI0_9] */
QUAD $0x000000908d280f66 // movapd xmm1, oword 144[rbp] /* [rip + .LCPI0_10] */
LBB0_974:
LONG $0x14100ff2; BYTE $0xf2 // movsd xmm2, qword [rdx + 8*rsi]
WORD $0x140f; BYTE $0xd0 // unpcklps xmm2, xmm0
LONG $0xd15c0f66 // subpd xmm2, xmm1
LONG $0xda280f66 // movapd xmm3, xmm2
LONG $0xda150f66 // unpckhpd xmm3, xmm2
LONG $0xda580ff2 // addsd xmm3, xmm2
LONG $0x1c110ff2; BYTE $0xf1 // movsd qword [rcx + 8*rsi], xmm3
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB0_974
JMP LBB0_1526
LBB0_975:
WORD $0xff31 // xor edi, edi
LBB0_976:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_978
LONG $0xba045a0f // cvtps2pd xmm0, qword [rdx + 4*rdi]
LONG $0xba4c5a0f; BYTE $0x08 // cvtps2pd xmm1, qword [rdx + 4*rdi + 8]
LONG $0x04110f66; BYTE $0xf9 // movupd oword [rcx + 8*rdi], xmm0
LONG $0x4c110f66; WORD $0x10f9 // movupd oword [rcx + 8*rdi + 16], xmm1
LBB0_978:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_979:
LONG $0x04100ff3; BYTE $0xb2 // movss xmm0, dword [rdx + 4*rsi]
LONG $0xc05a0ff3 // cvtss2sd xmm0, xmm0
LONG $0x04110ff2; BYTE $0xf1 // movsd qword [rcx + 8*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB0_979
JMP LBB0_1526
LBB0_980:
WORD $0xff31 // xor edi, edi
LBB0_981:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_983
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
QUAD $0x000000b0956f0f66 // movdqa xmm2, oword 176[rbp] /* [rip + .LCPI0_12] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LBB0_983:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_984:
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_984
JMP LBB0_1526
LBB0_985:
WORD $0xff31 // xor edi, edi
LBB0_986:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_988
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
QUAD $0x000000b0956f0f66 // movdqa xmm2, oword 176[rbp] /* [rip + .LCPI0_12] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LBB0_988:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_989:
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_989
JMP LBB0_1526
LBB0_990:
WORD $0xff31 // xor edi, edi
LBB0_991:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_993
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LBB0_993:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_994:
LONG $0x042c0ff2; BYTE $0xf2 // cvttsd2si 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_994
JMP LBB0_1526
LBB0_995:
WORD $0xff31 // xor edi, edi
LBB0_996:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_998
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LBB0_998:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_999:
LONG $0x042c0ff2; BYTE $0xf2 // cvttsd2si 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_999
JMP LBB0_1526
LBB0_1000:
WORD $0xff31 // xor edi, edi
LBB0_1001:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1003
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LBB0_1003:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1004:
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_1004
JMP LBB0_1526
LBB0_1005:
WORD $0xff31 // xor edi, edi
LBB0_1006:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1008
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LBB0_1008:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1009:
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_1009
JMP LBB0_1526
LBB0_1010:
WORD $0xff31 // xor edi, edi
LBB0_1011:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1013
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LBB0_1013:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1014:
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_1014
JMP LBB0_1526
LBB0_1015:
WORD $0xff31 // xor edi, edi
LBB0_1016:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1018
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc0700ff2; BYTE $0xe8 // pshuflw xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc9700ff2; BYTE $0xe8 // pshuflw xmm1, xmm1, 232
LONG $0x047e0f66; BYTE $0x79 // movd dword [rcx + 2*rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0479 // movd dword [rcx + 2*rdi + 4], xmm1
LBB0_1018:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1019:
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_1019
JMP LBB0_1526
LBB0_1020:
WORD $0xff31 // xor edi, edi
LBB0_1021:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1023
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0x2b380f66; BYTE $0xc1 // packusdw xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LBB0_1023:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1024:
LONG $0x042c0ff3; BYTE $0xb2 // cvttss2si 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_1024
JMP LBB0_1526
LBB0_1025:
WORD $0xff31 // xor edi, edi
LBB0_1026:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1028
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0xc16b0f66 // packssdw xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LBB0_1028:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1029:
LONG $0x042c0ff3; BYTE $0xb2 // cvttss2si 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_1029
JMP LBB0_1526
LBB0_1030:
WORD $0xff31 // xor edi, edi
LBB0_1031:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1033
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
QUAD $0x000000b0956f0f66 // movdqa xmm2, oword 176[rbp] /* [rip + .LCPI0_12] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LBB0_1033:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1034:
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_1034
JMP LBB0_1526
LBB0_1035:
WORD $0xff31 // xor edi, edi
LBB0_1036:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1038
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
QUAD $0x000000b0956f0f66 // movdqa xmm2, oword 176[rbp] /* [rip + .LCPI0_12] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LBB0_1038:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1039:
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_1039
JMP LBB0_1526
LBB0_1040:
WORD $0xff31 // xor edi, edi
LBB0_1041:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1043
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
QUAD $0x000000d0956f0f66 // movdqa xmm2, oword 208[rbp] /* [rip + .LCPI0_14] */
LONG $0xd86f0f66 // movdqa xmm3, xmm0
LONG $0x0e3a0f66; WORD $0xaada // pblendw xmm3, xmm2, 170
LONG $0xd0720f66; BYTE $0x10 // psrld xmm0, 16
QUAD $0x000000e0a56f0f66 // movdqa xmm4, oword 224[rbp] /* [rip + .LCPI0_15] */
LONG $0x0e3a0f66; WORD $0xaac4 // pblendw xmm0, xmm4, 170
LONG $0xf0ad280f; WORD $0x0000; BYTE $0x00 // movaps xmm5, oword 240[rbp] /* [rip + .LCPI0_16] */
WORD $0x5c0f; BYTE $0xc5 // subps xmm0, xmm5
WORD $0x580f; BYTE $0xc3 // addps xmm0, xmm3
LONG $0x0e3a0f66; WORD $0x55d1 // pblendw xmm2, xmm1, 85
LONG $0xd1720f66; BYTE $0x10 // psrld xmm1, 16
LONG $0x0e3a0f66; WORD $0xaacc // pblendw xmm1, xmm4, 170
WORD $0x5c0f; BYTE $0xcd // subps xmm1, xmm5
WORD $0x580f; BYTE $0xca // addps xmm1, xmm2
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LBB0_1043:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1044:
WORD $0x048b; BYTE $0xb2 // mov eax, dword [rdx + 4*rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f3; BYTE $0xc0 // cvtsi2ss xmm0, rax
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB0_1044
JMP LBB0_1526
LBB0_1045:
WORD $0xff31 // xor edi, edi
LBB0_1046:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1048
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc05a0f66 // cvtpd2ps xmm0, xmm0
LONG $0xc95a0f66 // cvtpd2ps xmm1, xmm1
LONG $0xc1140f66 // unpcklpd xmm0, xmm1
LONG $0x04110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm0
LBB0_1048:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1049:
LONG $0x04100ff2; BYTE $0xf2 // movsd xmm0, qword [rdx + 8*rsi]
LONG $0xc05a0ff2 // cvtsd2ss xmm0, xmm0
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB0_1049
JMP LBB0_1526
LBB0_1050:
WORD $0xff31 // xor edi, edi
LBB0_1051:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1053
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
QUAD $0x000000a09d6f0f66 // movdqa xmm3, oword 160[rbp] /* [rip + .LCPI0_11] */
LONG $0xc86f0f66 // movdqa xmm1, xmm0
LONG $0xd06f0f66 // movdqa xmm2, xmm0
LONG $0xe06f0f66 // movdqa xmm4, xmm0
LONG $0xe3db0f66 // pand xmm4, xmm3
LONG $0xd1730f66; BYTE $0x01 // psrlq xmm1, 1
LONG $0xcceb0f66 // por xmm1, xmm4
LONG $0x15380f66; BYTE $0xd1 // blendvpd xmm2, xmm1, xmm0
LONG $0x3a0f4866; WORD $0xd016; BYTE $0x01 // pextrq rax, xmm2, 1
WORD $0x570f; BYTE $0xe4 // xorps xmm4, xmm4
LONG $0x2a0f48f3; BYTE $0xe0 // cvtsi2ss xmm4, rax
LONG $0x7e0f4866; BYTE $0xd0 // movq rax, xmm2
WORD $0x570f; BYTE $0xd2 // xorps xmm2, xmm2
LONG $0x2a0f48f3; BYTE $0xd0 // cvtsi2ss xmm2, rax
LONG $0xedef0f66 // pxor xmm5, xmm5
LONG $0x37380f66; BYTE $0xe8 // pcmpgtq xmm5, xmm0
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x213a0f66; WORD $0x1cd4 // insertps xmm2, xmm4, 28
WORD $0x280f; BYTE $0xe2 // movaps xmm4, xmm2
WORD $0x580f; BYTE $0xe2 // addps xmm4, xmm2
LONG $0xf6ef0f66 // pxor xmm6, xmm6
LONG $0xc5700f66; BYTE $0xed // pshufd xmm0, xmm5, 237
LONG $0x14380f66; BYTE $0xd4 // blendvps xmm2, xmm4, xmm0
LONG $0xd9db0f66 // pand xmm3, xmm1
LONG $0xe16f0f66 // movdqa xmm4, xmm1
LONG $0xd4730f66; BYTE $0x01 // psrlq xmm4, 1
LONG $0xe3eb0f66 // por xmm4, xmm3
LONG $0x37380f66; BYTE $0xf1 // pcmpgtq xmm6, xmm1
LONG $0xc16f0f66 // movdqa xmm0, xmm1
LONG $0x15380f66; BYTE $0xcc // blendvpd xmm1, xmm4, xmm0
LONG $0x3a0f4866; WORD $0xc816; BYTE $0x01 // pextrq rax, xmm1, 1
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f3; BYTE $0xc0 // cvtsi2ss xmm0, rax
LONG $0x7e0f4866; BYTE $0xc8 // movq rax, xmm1
WORD $0x570f; BYTE $0xc9 // xorps xmm1, xmm1
LONG $0x2a0f48f3; BYTE $0xc8 // cvtsi2ss xmm1, rax
LONG $0x213a0f66; WORD $0x1cc8 // insertps xmm1, xmm0, 28
WORD $0x280f; BYTE $0xd9 // movaps xmm3, xmm1
WORD $0x580f; BYTE $0xd9 // addps xmm3, xmm1
LONG $0xc6700f66; BYTE $0xed // pshufd xmm0, xmm6, 237
LONG $0x14380f66; BYTE $0xcb // blendvps xmm1, xmm3, xmm0
WORD $0x160f; BYTE $0xd1 // movlhps xmm2, xmm1
LONG $0xb914110f // movups oword [rcx + 4*rdi], xmm2
LBB0_1053:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JNE LBB0_1056
JMP LBB0_1526
LBB0_1054:
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f3; BYTE $0xc0 // cvtsi2ss xmm0, rax
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JE LBB0_1526
LBB0_1056:
LONG $0xf2048b48 // mov rax, qword [rdx + 8*rsi]
WORD $0x8548; BYTE $0xc0 // test rax, rax
JNS LBB0_1054
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
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x2a0f48f3; BYTE $0xc0 // cvtsi2ss xmm0, rax
LONG $0xc0580ff3 // addss xmm0, xmm0
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB0_1056
JMP LBB0_1526
LBB0_1058:
WORD $0xff31 // xor edi, edi
LBB0_1059:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1061
LONG $0x33380f66; WORD $0x7a04 // pmovzxwd xmm0, qword [rdx + 2*rdi]
LONG $0x33380f66; WORD $0x7a4c; BYTE $0x08 // pmovzxwd xmm1, qword [rdx + 2*rdi + 8]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LBB0_1061:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1062:
LONG $0x7204b70f // movzx eax, word [rdx + 2*rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB0_1062
JMP LBB0_1526
LBB0_1063:
WORD $0xff31 // xor edi, edi
LBB0_1064:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1066
LONG $0x23380f66; WORD $0x7a04 // pmovsxwd xmm0, qword [rdx + 2*rdi]
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x08 // pmovsxwd xmm1, qword [rdx + 2*rdi + 8]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LBB0_1066:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1067:
LONG $0x7204bf0f // movsx eax, word [rdx + 2*rsi]
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0xc02a0ff3 // cvtsi2ss xmm0, eax
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB0_1067
JMP LBB0_1526
LBB0_1068:
WORD $0xff31 // xor edi, edi
LBB0_1069:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1071
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LBB0_1071:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1072:
WORD $0x570f; BYTE $0xc0 // xorps xmm0, xmm0
LONG $0x042a0ff3; BYTE $0xb2 // cvtsi2ss xmm0, dword [rdx + 4*rsi]
LONG $0x04110ff3; BYTE $0xb1 // movss dword [rcx + 4*rsi], xmm0
LONG $0x01c68348 // add rsi, 1
WORD $0x3949; BYTE $0xf1 // cmp r9, rsi
JNE LBB0_1072
JMP LBB0_1526
LBB0_1073:
WORD $0xff31 // xor edi, edi
LBB0_1074:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1076
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0xc1140f66 // unpcklpd xmm0, xmm1
LONG $0x04110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm0
LBB0_1076:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1077:
LONG $0x042c0ff2; BYTE $0xf2 // cvttsd2si 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_1077
JMP LBB0_1526
LBB0_1078:
WORD $0xff31 // xor edi, edi
LBB0_1079:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1081
LONG $0x33380f66; WORD $0x7a04 // pmovzxwd xmm0, qword [rdx + 2*rdi]
LONG $0x33380f66; WORD $0x7a4c; BYTE $0x08 // pmovzxwd xmm1, qword [rdx + 2*rdi + 8]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LBB0_1081:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1082:
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_1082
JMP LBB0_1526
LBB0_1083:
WORD $0xff31 // xor edi, edi
LBB0_1084:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1086
LONG $0x23380f66; WORD $0x7a04 // pmovsxwd xmm0, qword [rdx + 2*rdi]
LONG $0x23380f66; WORD $0x7a4c; BYTE $0x08 // pmovsxwd xmm1, qword [rdx + 2*rdi + 8]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LBB0_1086:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1087:
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_1087
JMP LBB0_1526
LBB0_1088:
WORD $0xff31 // xor edi, edi
LBB0_1089:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1091
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0xc0700f66; BYTE $0xe8 // pshufd xmm0, xmm0, 232
LONG $0xc9700f66; BYTE $0xe8 // pshufd xmm1, xmm1, 232
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LBB0_1091:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1092:
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_1092
JMP LBB0_1526
LBB0_1093:
WORD $0xff31 // xor edi, edi
LBB0_1094:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1096
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0x04110f66; BYTE $0xb9 // movupd oword [rcx + 4*rdi], xmm0
LONG $0x4c110f66; WORD $0x10b9 // movupd oword [rcx + 4*rdi + 16], xmm1
LBB0_1096:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
LBB0_1097:
LONG $0x042c0ff3; BYTE $0xb2 // cvttss2si 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_1097
LBB0_1526:
RET
LBB0_1098:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1099:
LONG $0x8204100f // movups xmm0, oword [rdx + 4*rax]
LONG $0x824c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rax + 16]
LONG $0x8104110f // movups oword [rcx + 4*rax], xmm0
LONG $0x814c110f; BYTE $0x10 // movups oword [rcx + 4*rax + 16], xmm1
LONG $0x8244100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rax + 32]
LONG $0x824c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rax + 48]
LONG $0x8144110f; BYTE $0x20 // movups oword [rcx + 4*rax + 32], xmm0
LONG $0x814c110f; BYTE $0x30 // movups oword [rcx + 4*rax + 48], xmm1
LONG $0x8244100f; BYTE $0x40 // movups xmm0, oword [rdx + 4*rax + 64]
LONG $0x824c100f; BYTE $0x50 // movups xmm1, oword [rdx + 4*rax + 80]
LONG $0x8144110f; BYTE $0x40 // movups oword [rcx + 4*rax + 64], xmm0
LONG $0x814c110f; BYTE $0x50 // movups oword [rcx + 4*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6082 // movupd xmm0, oword [rdx + 4*rax + 96]
LONG $0x4c100f66; WORD $0x7082 // movupd xmm1, oword [rdx + 4*rax + 112]
LONG $0x44110f66; WORD $0x6081 // movupd oword [rcx + 4*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7081 // movupd oword [rcx + 4*rax + 112], xmm1
LONG $0x20c08348 // add rax, 32
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1099
LBB0_1100:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1103
QUAD $0x0000001085048d48 // lea rax, [4*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1102:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1102
LBB0_1103:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1104
LBB0_1108:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1109:
LONG $0x8204100f // movups xmm0, oword [rdx + 4*rax]
LONG $0x824c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rax + 16]
LONG $0x8104110f // movups oword [rcx + 4*rax], xmm0
LONG $0x814c110f; BYTE $0x10 // movups oword [rcx + 4*rax + 16], xmm1
LONG $0x8244100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rax + 32]
LONG $0x824c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rax + 48]
LONG $0x8144110f; BYTE $0x20 // movups oword [rcx + 4*rax + 32], xmm0
LONG $0x814c110f; BYTE $0x30 // movups oword [rcx + 4*rax + 48], xmm1
LONG $0x8244100f; BYTE $0x40 // movups xmm0, oword [rdx + 4*rax + 64]
LONG $0x824c100f; BYTE $0x50 // movups xmm1, oword [rdx + 4*rax + 80]
LONG $0x8144110f; BYTE $0x40 // movups oword [rcx + 4*rax + 64], xmm0
LONG $0x814c110f; BYTE $0x50 // movups oword [rcx + 4*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6082 // movupd xmm0, oword [rdx + 4*rax + 96]
LONG $0x4c100f66; WORD $0x7082 // movupd xmm1, oword [rdx + 4*rax + 112]
LONG $0x44110f66; WORD $0x6081 // movupd oword [rcx + 4*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7081 // movupd oword [rcx + 4*rax + 112], xmm1
LONG $0x20c08348 // add rax, 32
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1109
LBB0_1110:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1113
QUAD $0x0000001085048d48 // lea rax, [4*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1112:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1112
LBB0_1113:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1114
LBB0_1118:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1119:
LONG $0xc204100f // movups xmm0, oword [rdx + 8*rax]
LONG $0xc24c100f; BYTE $0x10 // movups xmm1, oword [rdx + 8*rax + 16]
LONG $0xc104110f // movups oword [rcx + 8*rax], xmm0
LONG $0xc14c110f; BYTE $0x10 // movups oword [rcx + 8*rax + 16], xmm1
LONG $0xc244100f; BYTE $0x20 // movups xmm0, oword [rdx + 8*rax + 32]
LONG $0xc24c100f; BYTE $0x30 // movups xmm1, oword [rdx + 8*rax + 48]
LONG $0xc144110f; BYTE $0x20 // movups oword [rcx + 8*rax + 32], xmm0
LONG $0xc14c110f; BYTE $0x30 // movups oword [rcx + 8*rax + 48], xmm1
LONG $0xc244100f; BYTE $0x40 // movups xmm0, oword [rdx + 8*rax + 64]
LONG $0xc24c100f; BYTE $0x50 // movups xmm1, oword [rdx + 8*rax + 80]
LONG $0xc144110f; BYTE $0x40 // movups oword [rcx + 8*rax + 64], xmm0
LONG $0xc14c110f; BYTE $0x50 // movups oword [rcx + 8*rax + 80], xmm1
LONG $0x44100f66; WORD $0x60c2 // movupd xmm0, oword [rdx + 8*rax + 96]
LONG $0x4c100f66; WORD $0x70c2 // movupd xmm1, oword [rdx + 8*rax + 112]
LONG $0x44110f66; WORD $0x60c1 // movupd oword [rcx + 8*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x70c1 // movupd oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1119
LBB0_1120:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1123
QUAD $0x00000010c5048d48 // lea rax, [8*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1122:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1122
LBB0_1123:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1124
LBB0_1128:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1129:
LONG $0x0204100f // movups xmm0, oword [rdx + rax]
LONG $0x024c100f; BYTE $0x10 // movups xmm1, oword [rdx + rax + 16]
LONG $0x0104110f // movups oword [rcx + rax], xmm0
LONG $0x014c110f; BYTE $0x10 // movups oword [rcx + rax + 16], xmm1
LONG $0x0244100f; BYTE $0x20 // movups xmm0, oword [rdx + rax + 32]
LONG $0x024c100f; BYTE $0x30 // movups xmm1, oword [rdx + rax + 48]
LONG $0x0144110f; BYTE $0x20 // movups oword [rcx + rax + 32], xmm0
LONG $0x014c110f; BYTE $0x30 // movups oword [rcx + rax + 48], xmm1
LONG $0x0244100f; BYTE $0x40 // movups xmm0, oword [rdx + rax + 64]
LONG $0x024c100f; BYTE $0x50 // movups xmm1, oword [rdx + rax + 80]
LONG $0x0144110f; BYTE $0x40 // movups oword [rcx + rax + 64], xmm0
LONG $0x014c110f; BYTE $0x50 // movups oword [rcx + rax + 80], xmm1
LONG $0x44100f66; WORD $0x6002 // movupd xmm0, oword [rdx + rax + 96]
LONG $0x4c100f66; WORD $0x7002 // movupd xmm1, oword [rdx + rax + 112]
LONG $0x44110f66; WORD $0x6001 // movupd oword [rcx + rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7001 // movupd oword [rcx + rax + 112], xmm1
LONG $0x80e88348 // sub rax, -128
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1129
LBB0_1130:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1133
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1132:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1132
LBB0_1133:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1134
LBB0_1138:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1139:
LONG $0x0204100f // movups xmm0, oword [rdx + rax]
LONG $0x024c100f; BYTE $0x10 // movups xmm1, oword [rdx + rax + 16]
LONG $0x0104110f // movups oword [rcx + rax], xmm0
LONG $0x014c110f; BYTE $0x10 // movups oword [rcx + rax + 16], xmm1
LONG $0x0244100f; BYTE $0x20 // movups xmm0, oword [rdx + rax + 32]
LONG $0x024c100f; BYTE $0x30 // movups xmm1, oword [rdx + rax + 48]
LONG $0x0144110f; BYTE $0x20 // movups oword [rcx + rax + 32], xmm0
LONG $0x014c110f; BYTE $0x30 // movups oword [rcx + rax + 48], xmm1
LONG $0x0244100f; BYTE $0x40 // movups xmm0, oword [rdx + rax + 64]
LONG $0x024c100f; BYTE $0x50 // movups xmm1, oword [rdx + rax + 80]
LONG $0x0144110f; BYTE $0x40 // movups oword [rcx + rax + 64], xmm0
LONG $0x014c110f; BYTE $0x50 // movups oword [rcx + rax + 80], xmm1
LONG $0x44100f66; WORD $0x6002 // movupd xmm0, oword [rdx + rax + 96]
LONG $0x4c100f66; WORD $0x7002 // movupd xmm1, oword [rdx + rax + 112]
LONG $0x44110f66; WORD $0x6001 // movupd oword [rcx + rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7001 // movupd oword [rcx + rax + 112], xmm1
LONG $0x80e88348 // sub rax, -128
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1139
LBB0_1140:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1143
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1142:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1142
LBB0_1143:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1144
LBB0_1148:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1149:
LONG $0x22380f66; WORD $0x0204 // pmovsxbq xmm0, word [rdx + rax]
LONG $0x22380f66; WORD $0x024c; BYTE $0x02 // pmovsxbq xmm1, word [rdx + rax + 2]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x22380f66; WORD $0x0244; BYTE $0x04 // pmovsxbq xmm0, word [rdx + rax + 4]
LONG $0x22380f66; WORD $0x024c; BYTE $0x06 // pmovsxbq xmm1, word [rdx + rax + 6]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x22380f66; WORD $0x0244; BYTE $0x08 // pmovsxbq xmm0, word [rdx + rax + 8]
LONG $0x22380f66; WORD $0x024c; BYTE $0x0a // pmovsxbq xmm1, word [rdx + rax + 10]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x22380f66; WORD $0x0244; BYTE $0x0c // pmovsxbq xmm0, word [rdx + rax + 12]
LONG $0x22380f66; WORD $0x024c; BYTE $0x0e // pmovsxbq xmm1, word [rdx + rax + 14]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1149
LBB0_1150:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1153
LONG $0xc13c8d48 // lea rdi, [rcx + 8*rax]
LONG $0x10c78348 // add rdi, 16
LONG $0x10148d4c // lea r10, [rax + rdx]
LONG $0x02c28349 // add r10, 2
WORD $0xc031 // xor eax, eax
LBB0_1152:
QUAD $0xfe824422380f4166 // pmovsxbq xmm0, word [r10 + 4*rax - 2]
LONG $0x380f4166; WORD $0x0c22; BYTE $0x82 // pmovsxbq xmm1, word [r10 + 4*rax]
LONG $0x477f0ff3; BYTE $0xf0 // movdqu oword [rdi - 16], xmm0
LONG $0x0f7f0ff3 // movdqu oword [rdi], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x01c08348 // add rax, 1
WORD $0x3949; BYTE $0xc0 // cmp r8, rax
JNE LBB0_1152
LBB0_1153:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1154
LBB0_1158:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1159:
LONG $0xc204100f // movups xmm0, oword [rdx + 8*rax]
LONG $0xc24c100f; BYTE $0x10 // movups xmm1, oword [rdx + 8*rax + 16]
LONG $0xc104110f // movups oword [rcx + 8*rax], xmm0
LONG $0xc14c110f; BYTE $0x10 // movups oword [rcx + 8*rax + 16], xmm1
LONG $0xc244100f; BYTE $0x20 // movups xmm0, oword [rdx + 8*rax + 32]
LONG $0xc24c100f; BYTE $0x30 // movups xmm1, oword [rdx + 8*rax + 48]
LONG $0xc144110f; BYTE $0x20 // movups oword [rcx + 8*rax + 32], xmm0
LONG $0xc14c110f; BYTE $0x30 // movups oword [rcx + 8*rax + 48], xmm1
LONG $0xc244100f; BYTE $0x40 // movups xmm0, oword [rdx + 8*rax + 64]
LONG $0xc24c100f; BYTE $0x50 // movups xmm1, oword [rdx + 8*rax + 80]
LONG $0xc144110f; BYTE $0x40 // movups oword [rcx + 8*rax + 64], xmm0
LONG $0xc14c110f; BYTE $0x50 // movups oword [rcx + 8*rax + 80], xmm1
LONG $0x44100f66; WORD $0x60c2 // movupd xmm0, oword [rdx + 8*rax + 96]
LONG $0x4c100f66; WORD $0x70c2 // movupd xmm1, oword [rdx + 8*rax + 112]
LONG $0x44110f66; WORD $0x60c1 // movupd oword [rcx + 8*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x70c1 // movupd oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1159
LBB0_1160:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1163
QUAD $0x00000010c5048d48 // lea rax, [8*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1162:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1162
LBB0_1163:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1164
LBB0_1168:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1169:
LONG $0xc204100f // movups xmm0, oword [rdx + 8*rax]
LONG $0xc24c100f; BYTE $0x10 // movups xmm1, oword [rdx + 8*rax + 16]
LONG $0xc104110f // movups oword [rcx + 8*rax], xmm0
LONG $0xc14c110f; BYTE $0x10 // movups oword [rcx + 8*rax + 16], xmm1
LONG $0xc244100f; BYTE $0x20 // movups xmm0, oword [rdx + 8*rax + 32]
LONG $0xc24c100f; BYTE $0x30 // movups xmm1, oword [rdx + 8*rax + 48]
LONG $0xc144110f; BYTE $0x20 // movups oword [rcx + 8*rax + 32], xmm0
LONG $0xc14c110f; BYTE $0x30 // movups oword [rcx + 8*rax + 48], xmm1
LONG $0xc244100f; BYTE $0x40 // movups xmm0, oword [rdx + 8*rax + 64]
LONG $0xc24c100f; BYTE $0x50 // movups xmm1, oword [rdx + 8*rax + 80]
LONG $0xc144110f; BYTE $0x40 // movups oword [rcx + 8*rax + 64], xmm0
LONG $0xc14c110f; BYTE $0x50 // movups oword [rcx + 8*rax + 80], xmm1
LONG $0x44100f66; WORD $0x60c2 // movupd xmm0, oword [rdx + 8*rax + 96]
LONG $0x4c100f66; WORD $0x70c2 // movupd xmm1, oword [rdx + 8*rax + 112]
LONG $0x44110f66; WORD $0x60c1 // movupd oword [rcx + 8*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x70c1 // movupd oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1169
LBB0_1170:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1173
QUAD $0x00000010c5048d48 // lea rax, [8*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1172:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1172
LBB0_1173:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1174
LBB0_1178:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1179:
LONG $0x32380f66; WORD $0x0204 // pmovzxbq xmm0, word [rdx + rax]
LONG $0x32380f66; WORD $0x024c; BYTE $0x02 // pmovzxbq xmm1, word [rdx + rax + 2]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x32380f66; WORD $0x0244; BYTE $0x04 // pmovzxbq xmm0, word [rdx + rax + 4]
LONG $0x32380f66; WORD $0x024c; BYTE $0x06 // pmovzxbq xmm1, word [rdx + rax + 6]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x32380f66; WORD $0x0244; BYTE $0x08 // pmovzxbq xmm0, word [rdx + rax + 8]
LONG $0x32380f66; WORD $0x024c; BYTE $0x0a // pmovzxbq xmm1, word [rdx + rax + 10]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x32380f66; WORD $0x0244; BYTE $0x0c // pmovzxbq xmm0, word [rdx + rax + 12]
LONG $0x32380f66; WORD $0x024c; BYTE $0x0e // pmovzxbq xmm1, word [rdx + rax + 14]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1179
LBB0_1180:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1183
LONG $0xc13c8d48 // lea rdi, [rcx + 8*rax]
LONG $0x10c78348 // add rdi, 16
LONG $0x10148d4c // lea r10, [rax + rdx]
LONG $0x02c28349 // add r10, 2
WORD $0xc031 // xor eax, eax
LBB0_1182:
QUAD $0xfe824432380f4166 // pmovzxbq xmm0, word [r10 + 4*rax - 2]
LONG $0x380f4166; WORD $0x0c32; BYTE $0x82 // pmovzxbq xmm1, word [r10 + 4*rax]
LONG $0x477f0ff3; BYTE $0xf0 // movdqu oword [rdi - 16], xmm0
LONG $0x0f7f0ff3 // movdqu oword [rdi], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x01c08348 // add rax, 1
WORD $0x3949; BYTE $0xc0 // cmp r8, rax
JNE LBB0_1182
LBB0_1183:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1184
LBB0_1188:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1189:
LONG $0x4204100f // movups xmm0, oword [rdx + 2*rax]
LONG $0x424c100f; BYTE $0x10 // movups xmm1, oword [rdx + 2*rax + 16]
LONG $0x4104110f // movups oword [rcx + 2*rax], xmm0
LONG $0x414c110f; BYTE $0x10 // movups oword [rcx + 2*rax + 16], xmm1
LONG $0x4244100f; BYTE $0x20 // movups xmm0, oword [rdx + 2*rax + 32]
LONG $0x424c100f; BYTE $0x30 // movups xmm1, oword [rdx + 2*rax + 48]
LONG $0x4144110f; BYTE $0x20 // movups oword [rcx + 2*rax + 32], xmm0
LONG $0x414c110f; BYTE $0x30 // movups oword [rcx + 2*rax + 48], xmm1
LONG $0x4244100f; BYTE $0x40 // movups xmm0, oword [rdx + 2*rax + 64]
LONG $0x424c100f; BYTE $0x50 // movups xmm1, oword [rdx + 2*rax + 80]
LONG $0x4144110f; BYTE $0x40 // movups oword [rcx + 2*rax + 64], xmm0
LONG $0x414c110f; BYTE $0x50 // movups oword [rcx + 2*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6042 // movupd xmm0, oword [rdx + 2*rax + 96]
LONG $0x4c100f66; WORD $0x7042 // movupd xmm1, oword [rdx + 2*rax + 112]
LONG $0x44110f66; WORD $0x6041 // movupd oword [rcx + 2*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7041 // movupd oword [rcx + 2*rax + 112], xmm1
LONG $0x40c08348 // add rax, 64
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1189
LBB0_1190:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1193
WORD $0x0148; BYTE $0xc0 // add rax, rax
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1192:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1192
LBB0_1193:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1194
LBB0_1198:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1199:
LONG $0x4204100f // movups xmm0, oword [rdx + 2*rax]
LONG $0x424c100f; BYTE $0x10 // movups xmm1, oword [rdx + 2*rax + 16]
LONG $0x4104110f // movups oword [rcx + 2*rax], xmm0
LONG $0x414c110f; BYTE $0x10 // movups oword [rcx + 2*rax + 16], xmm1
LONG $0x4244100f; BYTE $0x20 // movups xmm0, oword [rdx + 2*rax + 32]
LONG $0x424c100f; BYTE $0x30 // movups xmm1, oword [rdx + 2*rax + 48]
LONG $0x4144110f; BYTE $0x20 // movups oword [rcx + 2*rax + 32], xmm0
LONG $0x414c110f; BYTE $0x30 // movups oword [rcx + 2*rax + 48], xmm1
LONG $0x4244100f; BYTE $0x40 // movups xmm0, oword [rdx + 2*rax + 64]
LONG $0x424c100f; BYTE $0x50 // movups xmm1, oword [rdx + 2*rax + 80]
LONG $0x4144110f; BYTE $0x40 // movups oword [rcx + 2*rax + 64], xmm0
LONG $0x414c110f; BYTE $0x50 // movups oword [rcx + 2*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6042 // movupd xmm0, oword [rdx + 2*rax + 96]
LONG $0x4c100f66; WORD $0x7042 // movupd xmm1, oword [rdx + 2*rax + 112]
LONG $0x44110f66; WORD $0x6041 // movupd oword [rcx + 2*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7041 // movupd oword [rcx + 2*rax + 112], xmm1
LONG $0x40c08348 // add rax, 64
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1199
LBB0_1200:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1203
WORD $0x0148; BYTE $0xc0 // add rax, rax
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1202:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1202
LBB0_1203:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1204
LBB0_1208:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1209:
LONG $0x4204100f // movups xmm0, oword [rdx + 2*rax]
LONG $0x424c100f; BYTE $0x10 // movups xmm1, oword [rdx + 2*rax + 16]
LONG $0x4104110f // movups oword [rcx + 2*rax], xmm0
LONG $0x414c110f; BYTE $0x10 // movups oword [rcx + 2*rax + 16], xmm1
LONG $0x4244100f; BYTE $0x20 // movups xmm0, oword [rdx + 2*rax + 32]
LONG $0x424c100f; BYTE $0x30 // movups xmm1, oword [rdx + 2*rax + 48]
LONG $0x4144110f; BYTE $0x20 // movups oword [rcx + 2*rax + 32], xmm0
LONG $0x414c110f; BYTE $0x30 // movups oword [rcx + 2*rax + 48], xmm1
LONG $0x4244100f; BYTE $0x40 // movups xmm0, oword [rdx + 2*rax + 64]
LONG $0x424c100f; BYTE $0x50 // movups xmm1, oword [rdx + 2*rax + 80]
LONG $0x4144110f; BYTE $0x40 // movups oword [rcx + 2*rax + 64], xmm0
LONG $0x414c110f; BYTE $0x50 // movups oword [rcx + 2*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6042 // movupd xmm0, oword [rdx + 2*rax + 96]
LONG $0x4c100f66; WORD $0x7042 // movupd xmm1, oword [rdx + 2*rax + 112]
LONG $0x44110f66; WORD $0x6041 // movupd oword [rcx + 2*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7041 // movupd oword [rcx + 2*rax + 112], xmm1
LONG $0x40c08348 // add rax, 64
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1209
LBB0_1210:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1213
WORD $0x0148; BYTE $0xc0 // add rax, rax
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1212:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1212
LBB0_1213:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1214
LBB0_1218:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1219:
LONG $0x4204100f // movups xmm0, oword [rdx + 2*rax]
LONG $0x424c100f; BYTE $0x10 // movups xmm1, oword [rdx + 2*rax + 16]
LONG $0x4104110f // movups oword [rcx + 2*rax], xmm0
LONG $0x414c110f; BYTE $0x10 // movups oword [rcx + 2*rax + 16], xmm1
LONG $0x4244100f; BYTE $0x20 // movups xmm0, oword [rdx + 2*rax + 32]
LONG $0x424c100f; BYTE $0x30 // movups xmm1, oword [rdx + 2*rax + 48]
LONG $0x4144110f; BYTE $0x20 // movups oword [rcx + 2*rax + 32], xmm0
LONG $0x414c110f; BYTE $0x30 // movups oword [rcx + 2*rax + 48], xmm1
LONG $0x4244100f; BYTE $0x40 // movups xmm0, oword [rdx + 2*rax + 64]
LONG $0x424c100f; BYTE $0x50 // movups xmm1, oword [rdx + 2*rax + 80]
LONG $0x4144110f; BYTE $0x40 // movups oword [rcx + 2*rax + 64], xmm0
LONG $0x414c110f; BYTE $0x50 // movups oword [rcx + 2*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6042 // movupd xmm0, oword [rdx + 2*rax + 96]
LONG $0x4c100f66; WORD $0x7042 // movupd xmm1, oword [rdx + 2*rax + 112]
LONG $0x44110f66; WORD $0x6041 // movupd oword [rcx + 2*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7041 // movupd oword [rcx + 2*rax + 112], xmm1
LONG $0x40c08348 // add rax, 64
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1219
LBB0_1220:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1223
WORD $0x0148; BYTE $0xc0 // add rax, rax
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1222:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1222
LBB0_1223:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1224
LBB0_1228:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1229:
LONG $0x22380f66; WORD $0x0204 // pmovsxbq xmm0, word [rdx + rax]
LONG $0x22380f66; WORD $0x024c; BYTE $0x02 // pmovsxbq xmm1, word [rdx + rax + 2]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x22380f66; WORD $0x0244; BYTE $0x04 // pmovsxbq xmm0, word [rdx + rax + 4]
LONG $0x22380f66; WORD $0x024c; BYTE $0x06 // pmovsxbq xmm1, word [rdx + rax + 6]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x22380f66; WORD $0x0244; BYTE $0x08 // pmovsxbq xmm0, word [rdx + rax + 8]
LONG $0x22380f66; WORD $0x024c; BYTE $0x0a // pmovsxbq xmm1, word [rdx + rax + 10]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x22380f66; WORD $0x0244; BYTE $0x0c // pmovsxbq xmm0, word [rdx + rax + 12]
LONG $0x22380f66; WORD $0x024c; BYTE $0x0e // pmovsxbq xmm1, word [rdx + rax + 14]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1229
LBB0_1230:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1233
LONG $0xc13c8d48 // lea rdi, [rcx + 8*rax]
LONG $0x10c78348 // add rdi, 16
LONG $0x10148d4c // lea r10, [rax + rdx]
LONG $0x02c28349 // add r10, 2
WORD $0xc031 // xor eax, eax
LBB0_1232:
QUAD $0xfe824422380f4166 // pmovsxbq xmm0, word [r10 + 4*rax - 2]
LONG $0x380f4166; WORD $0x0c22; BYTE $0x82 // pmovsxbq xmm1, word [r10 + 4*rax]
LONG $0x477f0ff3; BYTE $0xf0 // movdqu oword [rdi - 16], xmm0
LONG $0x0f7f0ff3 // movdqu oword [rdi], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x01c08348 // add rax, 1
WORD $0x3949; BYTE $0xc0 // cmp r8, rax
JNE LBB0_1232
LBB0_1233:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1234
LBB0_1238:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1239:
LONG $0xc204100f // movups xmm0, oword [rdx + 8*rax]
LONG $0xc24c100f; BYTE $0x10 // movups xmm1, oword [rdx + 8*rax + 16]
LONG $0xc104110f // movups oword [rcx + 8*rax], xmm0
LONG $0xc14c110f; BYTE $0x10 // movups oword [rcx + 8*rax + 16], xmm1
LONG $0xc244100f; BYTE $0x20 // movups xmm0, oword [rdx + 8*rax + 32]
LONG $0xc24c100f; BYTE $0x30 // movups xmm1, oword [rdx + 8*rax + 48]
LONG $0xc144110f; BYTE $0x20 // movups oword [rcx + 8*rax + 32], xmm0
LONG $0xc14c110f; BYTE $0x30 // movups oword [rcx + 8*rax + 48], xmm1
LONG $0xc244100f; BYTE $0x40 // movups xmm0, oword [rdx + 8*rax + 64]
LONG $0xc24c100f; BYTE $0x50 // movups xmm1, oword [rdx + 8*rax + 80]
LONG $0xc144110f; BYTE $0x40 // movups oword [rcx + 8*rax + 64], xmm0
LONG $0xc14c110f; BYTE $0x50 // movups oword [rcx + 8*rax + 80], xmm1
LONG $0x44100f66; WORD $0x60c2 // movupd xmm0, oword [rdx + 8*rax + 96]
LONG $0x4c100f66; WORD $0x70c2 // movupd xmm1, oword [rdx + 8*rax + 112]
LONG $0x44110f66; WORD $0x60c1 // movupd oword [rcx + 8*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x70c1 // movupd oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1239
LBB0_1240:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1243
QUAD $0x00000010c5048d48 // lea rax, [8*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1242:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1242
LBB0_1243:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1244
LBB0_1248:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1249:
LONG $0xc204100f // movups xmm0, oword [rdx + 8*rax]
LONG $0xc24c100f; BYTE $0x10 // movups xmm1, oword [rdx + 8*rax + 16]
LONG $0xc104110f // movups oword [rcx + 8*rax], xmm0
LONG $0xc14c110f; BYTE $0x10 // movups oword [rcx + 8*rax + 16], xmm1
LONG $0xc244100f; BYTE $0x20 // movups xmm0, oword [rdx + 8*rax + 32]
LONG $0xc24c100f; BYTE $0x30 // movups xmm1, oword [rdx + 8*rax + 48]
LONG $0xc144110f; BYTE $0x20 // movups oword [rcx + 8*rax + 32], xmm0
LONG $0xc14c110f; BYTE $0x30 // movups oword [rcx + 8*rax + 48], xmm1
LONG $0xc244100f; BYTE $0x40 // movups xmm0, oword [rdx + 8*rax + 64]
LONG $0xc24c100f; BYTE $0x50 // movups xmm1, oword [rdx + 8*rax + 80]
LONG $0xc144110f; BYTE $0x40 // movups oword [rcx + 8*rax + 64], xmm0
LONG $0xc14c110f; BYTE $0x50 // movups oword [rcx + 8*rax + 80], xmm1
LONG $0x44100f66; WORD $0x60c2 // movupd xmm0, oword [rdx + 8*rax + 96]
LONG $0x4c100f66; WORD $0x70c2 // movupd xmm1, oword [rdx + 8*rax + 112]
LONG $0x44110f66; WORD $0x60c1 // movupd oword [rcx + 8*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x70c1 // movupd oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1249
LBB0_1250:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1253
QUAD $0x00000010c5048d48 // lea rax, [8*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1252:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1252
LBB0_1253:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1254
LBB0_1258:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1259:
LONG $0x8204100f // movups xmm0, oword [rdx + 4*rax]
LONG $0x824c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rax + 16]
LONG $0x8104110f // movups oword [rcx + 4*rax], xmm0
LONG $0x814c110f; BYTE $0x10 // movups oword [rcx + 4*rax + 16], xmm1
LONG $0x8244100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rax + 32]
LONG $0x824c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rax + 48]
LONG $0x8144110f; BYTE $0x20 // movups oword [rcx + 4*rax + 32], xmm0
LONG $0x814c110f; BYTE $0x30 // movups oword [rcx + 4*rax + 48], xmm1
LONG $0x8244100f; BYTE $0x40 // movups xmm0, oword [rdx + 4*rax + 64]
LONG $0x824c100f; BYTE $0x50 // movups xmm1, oword [rdx + 4*rax + 80]
LONG $0x8144110f; BYTE $0x40 // movups oword [rcx + 4*rax + 64], xmm0
LONG $0x814c110f; BYTE $0x50 // movups oword [rcx + 4*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6082 // movupd xmm0, oword [rdx + 4*rax + 96]
LONG $0x4c100f66; WORD $0x7082 // movupd xmm1, oword [rdx + 4*rax + 112]
LONG $0x44110f66; WORD $0x6081 // movupd oword [rcx + 4*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7081 // movupd oword [rcx + 4*rax + 112], xmm1
LONG $0x20c08348 // add rax, 32
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1259
LBB0_1260:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1263
QUAD $0x0000001085048d48 // lea rax, [4*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1262:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1262
LBB0_1263:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1264
LBB0_1268:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1269:
LONG $0x32380f66; WORD $0x0204 // pmovzxbq xmm0, word [rdx + rax]
LONG $0x32380f66; WORD $0x024c; BYTE $0x02 // pmovzxbq xmm1, word [rdx + rax + 2]
LONG $0x047f0ff3; BYTE $0xc1 // movdqu oword [rcx + 8*rax], xmm0
LONG $0x4c7f0ff3; WORD $0x10c1 // movdqu oword [rcx + 8*rax + 16], xmm1
LONG $0x32380f66; WORD $0x0244; BYTE $0x04 // pmovzxbq xmm0, word [rdx + rax + 4]
LONG $0x32380f66; WORD $0x024c; BYTE $0x06 // pmovzxbq xmm1, word [rdx + rax + 6]
LONG $0x447f0ff3; WORD $0x20c1 // movdqu oword [rcx + 8*rax + 32], xmm0
LONG $0x4c7f0ff3; WORD $0x30c1 // movdqu oword [rcx + 8*rax + 48], xmm1
LONG $0x32380f66; WORD $0x0244; BYTE $0x08 // pmovzxbq xmm0, word [rdx + rax + 8]
LONG $0x32380f66; WORD $0x024c; BYTE $0x0a // pmovzxbq xmm1, word [rdx + rax + 10]
LONG $0x447f0ff3; WORD $0x40c1 // movdqu oword [rcx + 8*rax + 64], xmm0
LONG $0x4c7f0ff3; WORD $0x50c1 // movdqu oword [rcx + 8*rax + 80], xmm1
LONG $0x32380f66; WORD $0x0244; BYTE $0x0c // pmovzxbq xmm0, word [rdx + rax + 12]
LONG $0x32380f66; WORD $0x024c; BYTE $0x0e // pmovzxbq xmm1, word [rdx + rax + 14]
LONG $0x447f0ff3; WORD $0x60c1 // movdqu oword [rcx + 8*rax + 96], xmm0
LONG $0x4c7f0ff3; WORD $0x70c1 // movdqu oword [rcx + 8*rax + 112], xmm1
LONG $0x10c08348 // add rax, 16
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1269
LBB0_1270:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1273
LONG $0xc13c8d48 // lea rdi, [rcx + 8*rax]
LONG $0x10c78348 // add rdi, 16
LONG $0x10148d4c // lea r10, [rax + rdx]
LONG $0x02c28349 // add r10, 2
WORD $0xc031 // xor eax, eax
LBB0_1272:
QUAD $0xfe824432380f4166 // pmovzxbq xmm0, word [r10 + 4*rax - 2]
LONG $0x380f4166; WORD $0x0c32; BYTE $0x82 // pmovzxbq xmm1, word [r10 + 4*rax]
LONG $0x477f0ff3; BYTE $0xf0 // movdqu oword [rdi - 16], xmm0
LONG $0x0f7f0ff3 // movdqu oword [rdi], xmm1
LONG $0x20c78348 // add rdi, 32
LONG $0x01c08348 // add rax, 1
WORD $0x3949; BYTE $0xc0 // cmp r8, rax
JNE LBB0_1272
LBB0_1273:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1274
LBB0_1278:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1279:
LONG $0x0204100f // movups xmm0, oword [rdx + rax]
LONG $0x024c100f; BYTE $0x10 // movups xmm1, oword [rdx + rax + 16]
LONG $0x0104110f // movups oword [rcx + rax], xmm0
LONG $0x014c110f; BYTE $0x10 // movups oword [rcx + rax + 16], xmm1
LONG $0x0244100f; BYTE $0x20 // movups xmm0, oword [rdx + rax + 32]
LONG $0x024c100f; BYTE $0x30 // movups xmm1, oword [rdx + rax + 48]
LONG $0x0144110f; BYTE $0x20 // movups oword [rcx + rax + 32], xmm0
LONG $0x014c110f; BYTE $0x30 // movups oword [rcx + rax + 48], xmm1
LONG $0x0244100f; BYTE $0x40 // movups xmm0, oword [rdx + rax + 64]
LONG $0x024c100f; BYTE $0x50 // movups xmm1, oword [rdx + rax + 80]
LONG $0x0144110f; BYTE $0x40 // movups oword [rcx + rax + 64], xmm0
LONG $0x014c110f; BYTE $0x50 // movups oword [rcx + rax + 80], xmm1
LONG $0x44100f66; WORD $0x6002 // movupd xmm0, oword [rdx + rax + 96]
LONG $0x4c100f66; WORD $0x7002 // movupd xmm1, oword [rdx + rax + 112]
LONG $0x44110f66; WORD $0x6001 // movupd oword [rcx + rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7001 // movupd oword [rcx + rax + 112], xmm1
LONG $0x80e88348 // sub rax, -128
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1279
LBB0_1280:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1283
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1282:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1282
LBB0_1283:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1284
LBB0_1288:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1289:
LONG $0x0204100f // movups xmm0, oword [rdx + rax]
LONG $0x024c100f; BYTE $0x10 // movups xmm1, oword [rdx + rax + 16]
LONG $0x0104110f // movups oword [rcx + rax], xmm0
LONG $0x014c110f; BYTE $0x10 // movups oword [rcx + rax + 16], xmm1
LONG $0x0244100f; BYTE $0x20 // movups xmm0, oword [rdx + rax + 32]
LONG $0x024c100f; BYTE $0x30 // movups xmm1, oword [rdx + rax + 48]
LONG $0x0144110f; BYTE $0x20 // movups oword [rcx + rax + 32], xmm0
LONG $0x014c110f; BYTE $0x30 // movups oword [rcx + rax + 48], xmm1
LONG $0x0244100f; BYTE $0x40 // movups xmm0, oword [rdx + rax + 64]
LONG $0x024c100f; BYTE $0x50 // movups xmm1, oword [rdx + rax + 80]
LONG $0x0144110f; BYTE $0x40 // movups oword [rcx + rax + 64], xmm0
LONG $0x014c110f; BYTE $0x50 // movups oword [rcx + rax + 80], xmm1
LONG $0x44100f66; WORD $0x6002 // movupd xmm0, oword [rdx + rax + 96]
LONG $0x4c100f66; WORD $0x7002 // movupd xmm1, oword [rdx + rax + 112]
LONG $0x44110f66; WORD $0x6001 // movupd oword [rcx + rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7001 // movupd oword [rcx + rax + 112], xmm1
LONG $0x80e88348 // sub rax, -128
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1289
LBB0_1290:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1293
LONG $0x10c08348 // add rax, 16
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1292:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1292
LBB0_1293:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1294
LBB0_1298:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1299:
LONG $0x8204100f // movups xmm0, oword [rdx + 4*rax]
LONG $0x824c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rax + 16]
LONG $0x8104110f // movups oword [rcx + 4*rax], xmm0
LONG $0x814c110f; BYTE $0x10 // movups oword [rcx + 4*rax + 16], xmm1
LONG $0x8244100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rax + 32]
LONG $0x824c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rax + 48]
LONG $0x8144110f; BYTE $0x20 // movups oword [rcx + 4*rax + 32], xmm0
LONG $0x814c110f; BYTE $0x30 // movups oword [rcx + 4*rax + 48], xmm1
LONG $0x8244100f; BYTE $0x40 // movups xmm0, oword [rdx + 4*rax + 64]
LONG $0x824c100f; BYTE $0x50 // movups xmm1, oword [rdx + 4*rax + 80]
LONG $0x8144110f; BYTE $0x40 // movups oword [rcx + 4*rax + 64], xmm0
LONG $0x814c110f; BYTE $0x50 // movups oword [rcx + 4*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6082 // movupd xmm0, oword [rdx + 4*rax + 96]
LONG $0x4c100f66; WORD $0x7082 // movupd xmm1, oword [rdx + 4*rax + 112]
LONG $0x44110f66; WORD $0x6081 // movupd oword [rcx + 4*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7081 // movupd oword [rcx + 4*rax + 112], xmm1
LONG $0x20c08348 // add rax, 32
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1299
LBB0_1300:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1303
QUAD $0x0000001085048d48 // lea rax, [4*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1302:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1302
LBB0_1303:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1304
LBB0_1308:
LONG $0xfce78348 // and rdi, -4
WORD $0xf748; BYTE $0xdf // neg rdi
WORD $0xc031 // xor eax, eax
LBB0_1309:
LONG $0x8204100f // movups xmm0, oword [rdx + 4*rax]
LONG $0x824c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rax + 16]
LONG $0x8104110f // movups oword [rcx + 4*rax], xmm0
LONG $0x814c110f; BYTE $0x10 // movups oword [rcx + 4*rax + 16], xmm1
LONG $0x8244100f; BYTE $0x20 // movups xmm0, oword [rdx + 4*rax + 32]
LONG $0x824c100f; BYTE $0x30 // movups xmm1, oword [rdx + 4*rax + 48]
LONG $0x8144110f; BYTE $0x20 // movups oword [rcx + 4*rax + 32], xmm0
LONG $0x814c110f; BYTE $0x30 // movups oword [rcx + 4*rax + 48], xmm1
LONG $0x8244100f; BYTE $0x40 // movups xmm0, oword [rdx + 4*rax + 64]
LONG $0x824c100f; BYTE $0x50 // movups xmm1, oword [rdx + 4*rax + 80]
LONG $0x8144110f; BYTE $0x40 // movups oword [rcx + 4*rax + 64], xmm0
LONG $0x814c110f; BYTE $0x50 // movups oword [rcx + 4*rax + 80], xmm1
LONG $0x44100f66; WORD $0x6082 // movupd xmm0, oword [rdx + 4*rax + 96]
LONG $0x4c100f66; WORD $0x7082 // movupd xmm1, oword [rdx + 4*rax + 112]
LONG $0x44110f66; WORD $0x6081 // movupd oword [rcx + 4*rax + 96], xmm0
LONG $0x4c110f66; WORD $0x7081 // movupd oword [rcx + 4*rax + 112], xmm1
LONG $0x20c08348 // add rax, 32
LONG $0x04c78348 // add rdi, 4
JNE LBB0_1309
LBB0_1310:
WORD $0x854d; BYTE $0xc0 // test r8, r8
JE LBB0_1313
QUAD $0x0000001085048d48 // lea rax, [4*rax + 16]
WORD $0xf749; BYTE $0xd8 // neg r8
LBB0_1312:
LONG $0x44100f66; WORD $0xf002 // movupd xmm0, oword [rdx + rax - 16]
LONG $0x0c100f66; BYTE $0x02 // movupd xmm1, oword [rdx + rax]
LONG $0x44110f66; WORD $0xf001 // movupd oword [rcx + rax - 16], xmm0
LONG $0x0c110f66; BYTE $0x01 // movupd oword [rcx + rax], xmm1
LONG $0x20c08348 // add rax, 32
WORD $0xff49; BYTE $0xc0 // inc r8
JNE LBB0_1312
LBB0_1313:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1314
LBB0_1318:
WORD $0xff31 // xor edi, edi
LBB0_1319:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1321
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x556f0f66; BYTE $0x40 // movdqa xmm2, oword 64[rbp] /* [rip + .LCPI0_5] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x153a0f66; WORD $0x3904; BYTE $0x00 // pextrw word [rcx + rdi], xmm0, 0
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
QUAD $0x0002394c153a0f66 // pextrw word [rcx + rdi + 2], xmm1, 0
LBB0_1321:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1322
LBB0_1326:
WORD $0xff31 // xor edi, edi
LBB0_1327:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1329
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
QUAD $0x00000100956f0f66 // movdqa xmm2, oword 256[rbp] /* [rip + .LCPI0_17] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm0
LBB0_1329:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1330
LBB0_1334:
WORD $0xff31 // xor edi, edi
LBB0_1335:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1337
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x556f0f66; BYTE $0x40 // movdqa xmm2, oword 64[rbp] /* [rip + .LCPI0_5] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x153a0f66; WORD $0x3904; BYTE $0x00 // pextrw word [rcx + rdi], xmm0, 0
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
QUAD $0x0002394c153a0f66 // pextrw word [rcx + rdi + 2], xmm1, 0
LBB0_1337:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1338
LBB0_1342:
WORD $0xff31 // xor edi, edi
LBB0_1343:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1345
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
QUAD $0x000000c0956f0f66 // movdqa xmm2, oword 192[rbp] /* [rip + .LCPI0_13] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0x047e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm1
LBB0_1345:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1346
LBB0_1350:
WORD $0xff31 // xor edi, edi
LBB0_1351:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1353
LONG $0x20380f66; WORD $0x3a04 // pmovsxbw xmm0, qword [rdx + rdi]
LONG $0x20380f66; WORD $0x3a4c; BYTE $0x08 // pmovsxbw xmm1, qword [rdx + rdi + 8]
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LBB0_1353:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1354
LBB0_1358:
WORD $0xff31 // xor edi, edi
LBB0_1359:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1361
LONG $0x20380f66; WORD $0x3a04 // pmovsxbw xmm0, qword [rdx + rdi]
LONG $0x20380f66; WORD $0x3a4c; BYTE $0x08 // pmovsxbw xmm1, qword [rdx + rdi + 8]
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LBB0_1361:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1362
LBB0_1366:
WORD $0xff31 // xor edi, edi
LBB0_1367:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1369
LONG $0x30380f66; WORD $0x3a04 // pmovzxbw xmm0, qword [rdx + rdi]
LONG $0x30380f66; WORD $0x3a4c; BYTE $0x08 // pmovzxbw xmm1, qword [rdx + rdi + 8]
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LBB0_1369:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1370
LBB0_1374:
WORD $0xff31 // xor edi, edi
LBB0_1375:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1377
LONG $0x30380f66; WORD $0x3a04 // pmovzxbw xmm0, qword [rdx + rdi]
LONG $0x30380f66; WORD $0x3a4c; BYTE $0x08 // pmovzxbw xmm1, qword [rdx + rdi + 8]
LONG $0x047f0ff3; BYTE $0x79 // movdqu oword [rcx + 2*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x1079 // movdqu oword [rcx + 2*rdi + 16], xmm1
LBB0_1377:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1378
LBB0_1382:
WORD $0xff31 // xor edi, edi
LBB0_1383:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1385
LONG $0x21380f66; WORD $0x3a04 // pmovsxbd xmm0, dword [rdx + rdi]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x04 // pmovsxbd xmm1, dword [rdx + rdi + 4]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LBB0_1385:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1386
LBB0_1390:
WORD $0xff31 // xor edi, edi
LBB0_1391:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1393
LONG $0x31380f66; WORD $0x3a04 // pmovzxbd xmm0, dword [rdx + rdi]
LONG $0x31380f66; WORD $0x3a4c; BYTE $0x04 // pmovzxbd xmm1, dword [rdx + rdi + 4]
WORD $0x5b0f; BYTE $0xc0 // cvtdq2ps xmm0, xmm0
WORD $0x5b0f; BYTE $0xc9 // cvtdq2ps xmm1, xmm1
LONG $0xb904110f // movups oword [rcx + 4*rdi], xmm0
LONG $0xb94c110f; BYTE $0x10 // movups oword [rcx + 4*rdi + 16], xmm1
LBB0_1393:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1394
LBB0_1398:
WORD $0xff31 // xor edi, edi
LBB0_1399:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1401
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
QUAD $0x000000c0956f0f66 // movdqa xmm2, oword 192[rbp] /* [rip + .LCPI0_13] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0x047e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm1
LBB0_1401:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1402
LBB0_1406:
WORD $0xff31 // xor edi, edi
LBB0_1407:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1409
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x556f0f66; BYTE $0x10 // movdqa xmm2, oword 16[rbp] /* [rip + .LCPI0_1] */
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x153a0f66; WORD $0x3904; BYTE $0x00 // pextrw word [rcx + rdi], xmm0, 0
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
QUAD $0x0002394c153a0f66 // pextrw word [rcx + rdi + 2], xmm1, 0
LBB0_1409:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1410
LBB0_1414:
WORD $0xff31 // xor edi, edi
LBB0_1415:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1417
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x556f0f66; BYTE $0x40 // movdqa xmm2, oword 64[rbp] /* [rip + .LCPI0_5] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x153a0f66; WORD $0x3904; BYTE $0x00 // pextrw word [rcx + rdi], xmm0, 0
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
QUAD $0x0002394c153a0f66 // pextrw word [rcx + rdi + 2], xmm1, 0
LBB0_1417:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1418
LBB0_1422:
WORD $0xff31 // xor edi, edi
LBB0_1423:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1425
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
QUAD $0x00000100956f0f66 // movdqa xmm2, oword 256[rbp] /* [rip + .LCPI0_17] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm0
LBB0_1425:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1426
LBB0_1430:
WORD $0xff31 // xor edi, edi
LBB0_1431:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1433
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
QUAD $0x00000100956f0f66 // movdqa xmm2, oword 256[rbp] /* [rip + .LCPI0_17] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm0
LBB0_1433:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1434
LBB0_1438:
WORD $0xff31 // xor edi, edi
LBB0_1439:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1441
LONG $0x046f0ff3; BYTE $0xfa // movdqu xmm0, oword [rdx + 8*rdi]
LONG $0x4c6f0ff3; WORD $0x10fa // movdqu xmm1, oword [rdx + 8*rdi + 16]
LONG $0x556f0f66; BYTE $0x40 // movdqa xmm2, oword 64[rbp] /* [rip + .LCPI0_5] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x153a0f66; WORD $0x3904; BYTE $0x00 // pextrw word [rcx + rdi], xmm0, 0
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
QUAD $0x0002394c153a0f66 // pextrw word [rcx + rdi + 2], xmm1, 0
LBB0_1441:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1442
LBB0_1446:
WORD $0xff31 // xor edi, edi
LBB0_1447:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1449
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0x2b380f66; BYTE $0xc0 // packusdw xmm0, xmm0
LONG $0xc0670f66 // packuswb xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0x2b380f66; BYTE $0xc9 // packusdw xmm1, xmm1
LONG $0xc9670f66 // packuswb xmm1, xmm1
LONG $0x047e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm1
LBB0_1449:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1450
LBB0_1454:
WORD $0xff31 // xor edi, edi
LBB0_1455:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1457
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
QUAD $0x000000c0956f0f66 // movdqa xmm2, oword 192[rbp] /* [rip + .LCPI0_13] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0x047e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm1
LBB0_1457:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1458
LBB0_1462:
WORD $0xff31 // xor edi, edi
LBB0_1463:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1465
LONG $0x21380f66; WORD $0x3a04 // pmovsxbd xmm0, dword [rdx + rdi]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x04 // pmovsxbd xmm1, dword [rdx + rdi + 4]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LBB0_1465:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1466
LBB0_1470:
WORD $0xff31 // xor edi, edi
LBB0_1471:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1473
LONG $0x31380f66; WORD $0x3a04 // pmovzxbd xmm0, dword [rdx + rdi]
LONG $0x31380f66; WORD $0x3a4c; BYTE $0x04 // pmovzxbd xmm1, dword [rdx + rdi + 4]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LBB0_1473:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1474
LBB0_1478:
WORD $0xff31 // xor edi, edi
LBB0_1479:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1481
LONG $0x21380f66; WORD $0x3a04 // pmovsxbd xmm0, dword [rdx + rdi]
LONG $0x21380f66; WORD $0x3a4c; BYTE $0x04 // pmovsxbd xmm1, dword [rdx + rdi + 4]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LBB0_1481:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1482
LBB0_1486:
WORD $0xff31 // xor edi, edi
LBB0_1487:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1489
LONG $0x31380f66; WORD $0x3a04 // pmovzxbd xmm0, dword [rdx + rdi]
LONG $0x31380f66; WORD $0x3a4c; BYTE $0x04 // pmovzxbd xmm1, dword [rdx + rdi + 4]
LONG $0x047f0ff3; BYTE $0xb9 // movdqu oword [rcx + 4*rdi], xmm0
LONG $0x4c7f0ff3; WORD $0x10b9 // movdqu oword [rcx + 4*rdi + 16], xmm1
LBB0_1489:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1490
LBB0_1494:
WORD $0xff31 // xor edi, edi
LBB0_1495:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1497
LONG $0x046f0ff3; BYTE $0xba // movdqu xmm0, oword [rdx + 4*rdi]
LONG $0x4c6f0ff3; WORD $0x10ba // movdqu xmm1, oword [rdx + 4*rdi + 16]
QUAD $0x000000c0956f0f66 // movdqa xmm2, oword 192[rbp] /* [rip + .LCPI0_13] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0x047e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm1
LBB0_1497:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1498
LBB0_1502:
WORD $0xff31 // xor edi, edi
LBB0_1503:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1505
LONG $0x04100f66; BYTE $0xfa // movupd xmm0, oword [rdx + 8*rdi]
LONG $0xc0e60f66 // cvttpd2dq xmm0, xmm0
LONG $0x4c100f66; WORD $0x10fa // movupd xmm1, oword [rdx + 8*rdi + 16]
LONG $0x556f0f66; BYTE $0x10 // movdqa xmm2, oword 16[rbp] /* [rip + .LCPI0_1] */
LONG $0xc9e60f66 // cvttpd2dq xmm1, xmm1
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x153a0f66; WORD $0x3904; BYTE $0x00 // pextrw word [rcx + rdi], xmm0, 0
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
QUAD $0x0002394c153a0f66 // pextrw word [rcx + rdi + 2], xmm1, 0
LBB0_1505:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1506
LBB0_1510:
WORD $0xff31 // xor edi, edi
LBB0_1511:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1513
LONG $0x046f0ff3; BYTE $0x7a // movdqu xmm0, oword [rdx + 2*rdi]
LONG $0x4c6f0ff3; WORD $0x107a // movdqu xmm1, oword [rdx + 2*rdi + 16]
QUAD $0x00000100956f0f66 // movdqa xmm2, oword 256[rbp] /* [rip + .LCPI0_17] */
LONG $0x00380f66; BYTE $0xc2 // pshufb xmm0, xmm2
LONG $0x00380f66; BYTE $0xca // pshufb xmm1, xmm2
LONG $0xc16c0f66 // punpcklqdq xmm0, xmm1
LONG $0x047f0ff3; BYTE $0x39 // movdqu oword [rcx + rdi], xmm0
LBB0_1513:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1514
LBB0_1518:
WORD $0xff31 // xor edi, edi
LBB0_1519:
LONG $0x01c0f641 // test r8b, 1
JE LBB0_1521
LONG $0xba04100f // movups xmm0, oword [rdx + 4*rdi]
LONG $0xba4c100f; BYTE $0x10 // movups xmm1, oword [rdx + 4*rdi + 16]
LONG $0xc05b0ff3 // cvttps2dq xmm0, xmm0
LONG $0xc06b0f66 // packssdw xmm0, xmm0
LONG $0xc0630f66 // packsswb xmm0, xmm0
LONG $0xc95b0ff3 // cvttps2dq xmm1, xmm1
LONG $0xc96b0f66 // packssdw xmm1, xmm1
LONG $0xc9630f66 // packsswb xmm1, xmm1
LONG $0x047e0f66; BYTE $0x39 // movd dword [rcx + rdi], xmm0
LONG $0x4c7e0f66; WORD $0x0439 // movd dword [rcx + rdi + 4], xmm1
LBB0_1521:
WORD $0x394c; BYTE $0xce // cmp rsi, r9
JE LBB0_1526
JMP LBB0_1522