Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* WARNING: Could not reconcile some variable overlaps */
- ulong bitstream_6(undefined *param_1,undefined *param_2,int param_3,int *param_4,int *param_5,
- ulong *param_6,GetBitContext *gb,long param_8)
- {
- undefined4 uVar1;
- float fVar2;
- byte bVar3;
- byte bVar4;
- undefined auVar5 [16];
- undefined auVar6 [16];
- undefined auVar7 [16];
- int iVar8;
- ulong uVar9;
- long lVar10;
- uint uVar11;
- ulong uVar12;
- ulong uVar13;
- byte *pbVar14;
- ulong idx;
- long lVar15;
- ulong idx2;
- ac_item *paVar16;
- ulong uVar17;
- int iVar18;
- ulong uVar19;
- undefined auVar20 [32];
- undefined auVar21 [16];
- undefined auVar22 [32];
- undefined auVar23 [32];
- undefined auVar24 [32];
- undefined auVar25 [32];
- undefined auVar26 [32];
- undefined auVar27 [32];
- undefined auVar28 [32];
- undefined auVar29 [32];
- undefined auVar30 [32];
- undefined auVar31 [32];
- undefined auVar32 [32];
- float local_160 [64];
- /* WARNING: Load size is inaccurate */
- auVar20 = vmovaps_avx(*(undefined *)(param_8 + 0x4c0));
- uVar17 = *param_6;
- idx = param_6[1];
- uVar12 = idx ^ uVar17;
- uVar9 = (uVar17 << 0x37 | uVar17 >> 9) ^ uVar12;
- idx2 = uVar12 << 0xe ^ uVar9;
- uVar12 = uVar12 << 0x24 | uVar12 >> 0x1c;
- uVar13 = uVar12 ^ idx2;
- *param_6 = uVar13 << 0xe ^ (idx2 >> 9 | uVar9 << 0x37) ^ uVar13;
- param_6[1] = uVar13 << 0x24 | uVar13 >> 0x1c;
- auVar5 = vmovq_avx(uVar12 + idx2);
- auVar6 = vmovq_avx(idx + uVar17);
- auVar7 = vpunpcklqdq_avx(auVar6,auVar5);
- auVar5 = vpand_avx(auVar7,(undefined [16])0x3f3f3f3f3f3f3f3f);
- auVar6 = vpcmpgtb_avx(auVar5,(undefined [16])0x3939393939393939);
- auVar6 = vpand_avx(auVar6,(undefined [16])0x3939393939393939);
- auVar6 = vpsubusb_avx(auVar5,auVar6);
- auVar5 = vpcmpgtb_avx(auVar6,(undefined [16])0x2d2d2d2d2d2d2d2d);
- auVar5 = vpand_avx(auVar5,(undefined [16])0x2d2d2d2d2d2d2d2d);
- auVar6 = vpsubusb_avx(auVar6,auVar5);
- auVar5 = vpcmpgtb_avx(auVar6,(undefined [16])0x1a1a1a1a1a1a1a1a);
- auVar5 = vpand_avx(auVar5,(undefined [16])0x1b1b1b1b1b1b1b1b);
- auVar5 = vpsubusb_avx(auVar6,auVar5);
- auVar5 = vpsignb_avx(auVar5,auVar7);
- if ((false) || (false)) {
- auVar22 = ZEXT1632(auVar5);
- }
- else {
- auVar22 = CONCAT1616(auVar5,auVar5);
- }
- auVar5 = vpinsrb_avx(auVar5,0,0);
- auVar22 = vpblendd_avx2(auVar22,ZEXT1632(auVar5),0xf);
- auVar21 = SUB3216(auVar22,0);
- auVar5 = vpshufb_avx(auVar21,(undefined [16])0x90000000100);
- auVar6 = vpshufb_avx(auVar21,(undefined [16])0xd0c00000504);
- auVar7 = vpshufb_avx(auVar21,(undefined [16])0xb0a00000302);
- auVar21 = vpshufb_avx(auVar21,(undefined [16])0xe00000006);
- auVar22 = vpmovzxbd_avx2(auVar5);
- auVar22 = vpslld_avx2(auVar22,0x18);
- auVar22 = vpsrad_avx2(auVar22,0x18);
- auVar22 = vcvtdq2ps_avx(auVar22);
- auVar22 = vmulps_avx(auVar20,auVar22);
- auVar22 = vmovaps_avx(auVar22);
- auVar23 = vpmovzxbd_avx2(auVar6);
- auVar23 = vpslld_avx2(auVar23,0x18);
- auVar23 = vpsrad_avx2(auVar23,0x18);
- auVar23 = vcvtdq2ps_avx(auVar23);
- auVar23 = vmulps_avx(auVar20,auVar23);
- local_160._32_32_ = vmovaps_avx(auVar23);
- auVar23 = vpmovzxbd_avx2(auVar7);
- auVar23 = vpslld_avx2(auVar23,0x18);
- auVar23 = vpsrad_avx2(auVar23,0x18);
- auVar23 = vcvtdq2ps_avx(auVar23);
- auVar23 = vmulps_avx(auVar20,auVar23);
- local_160._64_32_ = vmovaps_avx(auVar23);
- auVar23 = vpmovzxbd_avx2(auVar21);
- auVar23 = vpslld_avx2(auVar23,0x18);
- auVar23 = vpsrad_avx2(auVar23,0x18);
- auVar23 = vcvtdq2ps_avx(auVar23);
- auVar20 = vmulps_avx(auVar20,auVar23);
- local_160._96_32_ = vmovaps_avx(auVar20);
- auVar20 = vxorps_avx(auVar20,auVar20);
- local_160._224_32_ = vmovaps_avx(auVar20);
- local_160._192_32_ = vmovaps_avx(auVar20);
- local_160._160_32_ = vmovaps_avx(auVar20);
- local_160._128_32_ = vmovaps_avx(auVar20);
- iVar8 = gb->bitcache_size;
- uVar17 = gb->bitcache;
- iVar18 = iVar8;
- if (iVar8 < 0x20) {
- idx = gb->cur_bit_pos;
- uVar11 = (uint)idx & 7;
- iVar18 = 0x40 - uVar11;
- uVar9 = *(ulong *)(gb->bitstream_start + (idx >> 3));
- uVar17 = uVar17 | ((uVar9 >> 0x38 | (uVar9 & 0xff000000000000) >> 0x28 |
- (uVar9 & 0xff0000000000) >> 0x18 | (uVar9 & 0xff00000000) >> 8 |
- (uVar9 & 0xff000000) << 8 | (uVar9 & 0xff0000) << 0x18 |
- (uVar9 & 0xff00) << 0x28 | uVar9 << 0x38) << (sbyte)uVar11) >>
- ((byte)iVar8 & 0x3f);
- gb->cur_bit_pos = (long)(iVar18 - iVar8) + idx;
- gb->bitcache = uVar17;
- gb->bitcache_size = iVar18;
- }
- pbVar14 = codelen_table0 + (uVar17 >> 0x38) * 4;
- if (codelen_table0[(uVar17 >> 0x38) * 4 + 3] == 0) {
- pbVar14 = codelen_table0 +
- (ulong)((uint)(uVar17 >> 0x2e) & 0x3fc) + (long)(char)*pbVar14 * 0x400;
- }
- idx = 0;
- iVar18 = iVar18 - (uint)pbVar14[3];
- if (iVar18 < 0) {
- iVar18 = 0;
- }
- uVar17 = uVar17 << (pbVar14[3] & 0x3f);
- gb->bitcache = uVar17;
- gb->bitcache_size = iVar18;
- uVar9 = gb->cur_bit_pos;
- uVar12 = gb->bits_end;
- uVar13 = 0;
- if (uVar9 - (long)iVar18 <= uVar12) {
- bVar3 = pbVar14[1];
- bVar4 = *pbVar14;
- auVar5 = vmovq_avx(0x40 - (long)(int)(char)bVar4);
- auVar6 = vmovq_avx(uVar17);
- auVar6 = vpbroadcastq_avx2(auVar6);
- auVar5 = vpsrlq_avx(auVar6,auVar5);
- uVar11 = vmovd_avx(auVar5);
- uVar17 = uVar17 << (bVar4 & 0x3f);
- gb->bitcache = uVar17;
- gb->bitcache_size = iVar18 - (int)(char)bVar4;
- iVar8 = (int)dc_table[(ulong)(uVar11 >> (bVar3 & 0x1f)) * 0x10 + (ulong)(pbVar14[2] >> 4)] +
- (bit_masks[bVar3] & uVar11) + *param_4;
- auVar5 = vcvtsi2ss_avx(auVar5,iVar8);
- auVar5 = vmulss_avx(auVar5,ZEXT416(*(uint *)(param_8 + 0x200)));
- auVar20 = ZEXT1632(auVar5);
- uVar1 = vmovss_avx(auVar5);
- local_160._0_32_ = CONCAT284(SUB3228(auVar22 >> 0x20,0),uVar1);
- *param_4 = iVar8;
- idx2 = (ulong)(uint)gb->bitcache_size;
- while( true ) {
- iVar18 = (int)idx2;
- iVar8 = iVar18;
- if (iVar18 < 0x20) {
- uVar13 = *(ulong *)(gb->bitstream_start + (uVar9 >> 3));
- uVar11 = (uint)uVar9 & 7;
- iVar8 = 0x40 - uVar11;
- uVar17 = uVar17 | ((uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |
- (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |
- (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |
- (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38) << (sbyte)uVar11) >>
- ((byte)idx2 & 0x3f);
- uVar9 = uVar9 + (long)(iVar8 - iVar18);
- gb->cur_bit_pos = uVar9;
- gb->bitcache = uVar17;
- gb->bitcache_size = iVar8;
- }
- uVar19 = uVar17 >> 0x38;
- uVar13 = 0x10;
- bVar3 = ac_index_table[uVar19].field_0x1;
- paVar16 = ac_index_table;
- uVar11 = (uint)(uVar17 >> 0x20);
- while (bVar3 == 0) {
- idx2 = (ulong)((ushort)paVar16[uVar19].field_0x2 >> 4);
- paVar16 = ac_index_table + idx2 * 0x100;
- uVar19 = (ulong)(byte)(uVar11 >> ((byte)uVar13 & 0x1f));
- uVar13 = (ulong)((int)uVar13 - 8);
- bVar3 = *(byte *)(idx2 * 0x400 + 0x7d3001 + uVar19 * 4);
- }
- bVar3 = paVar16[uVar19].field_0x1;
- uVar13 = 0;
- idx2 = (ulong)(iVar8 - (uint)bVar3);
- if ((int)(iVar8 - (uint)bVar3) < 0) {
- idx2 = uVar13;
- }
- uVar17 = uVar17 << (bVar3 & 0x3f);
- gb->bitcache = uVar17;
- iVar8 = (int)idx2;
- gb->bitcache_size = iVar8;
- if (uVar12 < uVar9 - (long)iVar8) goto LAB_0051776e;
- if ((char)paVar16[uVar19].field_0x0 < '\0') break;
- idx = (ulong)((int)idx + 1 + (uint)paVar16[uVar19].field_0x0 & 0x3f);
- if (ac_table[(uint)((ushort)paVar16[uVar19].field_0x2 >> 4) +
- (uVar11 >> (0x20 - bVar3 & 0x1f) &
- (uint)bit_masks[(uint)(ushort)paVar16[uVar19].field_0x2 & 0xf])] != 0) {
- auVar5 = vcvtsi2ss_avx(SUB3216(auVar20,0),
- (int)ac_table[(uint)((ushort)paVar16[uVar19].field_0x2 >> 4) +
- (uVar11 >> (0x20 - bVar3 & 0x1f) &
- (uint)bit_masks[(uint)(ushort)paVar16[uVar19].field_0x2
- & 0xf])]);
- auVar5 = vmulss_avx(auVar5,ZEXT416(*(uint *)(param_8 + 0x200 + (ulong)zigzag1[idx] * 4)));
- auVar20 = ZEXT1632(auVar5);
- fVar2 = (float)vmovss_avx(auVar5);
- local_160[(ulong)zigzag1[idx]] = fVar2;
- }
- }
- iVar18 = iVar8;
- if (iVar8 < 0x20) {
- idx = *(ulong *)(gb->bitstream_start + (uVar9 >> 3));
- uVar11 = (uint)uVar9 & 7;
- iVar18 = 0x40 - uVar11;
- uVar17 = uVar17 | ((idx >> 0x38 | (idx & 0xff000000000000) >> 0x28 |
- (idx & 0xff0000000000) >> 0x18 | (idx & 0xff00000000) >> 8 |
- (idx & 0xff000000) << 8 | (idx & 0xff0000) << 0x18 |
- (idx & 0xff00) << 0x28 | idx << 0x38) << (sbyte)uVar11) >>
- ((byte)idx2 & 0x3f);
- uVar9 = uVar9 + (long)(iVar18 - iVar8);
- gb->cur_bit_pos = uVar9;
- gb->bitcache = uVar17;
- gb->bitcache_size = iVar18;
- }
- pbVar14 = codelen_table0 + (uVar17 >> 0x38) * 4;
- if (codelen_table0[(uVar17 >> 0x38) * 4 + 3] == 0) {
- pbVar14 = codelen_table0 +
- (ulong)((uint)(uVar17 >> 0x2e) & 0x3fc) + (long)(char)*pbVar14 * 0x400;
- }
- uVar13 = 0;
- iVar18 = iVar18 - (uint)pbVar14[3];
- if (iVar18 < 0) {
- iVar18 = 0;
- }
- uVar17 = uVar17 << (pbVar14[3] & 0x3f);
- gb->bitcache = uVar17;
- gb->bitcache_size = iVar18;
- if (uVar9 - (long)iVar18 <= uVar12) {
- bVar3 = pbVar14[1];
- bVar4 = *pbVar14;
- auVar5 = vmovq_avx(0x40 - (long)(int)(char)bVar4);
- auVar6 = vmovq_avx(uVar17);
- auVar6 = vpbroadcastq_avx2(auVar6);
- auVar5 = vpsrlq_avx(auVar6,auVar5);
- uVar11 = vmovd_avx(auVar5);
- uVar17 = uVar17 << (bVar4 & 0x3f);
- gb->bitcache = uVar17;
- gb->bitcache_size = iVar18 - (int)(char)bVar4;
- iVar8 = (int)dc_table[(ulong)(uVar11 >> (bVar3 & 0x1f)) * 0x10 + (ulong)(pbVar14[2] >> 4)] +
- (bit_masks[bVar3] & uVar11) + *param_5;
- auVar5 = vcvtsi2ss_avx(auVar5,iVar8);
- auVar5 = vmulss_avx(auVar5,ZEXT416(*(uint *)(param_8 + 0x210)));
- auVar20 = ZEXT1632(auVar5);
- uVar1 = vmovss_avx(auVar5);
- *param_5 = iVar8;
- idx = (ulong)(uint)gb->bitcache_size;
- idx2 = 0x20;
- while( true ) {
- iVar18 = (int)idx;
- iVar8 = iVar18;
- if (iVar18 < 0x20) {
- uVar13 = *(ulong *)(gb->bitstream_start + (uVar9 >> 3));
- uVar11 = (uint)uVar9 & 7;
- iVar8 = 0x40 - uVar11;
- uVar17 = uVar17 | ((uVar13 >> 0x38 | (uVar13 & 0xff000000000000) >> 0x28 |
- (uVar13 & 0xff0000000000) >> 0x18 | (uVar13 & 0xff00000000) >> 8 |
- (uVar13 & 0xff000000) << 8 | (uVar13 & 0xff0000) << 0x18 |
- (uVar13 & 0xff00) << 0x28 | uVar13 << 0x38) << (sbyte)uVar11) >>
- ((byte)idx & 0x3f);
- uVar9 = uVar9 + (long)(iVar8 - iVar18);
- gb->cur_bit_pos = uVar9;
- gb->bitcache = uVar17;
- gb->bitcache_size = iVar8;
- }
- uVar19 = uVar17 >> 0x38;
- idx = 0x10;
- bVar3 = ac_index_table[uVar19].field_0x1;
- paVar16 = ac_index_table;
- uVar11 = (uint)(uVar17 >> 0x20);
- while (bVar3 == 0) {
- uVar13 = (ulong)((ushort)paVar16[uVar19].field_0x2 >> 4);
- paVar16 = ac_index_table + uVar13 * 0x100;
- uVar19 = (ulong)(byte)(uVar11 >> ((byte)idx & 0x1f));
- idx = (ulong)((int)idx - 8);
- bVar3 = *(byte *)(uVar13 * 0x400 + 0x7d3001 + uVar19 * 4);
- }
- bVar3 = paVar16[uVar19].field_0x1;
- uVar13 = 0;
- idx = (ulong)(iVar8 - (uint)bVar3);
- if ((int)(iVar8 - (uint)bVar3) < 0) {
- idx = uVar13;
- }
- uVar17 = uVar17 << (bVar3 & 0x3f);
- gb->bitcache = uVar17;
- gb->bitcache_size = (int)idx;
- if (uVar12 < uVar9 - (long)(int)idx) goto LAB_0051776e;
- if ((char)paVar16[uVar19].field_0x0 < '\0') break;
- idx2 = (ulong)((int)idx2 + 1 + (uint)paVar16[uVar19].field_0x0 & 0x3f);
- if (ac_table[(uint)((ushort)paVar16[uVar19].field_0x2 >> 4) +
- (uVar11 >> (0x20 - bVar3 & 0x1f) &
- (uint)bit_masks[(uint)(ushort)paVar16[uVar19].field_0x2 & 0xf])] != 0) {
- auVar5 = vcvtsi2ss_avx(SUB3216(auVar20,0),
- (int)ac_table[(uint)((ushort)paVar16[uVar19].field_0x2 >> 4) +
- (uVar11 >> (0x20 - bVar3 & 0x1f) &
- (uint)bit_masks[(uint)(ushort)paVar16[uVar19].
- field_0x2 & 0xf])]);
- auVar5 = vmulss_avx(auVar5,ZEXT416(*(uint *)(param_8 + 0x200 + (ulong)zigzag1[idx2] * 4)))
- ;
- auVar20 = ZEXT1632(auVar5);
- fVar2 = (float)vmovss_avx(auVar5);
- local_160[(ulong)zigzag1[idx2]] = fVar2;
- }
- }
- auVar22 = vbroadcastss_avx(0.17677669);
- auVar20 = vmulps_avx(auVar22,local_160._0_32_);
- auVar23 = vbroadcastss_avx(0.24519631);
- auVar23 = vmulps_avx(auVar23,local_160._32_32_);
- auVar24 = vbroadcastss_avx(0.23096988);
- auVar24 = vmulps_avx(auVar24,local_160._64_32_);
- auVar25 = vbroadcastss_avx(0.20786740);
- auVar25 = vmulps_avx(auVar25,local_160._96_32_);
- auVar22 = vmulps_avx(auVar22,local_160._128_32_);
- auVar26 = vbroadcastss_avx(0.13889256);
- auVar26 = vmulps_avx(auVar26,local_160._160_32_);
- auVar27 = vbroadcastss_avx(0.09567086);
- auVar27 = vmulps_avx(auVar27,local_160._192_32_);
- auVar28 = vbroadcastss_avx(0.04877258);
- auVar28 = vmulps_avx(auVar28,local_160._224_32_);
- auVar29 = vaddps_avx(auVar25,auVar26);
- auVar30 = vaddps_avx(auVar23,auVar28);
- auVar25 = vsubps_avx(auVar26,auVar25);
- auVar23 = vsubps_avx(auVar23,auVar28);
- auVar26 = vsubps_avx(auVar24,auVar27);
- auVar28 = vsubps_avx(auVar30,auVar29);
- auVar31 = vaddps_avx(auVar25,auVar23);
- auVar32 = vbroadcastss_avx(1.41421354);
- auVar26 = vmulps_avx(auVar26,auVar32);
- auVar24 = vaddps_avx(auVar24,auVar27);
- auVar27 = vbroadcastss_avx(1.84775901);
- auVar27 = vmulps_avx(auVar31,auVar27);
- auVar31 = vbroadcastss_avx(2.61312604);
- auVar25 = vmulps_avx(auVar25,auVar31);
- auVar25 = vsubps_avx(auVar27,auVar25);
- auVar29 = vaddps_avx(auVar29,auVar30);
- auVar28 = vmulps_avx(auVar28,auVar32);
- auVar25 = vsubps_avx(auVar25,auVar29);
- auVar30 = vaddps_avx(auVar20,auVar22);
- auVar20 = vsubps_avx(auVar20,auVar22);
- auVar22 = vsubps_avx(auVar26,auVar24);
- auVar26 = vbroadcastss_avx(1.08239222);
- auVar23 = vmulps_avx(auVar23,auVar26);
- auVar23 = vsubps_avx(auVar27,auVar23);
- auVar26 = vsubps_avx(auVar28,auVar25);
- auVar27 = vaddps_avx(auVar30,auVar24);
- auVar28 = vaddps_avx(auVar20,auVar22);
- auVar20 = vsubps_avx(auVar20,auVar22);
- auVar22 = vsubps_avx(auVar30,auVar24);
- auVar23 = vsubps_avx(auVar23,auVar26);
- auVar24 = vaddps_avx(auVar27,auVar29);
- auVar30 = vaddps_avx(auVar28,auVar25);
- auVar31 = vaddps_avx(auVar20,auVar26);
- auVar32 = vaddps_avx(auVar22,auVar23);
- auVar22 = vsubps_avx(auVar22,auVar23);
- auVar20 = vsubps_avx(auVar20,auVar26);
- auVar23 = vsubps_avx(auVar28,auVar25);
- auVar25 = vsubps_avx(auVar27,auVar29);
- auVar26 = vunpcklps_avx(auVar24,auVar30);
- auVar24 = vunpckhps_avx(auVar24,auVar30);
- auVar27 = vunpcklps_avx(auVar31,auVar32);
- auVar28 = vunpckhps_avx(auVar31,auVar32);
- auVar29 = vunpcklps_avx(auVar22,auVar20);
- auVar20 = vunpckhps_avx(auVar22,auVar20);
- auVar22 = vunpcklps_avx(auVar23,auVar25);
- auVar23 = vunpckhps_avx(auVar23,auVar25);
- auVar25 = vunpcklpd_avx(auVar26,auVar27);
- auVar26 = vunpckhpd_avx(auVar26,auVar27);
- auVar27 = vunpcklpd_avx(auVar24,auVar28);
- auVar24 = vunpckhpd_avx(auVar24,auVar28);
- auVar28 = vunpcklpd_avx(auVar29,auVar22);
- auVar22 = vunpckhpd_avx(auVar29,auVar22);
- auVar29 = vunpcklpd_avx(auVar20,auVar23);
- auVar20 = vunpckhpd_avx(auVar20,auVar23);
- auVar23 = vinsertf128_avx(auVar25,SUB3216(auVar28,0),1);
- auVar30 = vinsertf128_avx(auVar26,SUB3216(auVar22,0),1);
- auVar31 = vinsertf128_avx(auVar27,SUB3216(auVar29,0),1);
- auVar32 = vinsertf128_avx(auVar24,SUB3216(auVar20,0),1);
- auVar25 = vperm2f128_avx(auVar25,auVar28,0x31);
- auVar22 = vperm2f128_avx(auVar26,auVar22,0x31);
- auVar26 = vperm2f128_avx(auVar27,auVar29,0x31);
- auVar20 = vperm2f128_avx(auVar24,auVar20,0x31);
- auVar24 = vaddps_avx(auVar23,auVar31);
- auVar23 = vsubps_avx(auVar23,auVar31);
- auVar27 = vbroadcastss_avx(0.54119611);
- auVar28 = vmulps_avx(auVar30,auVar27);
- auVar29 = vbroadcastss_avx(1.30656302);
- auVar31 = vmulps_avx(auVar32,auVar29);
- auVar28 = vsubps_avx(auVar28,auVar31);
- auVar31 = vmulps_avx(auVar32,auVar27);
- auVar30 = vmulps_avx(auVar30,auVar29);
- auVar30 = vaddps_avx(auVar31,auVar30);
- auVar31 = vaddps_avx(auVar24,auVar30);
- auVar32 = vaddps_avx(auVar23,auVar28);
- auVar23 = vsubps_avx(auVar23,auVar28);
- auVar24 = vsubps_avx(auVar24,auVar30);
- auVar28 = vaddps_avx(auVar25,auVar26);
- auVar25 = vsubps_avx(auVar25,auVar26);
- auVar26 = vmulps_avx(auVar22,auVar27);
- auVar30 = vmulps_avx(auVar20,auVar29);
- auVar26 = vsubps_avx(auVar26,auVar30);
- auVar20 = vmulps_avx(auVar20,auVar27);
- auVar22 = vmulps_avx(auVar22,auVar29);
- auVar20 = vaddps_avx(auVar20,auVar22);
- auVar22 = vaddps_avx(auVar28,auVar20);
- auVar27 = vaddps_avx(auVar25,auVar26);
- auVar25 = vsubps_avx(auVar25,auVar26);
- auVar20 = vsubps_avx(auVar28,auVar20);
- auVar26 = vcvtps2dq_avx(auVar31);
- auVar28 = vcvtps2dq_avx(auVar32);
- auVar23 = vcvtps2dq_avx(auVar23);
- auVar24 = vcvtps2dq_avx(auVar24);
- auVar22 = vcvtps2dq_avx(auVar22);
- auVar27 = vcvtps2dq_avx(auVar27);
- auVar25 = vcvtps2dq_avx(auVar25);
- auVar20 = vcvtps2dq_avx(auVar20);
- auVar26 = vpackssdw_avx2(auVar26,auVar28);
- auVar26 = vpermq_avx2(auVar26,0xd8);
- auVar23 = vpackssdw_avx2(auVar23,auVar24);
- auVar23 = vpermq_avx2(auVar23,0xd8);
- auVar22 = vpackssdw_avx2(auVar22,auVar27);
- auVar22 = vpermq_avx2(auVar22,0xd8);
- auVar20 = vpackssdw_avx2(auVar25,auVar20);
- auVar20 = vpermq_avx2(auVar20,0xd8);
- auVar24 = vmovdqa_avx((undefined [32])0x7ff07ff07ff07ff);
- auVar25 = vpminsw_avx2(auVar26,auVar24);
- auVar23 = vpminsw_avx2(auVar23,auVar24);
- auVar22 = vpminsw_avx2(auVar22,auVar24);
- auVar20 = vpminsw_avx2(auVar20,auVar24);
- auVar24 = vmovdqa_avx((undefined [32])0xf801f801f801f801);
- auVar25 = vpmaxsw_avx2(auVar25,auVar24);
- auVar23 = vpmaxsw_avx2(auVar23,auVar24);
- auVar22 = vpmaxsw_avx2(auVar22,auVar24);
- auVar20 = vpmaxsw_avx2(auVar20,auVar24);
- /* WARNING: Store size is inaccurate */
- auVar5 = vmovdqa_avx(SUB3216(auVar25,0));
- *(undefined *)param_1 = auVar5;
- /* WARNING: Store size is inaccurate */
- auVar5 = vextracti128_avx2(auVar25,1);
- *(undefined *)(param_1 + (long)param_3 * 0x10) = auVar5;
- lVar10 = (long)(param_3 * 2) * 0x10;
- /* WARNING: Store size is inaccurate */
- auVar5 = vmovdqa_avx(SUB3216(auVar23,0));
- *(undefined *)(param_1 + lVar10) = auVar5;
- lVar15 = (long)(param_3 * 3) * 0x10;
- /* WARNING: Store size is inaccurate */
- auVar5 = vextracti128_avx2(auVar23,1);
- *(undefined *)(param_1 + lVar15) = auVar5;
- /* WARNING: Store size is inaccurate */
- auVar5 = vmovdqa_avx(SUB3216(auVar22,0));
- *(undefined *)param_2 = auVar5;
- /* WARNING: Store size is inaccurate */
- auVar5 = vextracti128_avx2(auVar22,1);
- *(undefined *)(param_2 + (long)param_3 * 0x10) = auVar5;
- /* WARNING: Store size is inaccurate */
- auVar5 = vmovdqa_avx(SUB3216(auVar20,0));
- *(undefined *)(param_2 + lVar10) = auVar5;
- /* WARNING: Store size is inaccurate */
- auVar5 = vextracti128_avx2(auVar20,1);
- *(undefined *)(param_2 + lVar15) = auVar5;
- uVar13 = CONCAT71((int7)((ulong)lVar10 >> 8),1);
- }
- }
- LAB_0051776e:
- vzeroupper_avx();
- return uVar13;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement