static int MAPCDSF_splitePack1_Route2(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            int l5 = 0;

            if (0 == chn_info.acc_table_now.inner.unk1 )
            {
                for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
                {
                    if (chn_info.inner_pack_table0_check_table[a0] != 0)
                    {
                        if (chn_info.acc_table_now.table[a0].num_uk > 0)
                        {
                            int atmp0 = (int)MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_17[0], mbr0);

                            if ((atmp0 & 0x10) != 0)
                            {
                                atmp0 |= unchecked((int)0xFFFFFFE0);
                            }
                            else
                            {
                                atmp0 &= 0x1F;
                            }

                            if ( chn_info.chn_ref.acc_table_now.table[a0].num_uk > 0  )
                            {
                                chn_info.acc_table_now.table[a0].ptr0[0].unk0 = chn_info.chn_ref.acc_table_now.table[a0].ptr0[0].unk0 + atmp0;
                            }
                            else
                            {
                                chn_info.acc_table_now.table[a0].ptr0[0].unk0 = 0x2C + atmp0;
                            }

                            chn_info.acc_table_now.table[a0].ptr0[0].unk0 &= 0x3F;

                            for (int a1 = 1; a1 < chn_info.acc_table_now.table[a0].num_uk; a1++)
                            {
                                chn_info.acc_table_now.table[a0].ptr0[a1].unk0 = chn_info.acc_table_now.table[a0].ptr0[a1 - 1].unk0;
                            }
                        }
                    }
                }
            }
            else
            {
                for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
                {
                    if (chn_info.inner_pack_table0_check_table[a0] != 0)
                    {
                        for (int a1 = 0; a1 < chn_info.acc_table_now.table[a0].num_uk; a1++)
                        {
                            int atmp0 = (int)MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_17[0], mbr0);

                            if ((atmp0 & 0x10) != 0)
                            {
                                atmp0 |= unchecked((int)0xFFFFFFE0);
                            }
                            else
                            {
                                atmp0 &= 0x1F;
                            }

                            if (chn_info.joint_chn_info.table11c[l5 + a1] >= 0)
                            {
                                chn_info.acc_table_now.table[a0].ptr0[a1].unk0 = chn_info.chn_ref.acc_table_now.table[a0].ptr0[chn_info.joint_chn_info.table11c[l5 + a1]].unk0 + atmp0;
                            }
                            else
                            {
                                chn_info.acc_table_now.table[a0].ptr0[a1].unk0 = 0x22 + atmp0;
                            }

                            chn_info.acc_table_now.table[a0].ptr0[a1].unk0 &= 0x3F;
                        }

                        l5 += chn_info.acc_table_now.table[a0].num_uk;
                    }
                }
            }

            return rs;
        }
        //used in decodeACC6Inner
        static int MAPCDSF_decodeACC6InnerSub0(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            MAPCDSF_makeInnerPackTable0CheckTable(chn_info, 1);

            uint route_flag0 = 0;

            if (chn_info.chn_flag == 1) route_flag0 = (uint)mbr0.getWithI32Buffer(1);

            MAPCDSF_decodeACC6InnerSub0_func_list0[route_flag0](mbr0, chn_info);

            {
                uint route_flag1 = (uint)mbr0.getWithI32Buffer(chn_info.chn_flag + 1);
                MAPCDSF_decodeACC6InnerSub0_func_list1[route_flag1](mbr0, chn_info);
            }

            MAPCDSF_splitePack(mbr0, chn_info);

            return rs;
        }
        //used in decodeTable0 0:0 1:0
        static int MAPCDSF_decodeTable0_Route0(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            for (uint a0 = 0; a0 < chn_info.joint_chn_info.num_band_splited_declared; a0++)
            {
                chn_info.table0[a0] = (uint)mbr0.getWithI32Buffer(3);
            }

            return 0;
        }
        //used in MAPCDSF_decodeACC6InnerSub0 0
        static int MAPCDSF_decodeACC6Inner0_Route0(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
            {
                if (chn_info.inner_pack_table0_check_table[a0] != 0)
                {
                    chn_info.acc_table_now.table[a0].unk[4] =  mbr0.getWithI32Buffer(1);
                    if (chn_info.acc_table_now.table[a0].unk[4] != 0)
                    {
                        chn_info.acc_table_now.table[a0].unk[6] =  mbr0.getWithI32Buffer(5);
                    }
                    else
                    {
                        chn_info.acc_table_now.table[a0].unk[6] = -1;
                    }

                    chn_info.acc_table_now.table[a0].unk[5] = mbr0.getWithI32Buffer(1);

                    if (chn_info.acc_table_now.table[a0].unk[5] != 0)
                    {
                        chn_info.acc_table_now.table[a0].unk[7] = mbr0.getWithI32Buffer(5);
                    }
                    else
                    {
                        chn_info.acc_table_now.table[a0].unk[7] = 0x20;
                    }
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC6InnerSub0 2
        static int MAPCDSF_decodeACC6Inner1_Route2(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
            {
                if (chn_info.inner_pack_table0_check_table[a0] != 0)
                {
                    int atmp0 = (int)MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_13[0], mbr0);

                    if ((atmp0 & 0x4) != 0)
                    {
                        atmp0 |= unchecked((int)0xFFFFFFF8);
                    }
                    else
                    {
                        atmp0 &= 0x7;
                    }

                    chn_info.acc_table_now.table[a0].num_uk = chn_info.chn_ref.acc_table_now.table[a0].num_uk + atmp0;

                    chn_info.acc_table_now.table[a0].num_uk &= 0xF;
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub2 1:2
        static int MAPCDSF_decodeACC2Main2_Route5(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
            {
                if (chn_info.acc_data_now.table[a0].num_acc != 0)
                {
                    if ( ( ((uint)chn_info.acc_data_now.table[a0].num_acc)
                        <= ((uint)chn_info.chn_ref.acc_data_now.table[a0].num_acc) )
                        && (0 == mbr0.getWithI32Buffer(1))
                        )
                    {
                        for (uint a1 = 0; a1 < (uint)chn_info.acc_data_now.table[a0].num_acc; a1++)
                        {
                            chn_info.acc_data_now.table[a0].data0[a1] =
                                chn_info.chn_ref.acc_data_now.table[a0].data0[a1];
                        }
                    }
                    else
                    {
                        MAPCDSF_parseACCDataMemberUsingHuffTable0(a0, mbr0, chn_info);
                    }
                }
            }

            return rs;
        }
        //used in decodeACC2Main
        static int MAPCDSF_decodeACC2MainSub0(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            MAPCDSF_decodeACC2Main_func_list0[chn_info.chn_flag * 4 + mbr0.getWithI32Buffer(2)]
                (mbr0, chn_info);

            for (uint a0 = 0; a0 < 0x10; a0++)
            {
                if (chn_info.acc_data_now.table[a0].num_acc > 0x7)
                {
                    rs = -21;
                    break;
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub0 0:3
        static int MAPCDSF_decodeACC2Main0_Route3(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            uint uk1b458 = (uint)mbr0.getWithI32Buffer(2);
            uint uk1b45c = (uint)mbr0.getWithI32Buffer(3);

            if (uk1b458 != 0)
            {
                for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
                {
                    chn_info.acc_data_now.table[a0].num_acc = (int)(uk1b45c + mbr0.getWithI32Buffer((int)uk1b458));
                }
            }
            else
            {
                for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
                {
                    chn_info.acc_data_now.table[a0].num_acc = (int)uk1b45c;
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub0 1:2
        static int MAPCDSF_decodeACC2Main0_Route4(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
            {
                chn_info.acc_data_now.table[a0].num_acc = (int)(
                    chn_info.chn_ref.acc_data_now.table[a0].num_acc
                    + MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_1[0], mbr0)
                );

                chn_info.acc_data_now.table[a0].num_acc &= 0x7;
            }

            return rs;
        }
        static int MAPCDSF_splitePack2_Route2(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            int l5 = 0;

            for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
            {
                if (chn_info.inner_pack_table0_check_table[a0] != 0)
                {
                    for (int a1 = 0; a1 < chn_info.acc_table_now.table[a0].num_uk; a1++)
                    {
                        int atmp0 = (int)MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_20[0], mbr0);

                        if ((atmp0 & 0x4) != 0)
                        {
                            atmp0 |= unchecked((int)0xFFFFFFF8);
                        }
                        else
                        {
                            atmp0 &= 0x7;
                        }

                        if (chn_info.joint_chn_info.table11c[l5 + a1] >= 0)
                        {
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk1 = chn_info.chn_ref.acc_table_now.table[a0].ptr0[ chn_info.joint_chn_info.table11c[l5 + a1] ].unk1 + atmp0;
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk1 &= 0xF;
                        }
                        else
                        {
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk1 = atmp0 - 4;
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk1 &= 0xF;
                        }
                    }

                    l5 += chn_info.acc_table_now.table[a0].num_uk;
                }
            }

            return rs;
        }
        static int MAPCDSF_splitePack2_Route3(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            int l4 = 0;

            for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
            {
                if (chn_info.inner_pack_table0_check_table[a0] != 0)
                {
                    for (int a1 = 0; a1 < chn_info.acc_table_now.table[a0].num_uk; a1++)
                    {
                        if (chn_info.joint_chn_info.table11c[l4 + a1] >= 0)
                        {
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk1 = chn_info.chn_ref.acc_table_now.table[a0].ptr0[chn_info.joint_chn_info.table11c[l4 + a1]].unk1;
                        }
                        else
                        {
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk1 = 0xE;
                        }
                    }

                    l4 += chn_info.acc_table_now.table[a0].num_uk;
                }
            }

            return rs;
        }
        static int MAPCDSF_splitePack2_Route1(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
            {
                if (chn_info.inner_pack_table0_check_table[a0] != 0)
                {
                    if ( chn_info.acc_table_now.table[a0].num_uk == 1)
                    {
                        chn_info.acc_table_now.table[a0].ptr0[0].unk1 = (int)MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_18[0], mbr0);
                    }
                    else
                    {
                        for (int a1 = 0; a1 < chn_info.acc_table_now.table[a0].num_uk; a1++)
                        {
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk1 = (int)MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_19[0], mbr0);
                        }
                    }
                }
            }

            return rs;
        }
        static int MAPCDSF_splitePack2_Route0(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
            {
                if (chn_info.inner_pack_table0_check_table[a0] != 0)
                {
                    for (int a1 = 0; a1 < chn_info.acc_table_now.table[a0].num_uk; a1++)
                    {
                        chn_info.acc_table_now.table[a0].ptr0[a1].unk1 = mbr0.getWithI32Buffer(4);
                    }
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub0 0:0 1:0
        static int MAPCDSF_decodeACC2Main0_Route0(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
            {
                chn_info.acc_data_now.table[a0].num_acc = mbr0.getWithI32Buffer(3);
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub2 0:3
        static int MAPCDSF_decodeACC2Main2_Route3(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            uint uk1b4b0 = (uint)mbr0.getWithI32Buffer(2) + 1;
            uint uk1b4b4 = (uint)mbr0.getWithI32Buffer(5);

            for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
            {
                for (uint a1 = 0; a1 < (uint)chn_info.acc_data_now.table[a0].num_acc; a1++)
                {
                    chn_info.acc_data_now.table[a0].data0[a1] = (int)(
                        mbr0.getWithI32Buffer((int)uk1b4b0)
                        + uk1b4b4
                        + a1
                    );
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub0 1:3
        static int MAPCDSF_decodeACC2Main0_Route5(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
            {
                chn_info.acc_data_now.table[a0].num_acc =
                    chn_info.chn_ref.acc_data_now.table[a0].num_acc;
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub2 1:1
        static int MAPCDSF_decodeACC2Main2_Route4(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
            {
                MAPCDSF_parseACCDataMemberUsingHuffTable2(a0, mbr0, chn_info);
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub1 0:0 1:0
        static int MAPCDSF_decodeACC2Main1_Route0(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
            {
                for (uint a1 = 0; a1 < (uint)chn_info.acc_data_now.table[a0].num_acc; a1++)
                {
                    chn_info.acc_data_now.table[a0].data1[a1] =
                        (uint)mbr0.getWithI32Buffer(4);
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub2 1:3
        static int MAPCDSF_decodeACC2Main2_Route6(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
            {
                for (uint a1 = 0; a1 < (uint)chn_info.acc_data_now.table[a0].num_acc; a1++)
                {
                    if (a1 < (uint)chn_info.chn_ref.acc_data_now.table[a0].num_acc)
                    {
                        chn_info.acc_data_now.table[a0].data0[a1] =  chn_info.chn_ref.acc_data_now.table[a0].data0[a1];
                    }
                    else
                    {
                        MAPCDSF_parseACCDataMemberUsingBitRead(a0, a1, mbr0, chn_info);
                    }
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub1 0:3
        static int MAPCDSF_decodeACC2Main1_Route3(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            uint uk1b464 = (uint)mbr0.getWithI32Buffer(2);
            uint uk1b468 = (uint)mbr0.getWithI32Buffer(4);

            if (uk1b464 != 0)
            {
                for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
                {
                    for (uint a1 = 0; a1 < (uint)chn_info.acc_data_now.table[a0].num_acc; a1++)
                    {
                        chn_info.acc_data_now.table[a0].data1[a1] = (uint)(uk1b468 + mbr0.getWithI32Buffer((int)uk1b464));
                    }
                }
            }
            else
            {
                for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
                {
                    for (uint a1 = 0; a1 < (uint)chn_info.acc_data_now.table[a0].num_acc; a1++)
                    {
                        chn_info.acc_data_now.table[a0].data1[a1] = uk1b468;
                    }
                }
            }

            return rs;
        }
        //used in decodeACC2Main
        static int MAPCDSF_decodeACC2MainSub2(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            MAPCDSF_decodeACC2Main_func_list2[chn_info.chn_flag * 4 + mbr0.getWithI32Buffer(2)](mbr0, chn_info);

            //rep check

            for (int a0 = 0; a0 < 0x10; a0++)
            {
                for (int a1 = 0; a1 < 0x7; a1++)
                {
                    if ( (chn_info.acc_data_now.table[a0].data0[a1] < 0) || (chn_info.acc_data_now.table[a0].data0[a1] >= 0x20) )
                    {
                        rs = -1;
                        break;
                    }
                }

                if (rs != 0) break;

                for (int a1 = 0; a1 < (int)chn_info.acc_data_now.table[a0].num_acc - 1; a1++)
                {
                    if (chn_info.acc_data_now.table[a0].data0[a1]
                        >=
                        chn_info.acc_data_now.table[a0].data0[a1 + 1])
                    {
                        rs = -1;
                        break;
                    }
                }

                if (rs != 0) break;
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub1 1:1
        static int MAPCDSF_decodeACC2Main1_Route4(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
            {
                for (uint a1 = 0; a1 < (uint)chn_info.acc_data_now.table[a0].num_acc; a1++)
                {
                    if (a1 < (uint)chn_info.chn_ref.acc_data_now.table[a0].num_acc)
                    {
                        chn_info.acc_data_now.table[a0].data1[a1] =
                            chn_info.chn_ref.acc_data_now.table[a0].data1[a1]
                            + MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_5[0], mbr0);

                        chn_info.acc_data_now.table[a0].data1[a1] &= 0xF;
                    }
                    else
                    {
                        chn_info.acc_data_now.table[a0].data1[a1] =
                            0x7
                            + MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_5[0], mbr0);

                        chn_info.acc_data_now.table[a0].data1[a1] &= 0xF;
                    }
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC6InnerSub0 1
        static int MAPCDSF_decodeACC6Inner1_Route1(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
            {
                if (chn_info.inner_pack_table0_check_table[a0] != 0)
                {
                    chn_info.acc_table_now.table[a0].num_uk = (int)MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_12[0], mbr0);
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub1 1:2
        static int MAPCDSF_decodeACC2Main1_Route5(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
            {
                if (chn_info.acc_data_now.table[a0].num_acc != 0)
                {
                    uint uk1b46c_x = (uint)mbr0.getWithI32Buffer(1);

                    if (uk1b46c_x != 0)
                    {
                        chn_info.acc_data_now.table[a0].data1[0] = MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_2[0], mbr0);

                        for (uint a1 = 1; a1 < (uint)chn_info.acc_data_now.table[a0].num_acc; a1++)
                        {
                            chn_info.acc_data_now.table[a0].data1[a1] =
                                chn_info.acc_data_now.table[a0].data1[a1 - 1]
                                + MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_3[0], mbr0);

                            chn_info.acc_data_now.table[a0].data1[a1] &= 0xF;
                        }
                    }
                    else
                    {
                        for (uint a1 = 0; a1 < (uint)chn_info.acc_data_now.table[a0].num_acc; a1++)
                        {
                            if (a1 < (uint)chn_info.chn_ref.acc_data_now.table[a0].num_acc)
                            {
                                chn_info.acc_data_now.table[a0].data1[a1] = chn_info.chn_ref.acc_data_now.table[a0].data1[a1];
                            }
                            else
                            {
                                chn_info.acc_data_now.table[a0].data1[a1] = 0x7;
                            }
                        }
                    }
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC6InnerSub0 3
        static int MAPCDSF_decodeACC6Inner1_Route3(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
            {
                if (chn_info.inner_pack_table0_check_table[a0] != 0)
                {
                    chn_info.acc_table_now.table[a0].num_uk = chn_info.chn_ref.acc_table_now.table[a0].num_uk;
                }
            }

            return rs;
        }
        //used in MAPCDSF_decodeACC2MainSub1 1:3
        static int MAPCDSF_decodeACC2Main1_Route6(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < chn_info.uk1b450; a0++)
            {
                for (uint a1 = 0; a1 < (uint)chn_info.acc_data_now.table[a0].num_acc; a1++)
                {
                    if (a1 < (uint)chn_info.chn_ref.acc_data_now.table[a0].num_acc)
                    {
                        chn_info.acc_data_now.table[a0].data1[a1] = chn_info.chn_ref.acc_data_now.table[a0].data1[a1];
                    }
                    else
                    {
                        chn_info.acc_data_now.table[a0].data1[a1] = 0x7;
                    }
                }
            }

            return rs;
        }
        static int MAPCDSF_decodeTable0DataNum(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            chn_info.table0_data_num0 =
                chn_info.joint_chn_info.num_band_splited_declared;

            chn_info.table0_data_num1 = 0;

            if (chn_info.table0_flag_data_num != 0)
            {
                chn_info.table0_data_num0 = (uint)mbr0.getWithI32Buffer(5);

                if (chn_info.table0_data_num0 > chn_info.joint_chn_info.num_band_splited_declared)
                {
                    return -5;
                }

                if (chn_info.table0_flag_data_num == 3)
                {
                    chn_info.table0_data_num1 = (uint)mbr0.getWithI32Buffer(2) + 1;
                    if (chn_info.chn_flag != 0) chn_info.table0_data_num1 = chn_info.table0_data_num1 - 1 + 3;
                }
            }

            return 0;
        }
        //used in MAPCDSF_decodeACC2MainSub2 0:2
        static int MAPCDSF_decodeACC2Main2_Route2(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a1 = 0; a1 < (uint)chn_info.acc_data_now.table[0].num_acc; a1++)
            {
                MAPCDSF_parseACCDataMemberUsingBitRead(0, a1, mbr0, chn_info);
            }

            for (uint a0 = 1; a0 < chn_info.uk1b450; a0++)
            {
                MAPCDSF_parseACCDataMemberUsingHuffTable1(a0, mbr0, chn_info);
            }

            return rs;
        }
        //used in decodeTable0 0:1
        static int MAPCDSF_decodeTable0_Route1(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            chn_info.table0_flag_ex = mbr0.getWithI32Buffer(2);
            chn_info.table0_flag_data_num = mbr0.getWithI32Buffer(2);

            if (0 != (rs = MAPCDSF_decodeTable0DataNum(mbr0, chn_info))) return rs;

            if (chn_info.table0_data_num0 != 0)
            {
                var uk1c6d0 = (uint)mbr0.getWithI32Buffer(5);
                var uk1c6d4 = (uint)mbr0.getWithI32Buffer(2);
                var uk1c6d8 = (uint)mbr0.getWithI32Buffer(3);

                for (uint a0 = 0; a0 < uk1c6d0; a0++)
                {
                    chn_info.table0[a0] = (uint)mbr0.getWithI32Buffer(3);
                }

                if (0 == uk1c6d4)
                {
                    for (uint a0 = uk1c6d0; a0 < chn_info.table0_data_num0; a0++)
                    {
                        chn_info.table0[a0] = uk1c6d8;
                    }
                }
                else
                {
                    for (uint a0 = uk1c6d0; a0 < chn_info.table0_data_num0; a0++)
                    {
                        chn_info.table0[a0] = (uint)mbr0.getWithI32Buffer((int)uk1c6d4) + uk1c6d8;
                    }
                }
            }

            if ((rs = MAPCDSF_padTable0(mbr0, chn_info)) != 0) return rs;

            if (chn_info.table0_flag_ex != 0)
            {
                MAPCDSF_exTable0Value(chn_info);
            }

            return rs;
        }
        static int MAPCDSF_splitePack1_Route1(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            if (0 == chn_info.acc_table_now.inner.unk1 )
            {
                for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
                {
                    if (chn_info.inner_pack_table0_check_table[a0] != 0)
                    {
                        if (chn_info.acc_table_now.table[a0].num_uk != 0)
                        {
                            chn_info.acc_table_now.table[a0].ptr0[0].unk0 = (int)(0x18 + MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_15[0], mbr0));

                            for (int a1 = 1; a1 < chn_info.acc_table_now.table[a0].num_uk; a1++)
                            {
                                chn_info.acc_table_now.table[a0].ptr0[a1].unk0 = chn_info.acc_table_now.table[a0].ptr0[a1 - 1].unk0;
                            }
                        }
                    }
                }
            }
            else
            {
                for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
                {
                    if (chn_info.inner_pack_table0_check_table[a0] != 0)
                    {
                        for (int a1 = 0; a1 < chn_info.acc_table_now.table[a0].num_uk; a1++)
                        {
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk0 = (int)(0x14 + MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_16[0], mbr0));
                        }
                    }
                }
            }

            return rs;
        }