static int MAPCDSF_decodeTable1_Route1(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
{
int rs = 0;
int tmp3 = mbr0.getWithI32Buffer(2);
if (tmp3 == 3)
{
chn_info.uk1c718 = mbr0.getWithI32Buffer(6);
chn_info.uk1c714 = mbr0.getWithI32Buffer(6);
MAPCDSF_initTable1(chn_info);
int uk1c700 = mbr0.getWithI32Buffer(5);
int uk1c704 = mbr0.getWithI32Buffer(2);
int uk1c708 = mbr0.getWithI32Buffer(4) - 7;
for (uint a0 = 0; a0 < uk1c700; a0++)
{
chn_info.table1[a0] += (uint)mbr0.getWithI32Buffer(4) - 7;
}
if (uk1c704 != 0)
{
for (uint a0 = (uint)uk1c700; a0 < chn_info.joint_chn_info.num_band_splited_used; a0++)
{
chn_info.table1[a0] += (uint)mbr0.getWithI32Buffer(uk1c704);
}
}
for (uint a0 = (uint)uk1c700; a0 < chn_info.joint_chn_info.num_band_splited_used; a0++)
{
chn_info.table1[a0] += (uint)uk1c708;
}
for (uint a0 = 0; a0 < chn_info.joint_chn_info.num_band_splited_used; a0++)
{
chn_info.table1[a0] &= 0x3F;
}
}
else
{
int uk1c700 = mbr0.getWithI32Buffer(5);
int uk1c704 = mbr0.getWithI32Buffer(3);
int uk1c708 = mbr0.getWithI32Buffer(6);
for (uint a0 = 0; a0 < uk1c700; a0++)
{
chn_info.table1[a0] = (uint)mbr0.getWithI32Buffer(6);
}
if (0 == uk1c704)
{
for (uint a0 = (uint)uk1c700; a0 < chn_info.joint_chn_info.num_band_splited_used; a0++)
{
chn_info.table1[a0] = (uint)uk1c708;
}
}
else
{
for (uint a0 = (uint)uk1c700; a0 < chn_info.joint_chn_info.num_band_splited_used; a0++)
{
chn_info.table1[a0] = (uint)(mbr0.getWithI32Buffer(uk1c704) + uk1c708);
}
}
if (tmp3 != 0)
{
for (uint a0 = 0; a0 < chn_info.joint_chn_info.num_band_splited_used; a0++)
{
chn_info.table1[a0] -= MAPCDSF_decodeTable1_Route1_table_tmpx[(tmp3 - 1) * 0x20 + a0];
}
}
}
return rs;
}