############ FUN_ 1800246e0 size=14313 ############ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 * FUN_1800246e0(longlong param_1,int param_2,longlong param_3,undefined4 param_4,int param_5, undefined8 param_6,undefined8 param_7) { int iVar1; int iVar2; int iVar3; undefined4 uVar4; int iVar5; char cVar6; char cVar7; int iVar8; uint uVar9; uint uVar10; int iVar11; int iVar12; int iVar13; int iVar14; int iVar15; int iVar16; int iVar17; int iVar18; int iVar19; int iVar20; int iVar21; int iVar22; int iVar23; int iVar24; int iVar25; int iVar26; int iVar27; int iVar28; int iVar29; int iVar30; int iVar31; int iVar32; int iVar33; int iVar34; uint uVar35; int iVar36; int iVar37; int iVar38; int iVar39; int iVar40; int iVar41; int iVar42; uint uVar43; int iVar44; int iVar45; int iVar46; int iVar47; int iVar48; int iVar49; int iVar50; int iVar51; int iVar52; uint uVar53; int iVar54; int iVar55; int iVar56; int iVar57; int iVar58; int iVar59; int iVar60; int iVar61; int iVar62; int iVar63; int iVar64; int iVar65; int iVar66; int iVar67; int iVar68; int iVar69; uint uVar70; int iVar71; int iVar72; int iVar73; int iVar74; int iVar75; int iVar76; int iVar77; uint uVar78; int iVar79; int iVar80; int iVar81; int iVar82; int iVar83; undefined8 uVar84; undefined8 *local_c68; undefined8 *local_3e8; byte local_1b0; iVar3 = *(int *)(&DAT_181c5de7c + (longlong)param_2 * 4); iVar49 = param_2 - iVar3; if (iVar49 < 0x11) { *(undefined8 *)(param_1 + 0x38) = param_6; local_c68 = (undefined8 *)FUN_180023860(iVar49,param_3,param_4); iVar44 = 1 << ((byte)iVar49 & 0x1f); *(uint *)(param_1 + 0x1c) = iVar44 * 0x10 + 0x3fU & 0xffffffc0; } else { local_c68 = (undefined8 *) FUN_1800246e0(param_1,iVar49,param_3,param_4,param_5 + 1,param_6,param_7); iVar44 = 1 << ((byte)iVar49 & 0x1f); } uVar4 = *(undefined4 *)(&DAT_181c5dedc + (longlong)param_2 * 4); uVar43 = 0; local_3e8 = local_c68; *(undefined8 **)(param_1 + 0x78 + (longlong)param_5 * 8) = local_c68; if (0 < iVar44) { iVar5 = iVar44 * 2; iVar8 = iVar44 * 3; uVar53 = 1 << ((byte)uVar4 - (char)iVar3 & 0x1f); uVar9 = (int)((uVar53 - ((int)(uVar53 + 1) >> 0x1f)) + 1) >> 1; uVar10 = (iVar44 + uVar53) - 1; if (((uVar10 | uVar53) & 0xffffff00) == 0) { local_1b0 = (byte)uVar53; uVar10 = (uint)(byte)((ushort)uVar10 / (ushort)local_1b0); } else { uVar10 = (int)uVar10 / (int)uVar53; } iVar26 = 0; iVar25 = 0; iVar54 = 0; iVar57 = 0; iVar60 = 0; iVar65 = 0; iVar75 = iVar65; do { uVar35 = 1; iVar45 = -iVar49; iVar59 = iVar49; if (-iVar3 < 0) { do { iVar27 = iVar59 + 2; cVar6 = (char)(iVar45 + -2); cVar7 = (char)param_4; if (iVar27 == param_2) { iVar59 = 1 << ((byte)iVar27 & 0x1f); iVar64 = 1 << (cVar6 + cVar7 & 0x1fU); if (0 < (int)uVar35 >> 1) { iVar36 = iVar64 * iVar65; iVar32 = iVar64 * iVar75; iVar23 = (int)(((uint)(iVar59 >> 1) >> 0x1e) + iVar59) >> 2; iVar39 = iVar64 * iVar23; iVar28 = iVar64 + iVar36; iVar52 = iVar59 / 2; iVar31 = iVar64 * iVar52; iVar24 = (int)(((uint)(iVar59 * 3 >> 1) >> 0x1e) + iVar59 * 3) >> 2; iVar42 = iVar64 * iVar24; iVar2 = iVar64 * 2; iVar1 = iVar2 + iVar32; iVar46 = iVar59 * iVar64 - iVar32; iVar59 = iVar59 * iVar64 - iVar36; iVar51 = iVar64 * 4; uVar78 = 0; do { uVar70 = 0; if (0 < (int)uVar53) { iVar66 = iVar64 * iVar5 * uVar78; iVar63 = iVar64 * iVar44 * uVar78; iVar50 = (iVar32 - iVar31) + iVar66; iVar55 = (iVar36 - iVar31) + iVar63; iVar56 = (iVar36 - iVar42) + iVar63; iVar58 = (iVar32 - iVar42) + iVar66; iVar61 = iVar66 - (iVar39 - iVar32); iVar62 = iVar63 - (iVar39 - iVar36); do { iVar67 = uVar70 * 2 + iVar44 * uVar78 + iVar65; if (iVar23 < iVar67) { iVar68 = iVar2 * uVar70; if (iVar52 < iVar67) { if (iVar24 < iVar67) { *local_3e8 = *(undefined8 *)(param_3 + (longlong)(iVar56 + iVar68) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)((iVar59 - iVar63) - iVar68) * 8); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar56 + iVar68) * 8); *local_3e8 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar68 + iVar55) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar68 + iVar62) * 8); *local_3e8 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar68 + iVar55) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { *local_3e8 = *(undefined8 *) (param_3 + (longlong)(int)-(iVar62 + iVar2 * uVar70) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar36 + iVar63 + iVar2 * uVar70) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar68 = iVar2 * uVar70; iVar67 = iVar67 + 1; local_3e8[2] = uVar84; if (iVar23 < iVar67) { if (iVar52 < iVar67) { if (iVar24 < iVar67) { local_3e8[1] = *(undefined8 *) (param_3 + (longlong)(iVar68 + (iVar28 - iVar42) + iVar63) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar59 - iVar64) - iVar63) - iVar68) * 8 ); } else { uVar84 = *(undefined8 *) (param_3 + (longlong)-(iVar68 + iVar64 + (iVar36 - iVar42) + iVar63) * 8); local_3e8[1] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar68 + (iVar28 - iVar31) + iVar63) * 8); } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar68 + (iVar28 - iVar39) + iVar63) * 8); local_3e8[1] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)-(iVar68 + iVar64 + (iVar36 - iVar31) + iVar63) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[1] = *(undefined8 *) (param_3 + (longlong)((((iVar39 - iVar36) - iVar64) - iVar63) - iVar68) * 8); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar68 + iVar28 + iVar63) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } local_3e8[3] = uVar84; iVar67 = uVar70 * 4 + iVar5 * uVar78 + iVar75; if (iVar23 < iVar67) { iVar68 = iVar51 * uVar70; if (iVar52 < iVar67) { if (iVar24 < iVar67) { local_3e8[4] = *(undefined8 *)(param_3 + (longlong)(iVar58 + iVar68) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)((iVar46 - iVar66) - iVar68) * 8); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar58 + iVar68) * 8); local_3e8[4] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar68 + iVar50) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar68 + iVar61) * 8); local_3e8[4] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar68 + iVar50) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[4] = *(undefined8 *) (param_3 + (longlong)(int)-(iVar61 + iVar51 * uVar70) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar32 + iVar66 + iVar51 * uVar70) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar68 = iVar51 * uVar70; iVar67 = iVar67 + 2; local_3e8[6] = uVar84; if (iVar23 < iVar67) { if (iVar52 < iVar67) { if (iVar24 < iVar67) { local_3e8[5] = *(undefined8 *) (param_3 + (longlong)(iVar68 + (iVar1 - iVar42) + iVar66) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar46 + iVar64 * -2) - iVar66) - iVar68) * 8); } else { uVar84 = *(undefined8 *) (param_3 + (longlong)-(iVar68 + (iVar32 - iVar42) + iVar2 + iVar66) * 8); local_3e8[5] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar68 + (iVar1 - iVar31) + iVar66) * 8); } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar68 + (iVar1 - iVar39) + iVar66) * 8); local_3e8[5] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)-(iVar68 + (iVar32 - iVar31) + iVar2 + iVar66) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[5] = *(undefined8 *) (param_3 + (longlong) ((((iVar39 - iVar32) + iVar64 * -2) - iVar66) - iVar68) * 8); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar68 + iVar1 + iVar66) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } uVar70 = uVar70 + 1; local_3e8[7] = uVar84; local_3e8 = local_3e8 + 8; } while (uVar70 < uVar9); } uVar78 = uVar78 + 1; } while (uVar78 < (uint)((int)uVar35 >> 1)); } LAB_180027d9d: uVar35 = uVar35 << 2; iVar45 = iVar45 + -2; } else { if ((iVar59 + 4 == param_2) || (iVar59 + 6 == param_2)) { iVar59 = 1 << ((byte)iVar27 & 0x1f); iVar64 = 1 << (cVar6 + cVar7 & 0x1fU); if (0 < (int)uVar35) { iVar32 = (int)(((uint)(iVar59 >> 1) >> 0x1e) + iVar59) >> 2; iVar46 = iVar64 * iVar65; iVar23 = iVar64 * iVar32; iVar51 = iVar64 * iVar75; iVar56 = iVar64 + iVar46; iVar36 = iVar59 / 2; iVar39 = iVar64 * iVar36; iVar31 = (int)(((uint)(iVar59 * 3 >> 1) >> 0x1e) + iVar59 * 3) >> 2; iVar55 = iVar64 * iVar31; iVar59 = iVar59 * iVar64; iVar28 = iVar64 * iVar60; iVar24 = iVar64 * 2; iVar1 = iVar24 + iVar51; iVar2 = iVar64 * 4; iVar52 = iVar64 * 3; iVar42 = iVar64 * 6; iVar50 = iVar52 + iVar28; uVar78 = 0; do { uVar70 = 0; if (0 < (int)uVar53) { iVar71 = iVar64 * iVar8 * uVar78; iVar76 = iVar64 * iVar5 * uVar78; iVar79 = iVar64 * iVar44 * uVar78; iVar69 = iVar71 - (iVar23 - iVar28); iVar11 = iVar76 - (iVar23 - iVar51); iVar58 = (iVar28 - iVar39) + iVar71; iVar68 = iVar79 - (iVar23 - iVar46); iVar61 = (iVar51 - iVar39) + iVar76; iVar62 = (iVar46 - iVar39) + iVar79; iVar63 = (iVar51 - iVar55) + iVar76; iVar66 = (iVar28 - iVar55) + iVar71; iVar67 = (iVar46 - iVar55) + iVar79; do { iVar12 = uVar70 * 2 + iVar44 * uVar78 + iVar65; if (iVar32 < iVar12) { iVar13 = iVar24 * uVar70; if (iVar36 < iVar12) { if (iVar31 < iVar12) { *local_3e8 = *(undefined8 *)(param_3 + (longlong)(iVar67 + iVar13) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar59 - iVar46) - iVar79) - iVar13) * 8); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar67 + iVar13) * 8); *local_3e8 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar13 + iVar62) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar13 + iVar68) * 8); *local_3e8 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar13 + iVar62) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { *local_3e8 = *(undefined8 *) (param_3 + (longlong)(int)-(iVar68 + iVar24 * uVar70) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar46 + iVar79 + iVar24 * uVar70) * 8) ; uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar13 = iVar24 * uVar70; iVar12 = iVar12 + 1; local_3e8[2] = uVar84; if (iVar32 < iVar12) { if (iVar36 < iVar12) { if (iVar31 < iVar12) { local_3e8[1] = *(undefined8 *) (param_3 + (longlong)(iVar13 + (iVar56 - iVar55) + iVar79) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)((((iVar59 - iVar46) - iVar64) - iVar79) - iVar13) * 8); } else { uVar84 = *(undefined8 *) (param_3 + (longlong)-(iVar13 + iVar64 + (iVar46 - iVar55) + iVar79) * 8) ; local_3e8[1] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar13 + (iVar56 - iVar39) + iVar79) * 8 ); } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar13 + (iVar56 - iVar23) + iVar79) * 8); local_3e8[1] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)-(iVar13 + iVar64 + (iVar46 - iVar39) + iVar79) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[1] = *(undefined8 *) (param_3 + (longlong)((((iVar23 - iVar46) - iVar64) - iVar79) - iVar13) * 8); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar13 + iVar56 + iVar79) * 8) ; uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } local_3e8[3] = uVar84; iVar12 = uVar70 * 4 + iVar5 * uVar78 + iVar75; if (iVar32 < iVar12) { iVar13 = iVar2 * uVar70; if (iVar36 < iVar12) { if (iVar31 < iVar12) { local_3e8[4] = *(undefined8 *) (param_3 + (longlong)(iVar63 + iVar13) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar59 - iVar51) - iVar76) - iVar13) * 8); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar63 + iVar13) * 8); local_3e8[4] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar13 + iVar61) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar13 + iVar11) * 8); local_3e8[4] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar13 + iVar61) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[4] = *(undefined8 *) (param_3 + (longlong)(int)-(iVar11 + iVar2 * uVar70) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar51 + iVar76 + iVar2 * uVar70) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar13 = iVar2 * uVar70; iVar12 = iVar12 + 2; local_3e8[6] = uVar84; if (iVar32 < iVar12) { if (iVar36 < iVar12) { if (iVar31 < iVar12) { local_3e8[5] = *(undefined8 *) (param_3 + (longlong)(iVar13 + (iVar1 - iVar55) + iVar76) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong) ((((iVar59 - iVar51) + iVar64 * -2) - iVar76) - iVar13) * 8); } else { uVar84 = *(undefined8 *) (param_3 + (longlong)-(iVar13 + (iVar51 - iVar55) + iVar24 + iVar76) * 8) ; local_3e8[5] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar13 + (iVar1 - iVar39) + iVar76) * 8) ; } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar13 + (iVar1 - iVar23) + iVar76) * 8); local_3e8[5] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)-(iVar13 + (iVar51 - iVar39) + iVar24 + iVar76) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[5] = *(undefined8 *) (param_3 + (longlong) ((((iVar23 - iVar51) + iVar64 * -2) - iVar76) - iVar13) * 8) ; uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar13 + iVar1 + iVar76) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } local_3e8[7] = uVar84; iVar12 = uVar70 * 6 + iVar8 * uVar78 + iVar60; if (iVar32 < iVar12) { iVar13 = iVar42 * uVar70; if (iVar36 < iVar12) { if (iVar31 < iVar12) { local_3e8[8] = *(undefined8 *) (param_3 + (longlong)(iVar66 + iVar13) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar59 - iVar28) - iVar71) - iVar13) * 8); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar66 + iVar13) * 8); local_3e8[8] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar13 + iVar58) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar13 + iVar69) * 8); local_3e8[8] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar13 + iVar58) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[8] = *(undefined8 *) (param_3 + (longlong)(int)-(iVar69 + iVar42 * uVar70) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar28 + iVar71 + iVar42 * uVar70) * 8) ; uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar13 = iVar42 * uVar70; iVar12 = iVar12 + 3; local_3e8[10] = uVar84; if (iVar32 < iVar12) { if (iVar36 < iVar12) { if (iVar31 < iVar12) { local_3e8[9] = *(undefined8 *) (param_3 + (longlong)(iVar13 + iVar71 + (iVar50 - iVar55)) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong) ((((iVar59 - iVar28) + iVar64 * -3) - iVar71) - iVar13) * 8); } else { uVar84 = *(undefined8 *) (param_3 + (longlong)-(iVar13 + (iVar28 - iVar55) + iVar52 + iVar71) * 8) ; local_3e8[9] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar13 + (iVar50 - iVar39) + iVar71) * 8 ); } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar13 + (iVar50 - iVar23) + iVar71) * 8); local_3e8[9] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)-(iVar13 + (iVar28 - iVar39) + iVar52 + iVar71) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[9] = *(undefined8 *) (param_3 + (longlong) ((((iVar23 - iVar28) + iVar64 * -3) - iVar71) - iVar13) * 8) ; uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar13 + iVar50 + iVar71) * 8) ; uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } uVar70 = uVar70 + 1; local_3e8[0xb] = uVar84; local_3e8 = local_3e8 + 0xc; } while (uVar70 < uVar9); } uVar78 = uVar78 + 1; } while (uVar78 < uVar35); } goto LAB_180027d9d; } iVar27 = iVar59 + 3; if (0 < (int)uVar35) { iVar50 = 1 << ((byte)iVar27 & 0x1f); iVar71 = 1 << (cVar7 + (char)(iVar45 + -3) & 0x1fU); iVar66 = (int)(((uint)(iVar50 * 3 >> 1) >> 0x1e) + iVar50 * 3) >> 2; iVar2 = iVar71 * 4; iVar42 = iVar71 * 10; iVar58 = iVar50 / 2; iVar52 = iVar71 * 2; iVar46 = iVar26 * iVar71; iVar51 = iVar60 * iVar71; iVar61 = (int)(((uint)(iVar50 >> 1) >> 0x1e) + iVar50) >> 2; iVar36 = iVar71 * 0xc; iVar67 = iVar71 * iVar61; iVar32 = iVar25 * iVar71; iVar23 = iVar71 * 0xe; iVar39 = iVar54 * iVar71; iVar31 = iVar71 * 6; iVar69 = iVar71 * 3 + iVar51; iVar59 = iVar2 + iVar46; iVar62 = iVar71 * 5 + iVar32; iVar76 = iVar57 * iVar71; iVar28 = iVar71 * 8; iVar64 = iVar31 + iVar39; iVar55 = iVar75 * iVar71; iVar79 = iVar71 * 7 + iVar76; iVar68 = iVar71 * iVar58; iVar50 = iVar50 * iVar71; iVar1 = iVar52 + iVar55; iVar63 = iVar71 * iVar66; iVar56 = iVar65 * iVar71; iVar24 = iVar71 + iVar56; uVar78 = 0; do { uVar70 = 0; if (0 < (int)uVar53) { iVar72 = iVar44 * 7 * iVar71 * uVar78; iVar40 = iVar44 * 5 * iVar71 * uVar78; iVar47 = iVar44 * 6 * iVar71 * uVar78; iVar29 = iVar8 * iVar71 * uVar78; iVar37 = iVar44 * 4 * iVar71 * uVar78; iVar33 = iVar5 * iVar71 * uVar78; iVar11 = iVar72 - (iVar67 - iVar76); iVar12 = iVar47 - (iVar67 - iVar39); iVar13 = iVar40 - (iVar67 - iVar32); iVar14 = iVar37 - (iVar67 - iVar46); iVar80 = iVar33 - (iVar67 - iVar55); iVar15 = iVar29 - (iVar67 - iVar51); iVar16 = iVar33 - (iVar68 - iVar55); iVar17 = iVar29 - (iVar68 - iVar51); iVar18 = iVar37 - (iVar68 - iVar46); iVar19 = iVar40 - (iVar68 - iVar32); iVar20 = iVar47 - (iVar68 - iVar39); iVar21 = iVar72 - (iVar68 - iVar76); iVar22 = iVar44 * iVar71 * uVar78; iVar34 = iVar33 - (iVar63 - iVar55); iVar30 = iVar29 - (iVar63 - iVar51); iVar38 = iVar37 - (iVar63 - iVar46); iVar41 = iVar40 - (iVar63 - iVar32); iVar48 = iVar47 - (iVar63 - iVar39); iVar81 = iVar22 - (iVar63 - iVar56); iVar82 = iVar22 - (iVar68 - iVar56); iVar73 = iVar72 - (iVar63 - iVar76); iVar83 = iVar22 - (iVar67 - iVar56); do { iVar77 = uVar70 * 2 + iVar44 * uVar78 + iVar65; if (iVar61 < iVar77) { iVar74 = iVar52 * uVar70; if (iVar58 < iVar77) { if (iVar66 < iVar77) { *local_3e8 = *(undefined8 *)(param_3 + (longlong)(iVar81 + iVar74) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar50 - iVar56) - iVar22) - iVar74) * 8 ); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar81 + iVar74) * 8); *local_3e8 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar82) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar83) * 8); *local_3e8 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar82) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { *local_3e8 = *(undefined8 *) (param_3 + (longlong)(int)-(iVar83 + iVar52 * uVar70) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar22 + iVar56 + iVar52 * uVar70) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar74 = iVar52 * uVar70; iVar77 = iVar77 + 1; local_3e8[2] = uVar84; if (iVar61 < iVar77) { if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[1] = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar24 - iVar63) + iVar22) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)((((iVar50 - iVar56) - iVar71) - iVar22) - iVar74) * 8 ); } else { uVar84 = *(undefined8 *) (param_3 + (longlong)((((iVar63 - iVar56) - iVar71) - iVar22) - iVar74) * 8 ); local_3e8[1] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar24 - iVar68) + iVar22) * 8); } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar24 - iVar67) + iVar22) * 8); local_3e8[1] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)((((iVar68 - iVar56) - iVar71) - iVar22) - iVar74) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[1] = *(undefined8 *) (param_3 + (longlong)((((iVar67 - iVar56) - iVar71) - iVar22) - iVar74) * 8); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar24 + iVar22) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } local_3e8[3] = uVar84; iVar77 = uVar70 * 4 + iVar5 * uVar78 + iVar75; if (iVar61 < iVar77) { iVar74 = iVar2 * uVar70; if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[4] = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar34) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar50 - iVar55) - iVar33) - iVar74) * 8 ); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar34) * 8); local_3e8[4] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar16) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar80) * 8); local_3e8[4] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar16) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[4] = *(undefined8 *) (param_3 + (longlong)(int)-(iVar80 + iVar2 * uVar70) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar55 + iVar33 + iVar2 * uVar70) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar74 = iVar2 * uVar70; iVar77 = iVar77 + 2; local_3e8[6] = uVar84; if (iVar61 < iVar77) { if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[5] = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar1 - iVar63) + iVar33) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong) ((((iVar50 - iVar55) + iVar71 * -2) - iVar33) - iVar74) * 8); } else { uVar84 = *(undefined8 *) (param_3 + (longlong) ((((iVar63 - iVar55) + iVar71 * -2) - iVar33) - iVar74) * 8); local_3e8[5] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar1 - iVar68) + iVar33) * 8); } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar1 - iVar67) + iVar33) * 8); local_3e8[5] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)((((iVar68 - iVar55) + iVar71 * -2) - iVar33) - iVar74) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[5] = *(undefined8 *) (param_3 + (longlong) ((((iVar67 - iVar55) + iVar71 * -2) - iVar33) - iVar74) * 8); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar1 + iVar33) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } local_3e8[7] = uVar84; iVar77 = uVar70 * 6 + iVar8 * uVar78 + iVar60; if (iVar61 < iVar77) { iVar74 = iVar31 * uVar70; if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[8] = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar30) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar50 - iVar51) - iVar29) - iVar74) * 8 ); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar30) * 8); local_3e8[8] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar17) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar15) * 8); local_3e8[8] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar17) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[8] = *(undefined8 *) (param_3 + (longlong)(int)-(iVar15 + iVar31 * uVar70) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar51 + iVar29 + iVar31 * uVar70) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar74 = iVar31 * uVar70; iVar77 = iVar77 + 3; local_3e8[10] = uVar84; if (iVar61 < iVar77) { if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[9] = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar69 - iVar63) + iVar29) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong) ((((iVar50 - iVar51) + iVar71 * -3) - iVar29) - iVar74) * 8); } else { uVar84 = *(undefined8 *) (param_3 + (longlong) (((iVar71 * -3 + (iVar63 - iVar51)) - iVar29) - iVar74) * 8); local_3e8[9] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64 ,(uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar69 - iVar68) + iVar29) * 8); } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar69 - iVar67) + iVar29) * 8); local_3e8[9] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)((((iVar68 - iVar51) + iVar71 * -3) - iVar29) - iVar74) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[9] = *(undefined8 *) (param_3 + (longlong) ((((iVar67 - iVar51) + iVar71 * -3) - iVar29) - iVar74) * 8); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar69 + iVar29) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } local_3e8[0xb] = uVar84; iVar77 = uVar70 * 8 + iVar44 * 4 * uVar78 + iVar26; if (iVar61 < iVar77) { iVar74 = iVar28 * uVar70; if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[0xc] = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar38) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar50 - iVar46) - iVar37) - iVar74) * 8 ); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar38) * 8); local_3e8[0xc] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar18) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar14) * 8); local_3e8[0xc] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar18) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[0xc] = *(undefined8 *)(param_3 + (longlong)(int)-(iVar14 + iVar28 * uVar70) * 8) ; uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar46 + iVar37 + iVar28 * uVar70) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar74 = iVar28 * uVar70; iVar77 = iVar77 + 4; local_3e8[0xe] = uVar84; if (iVar61 < iVar77) { if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[0xd] = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar59 - iVar63) + iVar37) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong) ((((iVar50 - iVar46) + iVar71 * -4) - iVar37) - iVar74) * 8); } else { uVar84 = *(undefined8 *) (param_3 + (longlong) ((((iVar63 - iVar46) + iVar71 * -4) - iVar37) - iVar74) * 8); local_3e8[0xd] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar59 - iVar68) + iVar37) * 8); } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar59 - iVar67) + iVar37) * 8); local_3e8[0xd] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)((((iVar68 - iVar46) + iVar71 * -4) - iVar37) - iVar74) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[0xd] = *(undefined8 *) (param_3 + (longlong)((((iVar67 - iVar46) + iVar71 * -4) - iVar37) - iVar74) * 8); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar59 + iVar37) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } local_3e8[0xf] = uVar84; iVar77 = uVar70 * 10 + iVar44 * 5 * uVar78 + iVar25; if (iVar61 < iVar77) { iVar74 = iVar42 * uVar70; if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[0x10] = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar41) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar50 - iVar32) - iVar40) - iVar74) * 8 ); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar41) * 8); local_3e8[0x10] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar19) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar13) * 8); local_3e8[0x10] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar19) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[0x10] = *(undefined8 *)(param_3 + (longlong)(int)-(iVar13 + iVar42 * uVar70) * 8) ; uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar32 + iVar40 + iVar42 * uVar70) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar74 = iVar42 * uVar70; iVar77 = iVar77 + 5; local_3e8[0x12] = uVar84; if (iVar61 < iVar77) { if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[0x11] = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar62 - iVar63) + iVar40) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong) ((((iVar50 - iVar32) + iVar71 * -5) - iVar40) - iVar74) * 8); } else { uVar84 = *(undefined8 *) (param_3 + (longlong) (((iVar71 * -5 + (iVar63 - iVar32)) - iVar40) - iVar74) * 8); local_3e8[0x11] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar62 - iVar68) + iVar40) * 8); } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar62 - iVar67) + iVar40) * 8); local_3e8[0x11] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)((((iVar68 - iVar32) + iVar71 * -5) - iVar40) - iVar74) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[0x11] = *(undefined8 *) (param_3 + (longlong)((((iVar67 - iVar32) + iVar71 * -5) - iVar40) - iVar74) * 8); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar62 + iVar40) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } local_3e8[0x13] = uVar84; iVar77 = uVar70 * 0xc + iVar44 * 6 * uVar78 + iVar54; if (iVar61 < iVar77) { iVar74 = iVar36 * uVar70; if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[0x14] = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar48) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar50 - iVar39) - iVar47) - iVar74) * 8 ); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar48) * 8); local_3e8[0x14] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar20) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar12) * 8); local_3e8[0x14] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar20) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[0x14] = *(undefined8 *)(param_3 + (longlong)(int)-(iVar12 + iVar36 * uVar70) * 8) ; uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar39 + iVar47 + iVar36 * uVar70) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar74 = iVar36 * uVar70; iVar77 = iVar77 + 6; local_3e8[0x16] = uVar84; if (iVar61 < iVar77) { if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[0x15] = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar64 - iVar63) + iVar47) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong) ((((iVar50 - iVar39) + iVar71 * -6) - iVar47) - iVar74) * 8); } else { uVar84 = *(undefined8 *) (param_3 + (longlong) ((((iVar63 - iVar39) + iVar71 * -6) - iVar47) - iVar74) * 8); local_3e8[0x15] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar64 - iVar68) + iVar47) * 8); } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar64 - iVar67) + iVar47) * 8); local_3e8[0x15] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)((((iVar68 - iVar39) + iVar71 * -6) - iVar47) - iVar74) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[0x15] = *(undefined8 *) (param_3 + (longlong)((((iVar67 - iVar39) + iVar71 * -6) - iVar47) - iVar74) * 8); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar64 + iVar47) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar77 = uVar70 * 0xe + iVar44 * 7 * uVar78 + iVar57; local_3e8[0x17] = uVar84; if (iVar61 < iVar77) { iVar74 = iVar23 * uVar70; if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[0x18] = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar73) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong)(((iVar50 - iVar76) - iVar72) - iVar74) * 8 ); } else { uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar73) * 8); local_3e8[0x18] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar21) * 8); } } else { uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar11) * 8); local_3e8[0x18] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *)(param_3 + (longlong)-(iVar74 + iVar21) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[0x18] = *(undefined8 *)(param_3 + (longlong)(int)-(iVar11 + iVar23 * uVar70) * 8) ; uVar84 = *(undefined8 *) (param_3 + (longlong)(int)(iVar76 + iVar72 + iVar23 * uVar70) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } iVar74 = iVar23 * uVar70; iVar77 = iVar77 + 7; local_3e8[0x1a] = uVar84; if (iVar61 < iVar77) { if (iVar58 < iVar77) { if (iVar66 < iVar77) { local_3e8[0x19] = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar79 - iVar63) + iVar72) * 8); uVar84 = *(undefined8 *) (param_3 + (longlong) ((((iVar50 - iVar76) + iVar71 * -7) - iVar72) - iVar74) * 8); } else { uVar84 = *(undefined8 *) (param_3 + (longlong) (((iVar71 * -7 + (iVar63 - iVar76)) - iVar72) - iVar74) * 8); local_3e8[0x19] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar79 - iVar68) + iVar72) * 8); } } else { uVar84 = *(undefined8 *) (param_3 + (longlong)(iVar74 + (iVar79 - iVar67) + iVar72) * 8); local_3e8[0x19] = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); uVar84 = *(undefined8 *) (param_3 + (longlong)((((iVar68 - iVar76) + iVar71 * -7) - iVar72) - iVar74) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } } else { local_3e8[0x19] = *(undefined8 *) (param_3 + (longlong)((((iVar67 - iVar76) + iVar71 * -7) - iVar72) - iVar74) * 8); uVar84 = *(undefined8 *)(param_3 + (longlong)(iVar74 + iVar79 + iVar72) * 8); uVar84 = CONCAT44((uint)((ulonglong)uVar84 >> 0x20) ^ _UNK_181c5df64, (uint)uVar84 ^ _DAT_181c5df60); } uVar70 = uVar70 + 1; local_3e8[0x1b] = uVar84; local_3e8 = local_3e8 + 0x1c; } while (uVar70 < uVar9); } uVar78 = uVar78 + 1; } while (uVar78 < uVar35); } uVar35 = uVar35 << 3; iVar45 = iVar45 + -3; } iVar59 = iVar27; } while (iVar27 < param_2); } uVar43 = uVar43 + 1; iVar60 = iVar60 + uVar53 * 3; iVar26 = iVar26 + uVar53 * 4; iVar75 = iVar75 + uVar53 * 2; iVar25 = iVar25 + uVar53 * 5; iVar54 = iVar54 + uVar53 * 6; iVar57 = iVar57 + uVar53 * 7; iVar65 = iVar65 + uVar53; } while (uVar43 < uVar10); } iVar49 = (1 << ((byte)uVar4 & 0x1f)) * 0x10; iVar3 = *(int *)(param_1 + 0x1c); if (*(int *)(param_1 + 0x1c) <= iVar49) { iVar3 = iVar49; } *(int *)(param_1 + 0x1c) = iVar3; return local_c68 + (longlong)(1 << ((char)param_2 + 0x1fU & 0x1f)) * 2; }