
/* WARNING: Unknown calling convention */

int rc5_ecb_encrypt(uchar *pt,uchar *ct,symmetric_key *skey)

{
  ulong32 *puVar1;
  ulong32 *puVar2;
  ulong32 *puVar3;
  ulong32 *puVar4;
  ulong32 *puVar5;
  ulong32 *puVar6;
  ulong32 *puVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  ulong32 *puVar11;
  int iVar12;
  uint uVar13;
  
  if (skey == (symmetric_key *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("skey != NULL","src/ciphers/rc5.c",0x86);
  }
  if (pt == (uchar *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("pt != NULL","src/ciphers/rc5.c",0x87);
  }
  puVar11 = (skey->des3).ek[0] + 3;
  if (ct == (uchar *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("ct != NULL","src/ciphers/rc5.c",0x88);
  }
  uVar8 = *(uint *)pt;
  uVar9 = *(uint *)(pt + 4);
  uVar10 = (skey->rc5).rounds;
  uVar13 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
           ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 + (skey->des).ek[1];
  uVar8 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + (skey->des).ek[2];
  if ((uVar10 & 1) == 0) {
    if (0 < (int)uVar10) {
      iVar12 = 2;
      uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11;
      uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +
              (skey->des).ek[4];
      puVar11 = (skey->des3).ek[0] + 7;
      uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +
               (skey->des).ek[5];
      uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +
              (skey->des).ek[6];
      if (2 < (int)uVar10) {
        if ((int)((uVar10 - 1) * 0x40000000) < 0) {
          iVar12 = 4;
          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +
                  *puVar11;
          puVar11 = (skey->des3).ek[0] + 0xb;
          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +
                  (skey->des).ek[8];
          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +
                   (skey->des).ek[9];
          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +
                  (skey->des).ek[10];
          if ((int)uVar10 < 5) goto LAB_00010274;
        }
        do {
          puVar1 = puVar11 + 1;
          puVar2 = puVar11 + 2;
          puVar3 = puVar11 + 3;
          puVar4 = puVar11 + 4;
          iVar12 = iVar12 + 4;
          puVar5 = puVar11 + 5;
          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +
                  *puVar11;
          puVar6 = puVar11 + 6;
          puVar7 = puVar11 + 7;
          puVar11 = puVar11 + 8;
          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1
          ;
          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2
          ;
          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3
          ;
          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4
          ;
          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5
          ;
          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +
                   *puVar6;
          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +
                  *puVar7;
        } while (iVar12 < (int)uVar10);
      }
    }
  }
  else if (0 < (int)uVar10) {
    uVar9 = 0;
    if ((uVar10 & 1) != 0) {
      uVar9 = 1;
      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11
      ;
      puVar11 = (skey->des3).ek[0] + 5;
      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +
              (skey->des).ek[4];
      if (uVar10 == 1) goto LAB_00010274;
    }
    do {
      puVar1 = puVar11 + 1;
      puVar2 = puVar11 + 2;
      puVar3 = puVar11 + 3;
      uVar9 = uVar9 + 2;
      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11
      ;
      puVar11 = puVar11 + 4;
      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1
      ;
      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2;
      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3
      ;
    } while (uVar10 != uVar9);
  }
LAB_00010274:
  *ct = (uchar)uVar13;
  ct[4] = (uchar)uVar8;
  ct[3] = (uchar)(uVar13 >> 0x18);
  ct[2] = (uchar)(uVar13 >> 0x10);
  ct[1] = (uchar)(uVar13 >> 8);
  ct[7] = (uchar)(uVar8 >> 0x18);
  ct[6] = (uchar)(uVar8 >> 0x10);
  ct[5] = (uchar)(uVar8 >> 8);
  return 0;
}



/* WARNING: Control flow encountered bad instruction data */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int FUN_00010008(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)

{
  uint *puVar1;
  uint *puVar2;
  uint *puVar3;
  uint *puVar4;
  uint *puVar5;
  byte bVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint *puVar10;
  byte *pbVar11;
  byte *pbVar12;
  int *piVar13;
  int *piVar14;
  uint *puVar15;
  uint uVar16;
  uint *in_t0;
  int iVar17;
  uint uVar18;
  uint uVar19;
  uint uVar20;
  uint uVar21;
  uint *puVar22;
  code *unaff_s0;
  code *pcVar23;
  undefined4 unaff_s2;
  int *piVar24;
  undefined1 *in_t8;
  code *pcVar25;
  uint uVar26;
  int iVar27;
  uint uVar28;
  undefined4 local_1250;
  undefined4 local_124c;
  int aiStack_1248 [2];
  undefined1 auStack_1240 [4260];
  int local_19c;
  code *local_198;
  code *local_194;
  undefined4 local_190;
  uint local_154 [64];
  code *local_54;
  
  if (param_3 == (uint *)0x0) {
    (*__mips_gp0_value)(0,0,0x86);
LAB_000103ac:
    (*__mips_gp0_value)(0,0,0x88);
  }
  else {
    in_t8 = (undefined1 *)0x0;
    if (param_1 != (uint *)0x0) {
      in_t0 = param_3 + 3;
      if (param_2 != (undefined1 *)0x0) {
        uVar7 = *param_1;
        uVar9 = param_1[1];
        uVar16 = *param_3;
        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];
        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];
        if ((uVar16 & 1) == 0) {
          if (0 < (int)uVar16) {
            iVar17 = 2;
            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                    *in_t0;
            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +
                    param_3[4];
            puVar10 = param_3 + 7;
            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +
                     param_3[5];
            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +
                    param_3[6];
            if (2 < (int)uVar16) {
              if ((int)((uVar16 - 1) * 0x40000000) < 0) {
                iVar17 = 4;
                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                        *puVar10;
                puVar10 = param_3 + 0xb;
                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +
                        param_3[8];
                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +
                         param_3[9];
                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))
                        + param_3[10];
                if ((int)uVar16 < 5) goto LAB_00010274;
              }
              do {
                puVar15 = puVar10 + 1;
                puVar22 = puVar10 + 2;
                puVar1 = puVar10 + 3;
                puVar2 = puVar10 + 4;
                iVar17 = iVar17 + 4;
                puVar3 = puVar10 + 5;
                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                        *puVar10;
                puVar4 = puVar10 + 6;
                puVar5 = puVar10 + 7;
                puVar10 = puVar10 + 8;
                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +
                        *puVar15;
                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +
                        *puVar22;
                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +
                        *puVar1;
                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +
                        *puVar2;
                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +
                        *puVar3;
                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +
                         *puVar4;
                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))
                        + *puVar5;
              } while (iVar17 < (int)uVar16);
            }
          }
        }
        else if (0 < (int)uVar16) {
          uVar9 = 0;
          if ((uVar16 & 1) != 0) {
            uVar9 = 1;
            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                     *in_t0;
            in_t0 = param_3 + 5;
            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +
                    param_3[4];
            if (uVar16 == 1) goto LAB_00010274;
          }
          do {
            puVar10 = in_t0 + 1;
            puVar15 = in_t0 + 2;
            puVar22 = in_t0 + 3;
            uVar9 = uVar9 + 2;
            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                     *in_t0;
            in_t0 = in_t0 + 4;
            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +
                    *puVar10;
            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                     *puVar15;
            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +
                    *puVar22;
          } while (uVar16 != uVar9);
        }
LAB_00010274:
        *param_2 = (char)uVar26;
        param_2[4] = (char)uVar7;
        param_2[3] = (char)(uVar26 >> 0x18);
        param_2[2] = (char)(uVar26 >> 0x10);
        param_2[1] = (char)(uVar26 >> 8);
        param_2[7] = (char)(uVar7 >> 0x18);
        param_2[6] = (char)(uVar7 >> 0x10);
        param_2[5] = (char)(uVar7 >> 8);
        return 0;
      }
      goto LAB_000103ac;
    }
  }
  puVar15 = (uint *)&DAT_00000087;
  puVar10 = (uint *)0x0;
  (*__mips_gp0_value)();
  if (puVar15 == (uint *)0x0) {
    (*__mips_gp0_value)(0,0,0xbd);
LAB_00010768:
    (*__mips_gp0_value)(0,0,0xbf);
  }
  else {
    in_t0 = (uint *)0x0;
    if (in_t8 != (undefined1 *)0x0) {
      if (puVar10 != (uint *)0x0) {
        uVar7 = *puVar10;
        uVar9 = puVar10[1];
        uVar26 = *puVar15;
        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
        puVar10 = puVar15 + uVar26 * 2 + 1;
        uVar7 = uVar26 - 1;
        if ((uVar26 & 1) == 0) {
          if (-1 < (int)uVar7) {
            iVar17 = uVar26 - 3;
            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))
                    ^ uVar16;
            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^
                     uVar9;
            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |
                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;
            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |
                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;
            if (-1 < iVar17) {
              puVar22 = puVar10 + -6;
              if ((int)(uVar7 * 0x40000000) < 0) {
                iVar17 = uVar26 - 5;
                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |
                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;
                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |
                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;
                uVar16 = uVar9 - puVar10[-6];
                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |
                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;
                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;
                puVar22 = puVar10 + -10;
                if (iVar17 < 0) goto LAB_000104fc;
              }
              do {
                iVar17 = iVar17 + -4;
                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |
                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;
                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |
                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;
                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |
                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;
                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))
                        ^ uVar16;
                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |
                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;
                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |
                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;
                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |
                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;
                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |
                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;
                puVar22 = puVar22 + -8;
              } while (-1 < iVar17);
              uVar7 = puVar15[1];
              goto LAB_00010500;
            }
          }
        }
        else if (-1 < (int)uVar7) {
          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;
          puVar22 = puVar10 + -2;
          uVar8 = uVar16 - *puVar10;
          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^
                  uVar16;
          uVar7 = uVar26;
          while( true ) {
            uVar7 = uVar7 - 2;
            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;
            puVar10 = puVar22;
            if (uVar7 == 0xffffffff) break;
LAB_00010480:
            puVar22 = puVar10 + -4;
            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)
                     ) ^ uVar16;
            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^
                    uVar26;
            uVar8 = uVar9 - puVar10[-2];
            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |
                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;
          }
        }
LAB_000104fc:
        uVar7 = puVar15[1];
LAB_00010500:
        iVar17 = uVar16 - uVar7;
        iVar27 = uVar9 - puVar15[2];
        *in_t8 = (char)iVar17;
        in_t8[4] = (char)iVar27;
        in_t8[3] = (char)((uint)iVar17 >> 0x18);
        in_t8[7] = (char)((uint)iVar27 >> 0x18);
        in_t8[6] = (char)((uint)iVar27 >> 0x10);
        in_t8[5] = (char)((uint)iVar27 >> 8);
        in_t8[2] = (char)((uint)iVar17 >> 0x10);
        in_t8[1] = (char)((uint)iVar17 >> 8);
        return 0;
      }
      goto LAB_00010768;
    }
  }
  iVar17 = 0xbe;
  pbVar11 = (byte *)0x0;
  (*__mips_gp0_value)();
  pcVar23 = __mips_gp0_value;
  local_54 = *(code **)__mips_gp0_value;
  uVar7 = 0;
  if (param_4 == (int *)0x0) goto LAB_00010bc8;
  pcVar25 = __mips_gp0_value;
  if (pbVar11 != (byte *)0x0) {
    if (iVar17 == 0) {
      iVar17 = 0xc;
LAB_00010814:
      puVar10 = (uint *)0x1;
      if (in_t0 + -2 < (uint *)0x79) {
        *param_4 = iVar17;
        uVar7 = (uint)*pbVar11;
        pbVar12 = pbVar11 + 1;
        uVar16 = (int)in_t0 - 1U & 3;
        uVar9 = 0;
        if (uVar16 == 0) goto LAB_000108e4;
        if (uVar16 != 1) {
          puVar10 = (uint *)0x2;
          uVar9 = uVar7;
          if (uVar16 != 2) {
            bVar6 = *pbVar12;
            pbVar12 = pbVar11 + 2;
            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);
            puVar10 = (uint *)0x3;
          }
          uVar7 = (uint)*pbVar12 | uVar9 << 8;
          if (puVar10 == (uint *)0x0) {
            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +
                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;
            uVar7 = 0;
          }
          uVar9 = (uint)(puVar10 == (uint *)0x0);
          pbVar12 = pbVar12 + 1;
        }
        puVar10 = (uint *)((int)puVar10 + 1);
        uVar8 = uVar7 << 8;
        uVar26 = *pbVar12 | uVar8;
        uVar16 = uVar9;
        if (((uint)puVar10 & 3) == 0) {
          uVar16 = uVar9 + 1;
          uVar26 = 0;
          local_154[uVar9] =
               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;
        }
        pbVar12 = pbVar12 + 1;
        uVar7 = uVar26;
        uVar9 = uVar16;
        while (in_t0 != puVar10) {
LAB_000108e4:
          uVar26 = uVar7 << 8;
          uVar8 = *pbVar12 | uVar26;
          uVar16 = uVar9;
          if (((int)puVar10 + 1U & 3) == 0) {
            uVar16 = uVar9 + 1;
            uVar8 = 0;
            local_154[uVar9] =
                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +
                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;
          }
          uVar26 = uVar8 << 8;
          uVar9 = pbVar12[1] | uVar26;
          uVar7 = uVar16;
          if (((int)puVar10 + 2U & 3) == 0) {
            uVar7 = uVar16 + 1;
            uVar9 = 0;
            local_154[uVar16] =
                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +
                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;
          }
          uVar8 = uVar9 << 8;
          uVar26 = pbVar12[2] | uVar8;
          uVar16 = uVar7;
          if (((int)puVar10 + 3U & 3) == 0) {
            uVar16 = uVar7 + 1;
            uVar26 = 0;
            local_154[uVar7] =
                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;
          }
          puVar10 = puVar10 + 1;
          uVar8 = uVar26 << 8;
          uVar7 = pbVar12[3] | uVar8;
          uVar9 = uVar16;
          if (((uint)puVar10 & 3) == 0) {
            uVar9 = uVar16 + 1;
            uVar7 = 0;
            local_154[uVar16] =
                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;
          }
          pbVar12 = pbVar12 + 4;
        }
        uVar16 = uVar9;
        if (((uint)in_t0 & 3) != 0) {
          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);
          uVar16 = uVar9 + 1;
          local_154[uVar9] =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
        }
        uVar9 = (iVar17 + 1) * 2;
        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);
        uVar7 = uVar9;
        if (uVar9 <= uVar16) {
          uVar7 = uVar16;
        }
        uVar7 = uVar7 * 3;
        if (uVar7 != 0) {
          uVar19 = 0;
          uVar8 = 0;
          uVar20 = 0;
          uVar26 = 0;
          uVar18 = 0;
          if ((uVar7 & 1) != 0) {
            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;
            *puVar10 = uVar18;
            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |
                     local_154[0] + uVar18 << (uVar18 & 0x1f);
            local_154[0] = uVar26;
            uVar20 = (uint)(uVar9 != 1);
            uVar8 = (uint)(uVar16 != 1);
            uVar19 = 1;
            if (uVar7 == 1) goto LAB_00010b84;
          }
          do {
            uVar21 = uVar20 + 1;
            uVar28 = local_154[uVar8];
            uVar18 = uVar26 + puVar10[uVar20] + uVar18;
            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;
            puVar10[uVar20] = uVar18;
            uVar20 = uVar26 + uVar28 + uVar18;
            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);
            local_154[uVar8] = uVar26;
            if (uVar9 == uVar21) {
              uVar21 = 0;
            }
            uVar8 = uVar8 + 1;
            if (uVar16 == uVar8) {
              uVar8 = 0;
            }
            uVar20 = uVar21 + 1;
            uVar28 = local_154[uVar8];
            uVar18 = uVar26 + puVar10[uVar21] + uVar18;
            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;
            puVar10[uVar21] = uVar18;
            uVar21 = uVar26 + uVar28 + uVar18;
            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);
            local_154[uVar8] = uVar26;
            if (uVar9 == uVar20) {
              uVar20 = 0;
            }
            uVar8 = uVar8 + 1;
            if (uVar16 == uVar8) {
              uVar8 = 0;
            }
            uVar19 = uVar19 + 2;
          } while (uVar7 != uVar19);
        }
LAB_00010b84:
        iVar27 = 0;
      }
      else {
        iVar27 = 3;
      }
    }
    else {
      iVar27 = 4;
      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;
    }
    unaff_s0 = local_54;
    pcVar23 = *(code **)pcVar23;
    if (local_54 == pcVar23) {
      return iVar27;
    }
    pcVar25 = __mips_gp0_value;
    (*__mips_gp0_value)();
  }
  unaff_s2 = 0;
  (*pcVar25)(0,0,0x3c);
LAB_00010bc8:
  (*__mips_gp0_value)(0,uVar7,0x3b);
  pcVar25 = __mips_gp0_value;
  piVar24 = (int *)0x0;
  iVar17 = 0;
  local_19c = *(int *)__mips_gp0_value;
  local_198 = unaff_s0;
  local_194 = pcVar23;
  local_190 = unaff_s2;
  do {
    piVar14 = piVar24;
    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);
    if (iVar27 != 0) break;
    piVar13 = aiStack_1248;
    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);
    func_0x00000000(&local_1250,piVar13,auStack_1240);
    piVar14 = &local_1250;
    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);
    if ((iVar27 != 0) ||
       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,
       iVar27 != 0)) {
LAB_00010ea0:
      iVar27 = 5;
      break;
    }
    iVar27 = 1000;
    local_1250 = 0;
    local_124c = 0;
    do {
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      iVar27 = iVar27 + -8;
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
    } while (iVar27 != 0);
    iVar27 = 1000;
    do {
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      iVar27 = iVar27 + -8;
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
    } while (iVar27 != 0);
    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);
    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||
        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||
       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))
    goto LAB_00010ea0;
    iVar17 = iVar17 + 1;
    piVar24 = piVar24 + 8;
    iVar27 = 0;
  } while (iVar17 != 3);
  if (local_19c == *(int *)pcVar25) {
    return iVar27;
  }
  (*__mips_gp0_value)();
  if (piVar14 == (int *)0x0) {
    (*__mips_gp0_value)(0,0,0x132);
                    /* WARNING: Bad instruction - Truncating control flow here */
    halt_baddata();
  }
  if (*piVar14 < 8) {
    return 3;
  }
  if (*piVar14 < 0x81) {
    return 0;
  }
  *piVar14 = 0x80;
  return 0;
}


lui gp,0x0
addiu sp,sp,-0x20
addiu gp,gp,0x0
sw ra,0x1c(sp)
beq a2,zero,0x00010390
_sw gp,0x10(sp)
beq a0,zero,0x000103c8
_lui t8,0x0
beq a1,zero,0x000103ac
_addiu t0,a2,0xc
lwl v0,0x0(a0)
lwl v1,0x4(a0)
lw a3,0x0(a2)
lw t2,0x4(a2)
lwr v0,0x3(a0)
lwr v1,0x7(a0)
andi t1,a3,0x1
lw t8,0x8(a2)
wsbh t3,v0
wsbh a0,v1
rotr t4,t3,0x10
rotr t5,a0,0x10
addu ra,t4,t2
bne t1,zero,0x000102b8
_addu t8,t5,t8
blez a3,0x00010270
_subu t1,zero,t8
lw t7,0x0(t0)
xor t9,ra,t8
lw t6,0x4(t0)
sllv v1,t9,t8
lw ra,0x8(t0)
srlv v0,t9,t1
lw t3,0xc(t0)
li t1,0x2
or t0,v0,v1
addu t5,t0,t7
addiu t7,a3,-0x1
subu t2,zero,t5
xor a0,t5,t8
srlv t8,a0,t2
sllv t9,a0,t5
slt t4,t1,a3
or v1,t8,t9
addu t2,v1,t6
ext t6,t7,0x1,0x1
subu v0,zero,t2
xor t0,t5,t2
srlv t5,t0,v0
sllv t7,t0,t2
addiu t0,a2,0x1c
or a0,t5,t7
addu ra,a0,ra
subu t8,zero,ra
xor t9,t2,ra
srlv v1,t9,t8
sllv t2,t9,ra
or v0,v1,t2
beq t4,zero,0x00010270
_addu t8,v0,t3
beq t6,zero,0x00010184
_subu t3,zero,t8
subu t1,zero,t8
lw t4,0x0(t0)
xor ra,ra,t8
lw t5,0x8(t0)
sllv t7,ra,t8
lw t6,0x4(t0)
srlv a0,ra,t1
lw t3,0xc(t0)
li t1,0x4
or t0,a0,t7
addu t9,t0,t4
addiu t0,a2,0x2c
subu v1,zero,t9
xor t8,t9,t8
srlv t2,t8,v1
sllv v0,t8,t9
slt t4,t1,a3
or a2,t2,v0
addu t6,a2,t6
subu ra,zero,t6
xor t7,t9,t6
srlv a0,t7,ra
sllv t9,t7,t6
or v1,a0,t9
addu ra,v1,t5
subu t5,zero,ra
xor t2,t6,ra
srlv t8,t2,t5
sllv v0,t2,ra
or a2,t8,v0
beq t4,zero,0x00010270
_addu t8,a2,t3
subu t3,zero,t8
lw t4,0x0(t0)
xor t6,ra,t8
lw ra,0x4(t0)
sllv a0,t6,t8
lw t9,0x8(t0)
srlv v1,t6,t3
lw t7,0xc(t0)
lw t5,0x10(t0)
addiu t1,t1,0x4
or t2,v1,a0
lw v0,0x14(t0)
addu a2,t2,t4
lw t4,0x18(t0)
lw t3,0x1c(t0)
slt t2,t1,a3
subu t6,zero,a2
xor t8,a2,t8
sllv a0,t8,a2
srlv v1,t8,t6
addiu t0,t0,0x20
or t6,v1,a0
addu ra,t6,ra
subu t8,zero,ra
xor a2,a2,ra
srlv a0,a2,t8
sllv v1,a2,ra
or t6,a0,v1
addu t9,t6,t9
subu t8,zero,t9
xor ra,ra,t9
srlv a2,ra,t8
sllv a0,ra,t9
or v1,a2,a0
addu t7,v1,t7
subu t6,zero,t7
xor t9,t9,t7
srlv t8,t9,t6
sllv ra,t9,t7
or a2,t8,ra
addu t5,a2,t5
subu a0,zero,t5
xor t7,t5,t7
srlv v1,t7,a0
sllv t6,t7,t5
or t9,v1,t6
addu a2,t9,v0
subu v0,zero,a2
xor t8,t5,a2
srlv ra,t8,v0
sllv t5,t8,a2
or a0,ra,t5
addu ra,a0,t4
subu t4,zero,ra
xor t7,a2,ra
srlv t6,t7,t4
sllv v1,t7,ra
or t9,t6,v1
bne t2,zero,0x00010180
_addu t8,t9,t3
srl a3,ra,0x18
sb ra,0x0(a1)
srl t1,ra,0x10
sb t8,0x4(a1)
srl t0,ra,0x8
sb a3,0x3(a1)
srl t3,t8,0x18
sb t1,0x2(a1)
srl t2,t8,0x10
sb t0,0x1(a1)
srl a2,t8,0x8
sb t3,0x7(a1)
sb t2,0x6(a1)
or v0,zero,zero
sb a2,0x5(a1)
lw ra,0x1c(sp)
jr ra
_addiu sp,sp,0x20
blez a3,0x00010270
_andi t6,a3,0x1
beq t6,zero,0x0001030c
_or t1,zero,zero
subu t7,zero,t8
lw t9,0x0(t0)
xor ra,ra,t8
lw t2,0x4(t0)
srlv v0,ra,t7
sllv t0,ra,t8
li t1,0x1
or v1,v0,t0
addu ra,v1,t9
addiu t0,a2,0x14
subu a2,zero,ra
xor t8,ra,t8
srlv t3,t8,a2
sllv a0,t8,ra
or t4,t3,a0
beq a3,t1,0x00010270
_addu t8,t4,t2
subu t5,zero,t8
lw t6,0x0(t0)
xor t7,ra,t8
lw t9,0x4(t0)
sllv v1,t7,t8
lw t2,0x8(t0)
srlv v0,t7,t5
lw a2,0xc(t0)
addiu t1,t1,0x2
or ra,v0,v1
addu t3,ra,t6
addiu t0,t0,0x10
subu a0,zero,t3
xor t4,t3,t8
srlv t5,t4,a0
sllv t8,t4,t3
or t6,t5,t8
addu t7,t6,t9
subu t9,zero,t7
xor v1,t3,t7
sllv ra,v1,t7
srlv v0,v1,t9
or t3,v0,ra
addu ra,t3,t2
subu t2,zero,ra
xor a0,ra,t7
srlv t4,a0,t2
sllv t5,a0,ra
or t8,t4,t5
bne a3,t1,0x0001030c
_addu t8,t8,a2
b 0x00010274
_srl a3,ra,0x18
lui t5,0x0
lw t9,0x0(gp)
lui a0,0x0
li a2,0x86
addiu a1,t5,0x0
jalr t9
_addiu a0,a0,0x0
lui a1,0x0
lw t9,0x0(gp)
lui v0,0x0
li a2,0x88
addiu a1,a1,0x0
jalr t9
_addiu a0,v0,0x0
lw t9,0x0(gp)
lui ra,0x0
li a2,0x87
addiu a0,ra,0x0
jalr t9
_addiu a1,t8,0x0
lui gp,0x0
addiu sp,sp,-0x20
addiu gp,gp,0x0
sw ra,0x1c(sp)
beq a2,zero,0x0001074c
_sw gp,0x10(sp)
beq a1,zero,0x00010784
_lui t0,0x0
beq a0,zero,0x00010768
_addiu t2,a2,0x4
lwl v0,0x0(a0)
lwl v1,0x4(a0)
lw t0,0x0(a2)
lwr v0,0x3(a0)
lwr v1,0x7(a0)
sll t1,t0,0x3
andi a3,t0,0x1
wsbh a0,v0
wsbh t3,v1
rotr a0,a0,0x10
rotr v1,t3,0x10
addu ra,t2,t1
beq a3,zero,0x00010554
_addiu t9,t0,-0x1
bltz t9,0x000104fc
_ext t4,t9,0x0,0x1
bne t4,zero,0x00010480
_li t6,-0x1
lw t5,0x4(ra)
subu t7,zero,a0
lw t8,0x0(ra)
addiu t9,t0,-0x2
addiu ra,ra,-0x8
subu t2,v1,t5
subu v0,a0,t8
sllv v1,t2,t7
srlv t0,t2,a0
or t1,v1,t0
b 0x000104e4
_xor v1,t1,a0
lw t7,0x4(ra)
subu t5,zero,a0
lw t8,0x0(ra)
addiu ra,ra,-0x10
lw t2,0xc(ra)
addiu t9,t9,-0x2
subu t0,v1,t7
subu v0,a0,t8
srlv a3,t0,a0
sllv v1,t0,t5
lw t1,0x8(ra)
or t3,v1,a3
xor a0,t3,a0
subu t7,zero,a0
srlv t4,v0,a0
sllv t5,v0,t7
subu t8,a0,t2
or t2,t5,t4
xor a3,t2,a0
subu t0,zero,a3
srlv v1,t8,a3
sllv t3,t8,t0
subu v0,a3,t1
or t1,t3,v1
xor v1,t1,a3
subu a0,zero,v1
srlv a3,v0,v1
sllv t3,v0,a0
or t4,t3,a3
bne t9,t6,0x00010480
_xor a0,t4,v1
lw t5,0x4(a2)
or v0,zero,zero
lw a2,0x8(a2)
subu t4,a0,t5
subu ra,v1,a2
srl t6,t4,0x18
sb t4,0x0(a1)
srl a0,ra,0x18
sb ra,0x4(a1)
srl t9,ra,0x10
sb t6,0x3(a1)
srl v1,ra,0x8
sb a0,0x7(a1)
srl t1,t4,0x10
sb t9,0x6(a1)
srl t2,t4,0x8
sb v1,0x5(a1)
sb t1,0x2(a1)
sb t2,0x1(a1)
lw ra,0x1c(sp)
jr ra
_addiu sp,sp,0x20
bltz t9,0x000104fc
_subu t7,zero,a0
lw t6,0x4(ra)
lw v0,0x0(ra)
addiu t5,t0,-0x3
lw t8,-0x4(ra)
ext t9,t9,0x1,0x1
subu t4,v1,t6
lw t2,-0x8(ra)
subu a3,a0,v0
srlv t3,t4,a0
sllv v1,t4,t7
addiu t4,ra,-0x18
or t1,v1,t3
xor a0,t1,a0
subu t7,zero,a0
srlv t6,a3,a0
sllv v0,a3,t7
subu t8,a0,t8
or a3,v0,t6
xor v1,a3,a0
subu t3,zero,v1
srlv t1,t8,v1
sllv a0,t8,t3
subu t2,v1,t2
or t7,a0,t1
xor v1,t7,v1
subu t6,zero,v1
srlv v0,t2,v1
sllv t8,t2,t6
or a3,t8,v0
bltz t5,0x000104fc
_xor a0,a3,v1
beq t9,zero,0x00010658
_subu t3,zero,a0
lw t9,0xc(t4)
lw t1,0x8(t4)
addiu t5,t0,-0x5
lw t7,0x0(t4)
subu v1,v1,t9
lw t0,0x4(t4)
addiu t4,ra,-0x28
srlv t2,v1,a0
sllv v0,v1,t3
subu t6,a0,t1
or ra,v0,t2
xor a0,ra,a0
subu t8,zero,a0
srlv a3,t6,a0
sllv t9,t6,t8
subu t3,a0,t0
or t1,t9,a3
xor v1,t1,a0
subu t6,zero,v1
srlv t0,t3,v1
sllv t2,t3,t6
subu t7,v1,t7
or v0,t2,t0
xor v1,v0,v1
subu ra,zero,v1
srlv t8,t7,v1
sllv a0,t7,ra
or a3,a0,t8
bltz t5,0x000104fc
_xor a0,a3,v1
lw t9,0xc(t4)
subu t6,zero,a0
lw t1,0x8(t4)
addiu t5,t5,-0x4
lw t3,0x4(t4)
addiu t4,t4,-0x20
subu v1,v1,t9
lw t2,0x20(t4)
subu t7,a0,t1
lw ra,0x1c(t4)
srlv t8,v1,a0
lw t0,0x18(t4)
sllv a3,v1,t6
lw v0,0x14(t4)
lw t9,0x10(t4)
or t6,a3,t8
xor a0,t6,a0
subu t1,zero,a0
srlv v1,t7,a0
sllv t7,t7,t1
subu t3,a0,t3
or t8,t7,v1
xor a3,t8,a0
subu t6,zero,a3
srlv a0,t3,a3
sllv t1,t3,t6
subu t2,a3,t2
or v1,t1,a0
xor t7,v1,a3
subu t3,zero,t7
srlv t8,t2,t7
sllv a3,t2,t3
subu ra,t7,ra
or t6,a3,t8
xor t1,t6,t7
subu t2,zero,t1
srlv a0,ra,t1
sllv v1,ra,t2
subu t0,t1,t0
or t7,v1,a0
xor t3,t7,t1
subu t8,zero,t3
srlv a3,t0,t3
sllv ra,t0,t8
subu v0,t3,v0
or t6,ra,a3
xor t1,t6,t3
subu t2,zero,t1
srlv a0,v0,t1
sllv v1,v0,t2
subu t9,t1,t9
or t0,v1,a0
xor v1,t0,t1
subu t7,zero,v1
srlv t3,t9,v1
sllv t8,t9,t7
or a3,t8,t3
bgez t5,0x00010658
_xor a0,a3,v1
b 0x00010500
_lw t5,0x4(a2)
lui t3,0x0
lw t9,0x0(gp)
lui t8,0x0
li a2,0xbd
addiu a1,t3,0x0
jalr t9
_addiu a0,t8,0x0
lui a1,0x0
lw t9,0x0(gp)
lui v0,0x0
li a2,0xbf
addiu a1,a1,0x0
jalr t9
_addiu a0,v0,0x0
lw t9,0x0(gp)
lui t7,0x0
li a2,0xbe
addiu a1,t0,0x0
jalr t9
_addiu a0,t7,0x0
lui gp,0x0
addiu sp,sp,-0x130
addiu gp,gp,0x0
sw s1,0x124(sp)
lw s1,0x0(gp)
sw ra,0x12c(sp)
sw s2,0x128(sp)
sw s0,0x120(sp)
sw gp,0x10(sp)
lw v0,0x0(s1)
sw v0,0x11c(sp)
beq a3,zero,0x00010bc8
_lui t8,0x0
beq a0,zero,0x00010bb0
_lw t9,0x0(gp)
beq a2,zero,0x00010810
_addiu v1,a2,-0xc
sltiu t0,v1,0xd
bne t0,zero,0x00010814
_li v0,0x4
lw s0,0x11c(sp)
lw s1,0x0(s1)
bne s0,s1,0x00010ba4
_lw ra,0x12c(sp)
lw s2,0x128(sp)
lw s1,0x124(sp)
lw s0,0x120(sp)
jr ra
_addiu sp,sp,0x130
li a2,0xc
addiu t1,a1,-0x8
sltiu t2,t1,0x79
beq t2,zero,0x00010b8c
_li v1,0x1
sw a2,0x0(a3)
lbu t1,0x0(a0)
addiu a3,a3,0x4
subu t3,a1,v1
addiu a0,a0,0x1
andi t4,t3,0x3
beq t4,zero,0x000108e4
_or s0,zero,zero
beq t4,v1,0x000108a4
_li t5,0x2
beq t4,t5,0x0001086c
_addiu v1,v1,0x1
lbu t6,0x0(a0)
sll t7,t1,0x8
li v1,0x2
addiu a0,a0,0x1
or t1,t6,t7
addiu v1,v1,0x1
lbu s2,0x0(a0)
sll t8,t1,0x8
andi t9,v1,0x3
bne t9,zero,0x000108a0
_or t1,s2,t8
sll ra,s0,0x2
addiu v0,sp,0x120
wsbh t1,t1
addu t0,v0,ra
rotr t2,t1,0x10
addiu s0,s0,0x1
or t1,zero,zero
sw t2,-0x104(t0)
addiu a0,a0,0x1
addiu v1,v1,0x1
lbu t3,0x0(a0)
sll t4,t1,0x8
andi t5,v1,0x3
bne t5,zero,0x000108dc
_or t1,t3,t4
sll t6,s0,0x2
addiu s2,sp,0x120
wsbh t7,t1
addu t8,s2,t6
rotr t9,t7,0x10
addiu s0,s0,0x1
or t1,zero,zero
sw t9,-0x104(t8)
beq a1,v1,0x000109d0
_addiu a0,a0,0x1
addiu v1,v1,0x1
lbu ra,0x0(a0)
sll v0,t1,0x8
andi t1,v1,0x3
bne t1,zero,0x0001091c
_or t6,ra,v0
sll t2,s0,0x2
addiu t0,sp,0x120
wsbh t3,t6
addu t4,t0,t2
rotr t5,t3,0x10
addiu s0,s0,0x1
or t6,zero,zero
sw t5,-0x104(t4)
lbu s2,0x1(a0)
addiu t7,v1,0x1
sll t8,t6,0x8
andi t9,t7,0x3
addiu a0,a0,0x1
bne t9,zero,0x00010958
_or t4,s2,t8
sll ra,s0,0x2
addiu v0,sp,0x120
wsbh t1,t4
addu t2,v0,ra
rotr t3,t1,0x10
addiu s0,s0,0x1
or t4,zero,zero
sw t3,-0x104(t2)
addiu t5,v1,0x2
lbu t0,0x1(a0)
sll t6,t4,0x8
andi t7,t5,0x3
bne t7,zero,0x00010990
_or t2,t0,t6
sll s2,s0,0x2
addiu t9,sp,0x120
wsbh t8,t2
addu ra,t9,s2
rotr t1,t8,0x10
addiu s0,s0,0x1
or t2,zero,zero
sw t1,-0x104(ra)
addiu v1,v1,0x3
lbu v0,0x2(a0)
sll t3,t2,0x8
andi t4,v1,0x3
bne t4,zero,0x000109c8
_or t1,v0,t3
sll t5,s0,0x2
addiu t0,sp,0x120
wsbh t6,t1
addu t7,t0,t5
rotr s2,t6,0x10
addiu s0,s0,0x1
or t1,zero,zero
sw s2,-0x104(t7)
bne a1,v1,0x000108e4
_addiu a0,a0,0x3
andi a1,a1,0x3
beq a1,zero,0x00010a04
_li t9,0x4
sll t8,s0,0x2
subu ra,t9,a1
addiu t2,sp,0x120
sll v0,ra,0x3
addu v1,t2,t8
sllv t3,t1,v0
addiu s0,s0,0x1
wsbh t4,t3
rotr t5,t4,0x10
sw t5,-0x104(v1)
addiu a2,a2,0x1
lw t9,0x0(gp)
lui t6,0x0
sll s2,a2,0x1
addiu a1,t6,0x60
sll a2,a2,0x3
jalr t9
_or a0,a3,zero
sltu t0,s0,s2
or t7,s2,zero
lw gp,0x10(sp)
movz t7,s0,t0
sll t1,t7,0x1
addu t8,t1,t7
beq t8,zero,0x00010b84
_or a3,v0,zero
andi a0,t8,0x1
or t2,zero,zero
or t0,zero,zero
or t3,zero,zero
or v0,zero,zero
beq a0,zero,0x00010aa8
_or t1,zero,zero
lw a1,0x0(a3)
li t3,0x1
lw ra,0x1c(sp)
rotr t1,a1,0x1d
addu t2,ra,t1
sw t1,0x0(a3)
subu v0,zero,t1
sllv v1,t2,t1
srlv t4,t2,v0
or v0,t4,v1
beq s2,t3,0x00010b9c
_sw v0,0x1c(sp)
li t0,0x1
beq s0,t0,0x00010b94
_nop
li t2,0x1
beq t8,t2,0x00010b84
_nop
sll t5,t3,0x2
sll a2,t0,0x2
addu t9,a3,t5
addiu t6,sp,0x120
addiu t3,t3,0x1
lw a0,0x0(t9)
addu t7,t6,a2
addu a1,v0,a0
lw ra,-0x104(t7)
addu t1,a1,t1
addu v1,v0,ra
rotr a2,t1,0x1d
addu v0,a2,v0
sw a2,0x0(t9)
addu t4,v1,a2
subu t5,zero,v0
sllv t9,t4,v0
srlv t6,t4,t5
or ra,t6,t9
bne s2,t3,0x00010b00
_sw ra,-0x104(t7)
or t3,zero,zero
addiu t7,t0,0x1
bne s0,t7,0x00010b10
_sll t0,t3,0x2
or t7,zero,zero
sll a1,t7,0x2
addu t4,a3,t0
addiu a0,sp,0x120
addiu t3,t3,0x1
lw t1,0x0(t4)
addu t5,a0,a1
addiu t2,t2,0x1
addu v0,ra,t1
lw v1,-0x104(t5)
addu a2,v0,a2
addu t9,ra,v1
rotr t1,a2,0x1d
addu t6,t1,ra
sw t1,0x0(t4)
addu ra,t9,t1
subu t0,zero,t6
sllv a1,ra,t6
srlv t4,ra,t0
or v0,t4,a1
bne s2,t3,0x00010b68
_sw v0,-0x104(t5)
or t3,zero,zero
addiu t0,t7,0x1
bne s0,t0,0x00010b78
_nop
or t0,zero,zero
addiu t2,t2,0x1
bne t8,t2,0x00010aa8
_nop
b 0x000107ec
_or v0,zero,zero
b 0x000107ec
_li v0,0x3
b 0x00010a9c
_or t0,zero,zero
b 0x00010a90
_or t3,zero,zero
lw t9,0x0(gp)
jalr t9
_nop
lui s2,0x0
lui a3,0x0
li a2,0x3c
addiu a1,s2,0x0
jalr t9
_addiu a0,a3,0x0
lw t9,0x0(gp)
lui t7,0x0
li a2,0x3b
addiu a1,t8,0x0
jalr t9
_addiu a0,t7,0x0
lui gp,0x0
addiu sp,sp,-0x1100
addiu gp,gp,0x0
sw s8,0x10f8(sp)
sw s7,0x10f4(sp)
lui s7,0x0
sw s6,0x10f0(sp)
lui s6,0x0
sw s3,0x10e4(sp)
lui s3,0x0
lw s8,0x0(gp)
addiu s7,s7,0x0
sw s5,0x10ec(sp)
addiu s3,s3,0x0
sw s1,0x10dc(sp)
or s5,zero,zero
sw s0,0x10d8(sp)
addiu s1,sp,0x30
sw ra,0x10fc(sp)
addiu s0,sp,0x20
sw s4,0x10e8(sp)
addiu s6,s6,0x0
sw s2,0x10e0(sp)
sw gp,0x18(sp)
lw v0,0x0(s8)
sw v0,0x10d4(sp)
li a2,0xc
li a1,0x10
or a3,s1,zero
jal 0x00000000
_or a0,s3,zero
lw gp,0x18(sp)
bne v0,zero,0x00010e60
_or s4,v0,zero
addiu s4,s3,0x10
addiu s2,sp,0x28
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s4,zero
or a2,s1,zero
or a1,s2,zero
jal 0x00000000
_or a0,s0,zero
li a3,0x8
lw gp,0x18(sp)
addiu a2,s3,0x18
li a1,0x8
sw s5,0x14(sp)
sw s7,0x10(sp)
lw t9,0x0(gp)
jalr t9
_or a0,s0,zero
bne v0,zero,0x00010ea0
_lw gp,0x18(sp)
lw t9,0x0(gp)
li a3,0x8
li a1,0x8
sw s5,0x14(sp)
or a2,s4,zero
sw s6,0x10(sp)
jalr t9
_or a0,s2,zero
lw gp,0x18(sp)
bne v0,zero,0x00010ea0
_or s4,v0,zero
li s2,0x3e8
sw zero,0x20(sp)
sw zero,0x24(sp)
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
addiu s2,s2,-0x8
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
bne s2,zero,0x00010cf8
_or a2,s1,zero
li s2,0x3e8
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
addiu s2,s2,-0x8
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
or a2,s1,zero
or a1,s0,zero
jal 0x00000000
_or a0,s0,zero
bne s2,zero,0x00010d84
_lw gp,0x18(sp)
lbu v1,0x20(sp)
bne v1,zero,0x00010ea0
_lbu a0,0x21(sp)
bne a0,zero,0x00010ea0
_lbu a1,0x22(sp)
bne a1,zero,0x00010ea0
_lbu a2,0x23(sp)
bne a2,zero,0x00010ea0
_lbu a3,0x24(sp)
bne a3,zero,0x00010ea0
_lbu t0,0x25(sp)
bne t0,zero,0x00010ea0
_lbu t1,0x26(sp)
bne t1,zero,0x00010ea0
_lbu t2,0x27(sp)
bne t2,zero,0x00010ea0
_li t3,0x3
addiu s5,s5,0x1
bne s5,t3,0x00010c48
_addiu s3,s3,0x20
lw t4,0x10d4(sp)
or v0,s4,zero
lw t5,0x0(s8)
bne t4,t5,0x00010ea8
_lw ra,0x10fc(sp)
lw s8,0x10f8(sp)
lw s7,0x10f4(sp)
lw s6,0x10f0(sp)
lw s5,0x10ec(sp)
lw s4,0x10e8(sp)
lw s3,0x10e4(sp)
lw s2,0x10e0(sp)
lw s1,0x10dc(sp)
lw s0,0x10d8(sp)
jr ra
_addiu sp,sp,0x1100
b 0x00010e60
_li s4,0x5
lw t9,0x0(gp)
jalr t9
_nop
beq a0,zero,0x00010ef0
_lui gp,0x0
lw v0,0x0(a0)
slti v1,v0,0x8
bne v1,zero,0x00010ee8
_nop
slti v0,v0,0x81
bne v0,zero,0x00010ee0
_li a1,0x80
jr ra
_sw a1,0x0(a0)
jr ra
_or v0,zero,zero
jr ra
_li v0,0x3
(translation_unit "/* WARNING: Control flow encountered bad instruction data */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nint FUN_00010008(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)\n\n{\n  uint *puVar1;\n  uint *puVar2;\n  uint *puVar3;\n  uint *puVar4;\n  uint *puVar5;\n  byte bVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  int *piVar13;\n  int *piVar14;\n  uint *puVar15;\n  uint uVar16;\n  uint *in_t0;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint *puVar22;\n  code *unaff_s0;\n  code *pcVar23;\n  undefined4 unaff_s2;\n  int *piVar24;\n  undefined1 *in_t8;\n  code *pcVar25;\n  uint uVar26;\n  int iVar27;\n  uint uVar28;\n  undefined4 local_1250;\n  undefined4 local_124c;\n  int aiStack_1248 [2];\n  undefined1 auStack_1240 [4260];\n  int local_19c;\n  code *local_198;\n  code *local_194;\n  undefined4 local_190;\n  uint local_154 [64];\n  code *local_54;\n  \n  if (param_3 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }\n  else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }\n  puVar15 = (uint *)&DAT_00000087;\n  puVar10 = (uint *)0x0;\n  (*__mips_gp0_value)();\n  if (puVar15 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }\n  else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }\n  iVar17 = 0xbe;\n  pbVar11 = (byte *)0x0;\n  (*__mips_gp0_value)();\n  pcVar23 = __mips_gp0_value;\n  local_54 = *(code **)__mips_gp0_value;\n  uVar7 = 0;\n  if (param_4 == (int *)0x0) goto LAB_00010bc8;\n  pcVar25 = __mips_gp0_value;\n  if (pbVar11 != (byte *)0x0) {\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }\n  unaff_s2 = 0;\n  (*pcVar25)(0,0,0x3c);\nLAB_00010bc8:\n  (*__mips_gp0_value)(0,uVar7,0x3b);\n  pcVar25 = __mips_gp0_value;\n  piVar24 = (int *)0x0;\n  iVar17 = 0;\n  local_19c = *(int *)__mips_gp0_value;\n  local_198 = unaff_s0;\n  local_194 = pcVar23;\n  local_190 = unaff_s2;\n  do {\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  } while (iVar17 != 3);\n  if (local_19c == *(int *)pcVar25) {\n    return iVar27;\n  }\n  (*__mips_gp0_value)();\n  if (piVar14 == (int *)0x0) {\n    (*__mips_gp0_value)(0,0,0x132);\n                    /* WARNING: Bad instruction - Truncating control flow here */\n    halt_baddata();\n  }\n  if (*piVar14 < 8) {\n    return 3;\n  }\n  if (*piVar14 < 0x81) {\n    return 0;\n  }\n  *piVar14 = 0x80;\n  return 0;\n}\n\n" comment comment (function_definition "int FUN_00010008(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)\n\n{\n  uint *puVar1;\n  uint *puVar2;\n  uint *puVar3;\n  uint *puVar4;\n  uint *puVar5;\n  byte bVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  int *piVar13;\n  int *piVar14;\n  uint *puVar15;\n  uint uVar16;\n  uint *in_t0;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint *puVar22;\n  code *unaff_s0;\n  code *pcVar23;\n  undefined4 unaff_s2;\n  int *piVar24;\n  undefined1 *in_t8;\n  code *pcVar25;\n  uint uVar26;\n  int iVar27;\n  uint uVar28;\n  undefined4 local_1250;\n  undefined4 local_124c;\n  int aiStack_1248 [2];\n  undefined1 auStack_1240 [4260];\n  int local_19c;\n  code *local_198;\n  code *local_194;\n  undefined4 local_190;\n  uint local_154 [64];\n  code *local_54;\n  \n  if (param_3 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }\n  else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }\n  puVar15 = (uint *)&DAT_00000087;\n  puVar10 = (uint *)0x0;\n  (*__mips_gp0_value)();\n  if (puVar15 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }\n  else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }\n  iVar17 = 0xbe;\n  pbVar11 = (byte *)0x0;\n  (*__mips_gp0_value)();\n  pcVar23 = __mips_gp0_value;\n  local_54 = *(code **)__mips_gp0_value;\n  uVar7 = 0;\n  if (param_4 == (int *)0x0) goto LAB_00010bc8;\n  pcVar25 = __mips_gp0_value;\n  if (pbVar11 != (byte *)0x0) {\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }\n  unaff_s2 = 0;\n  (*pcVar25)(0,0,0x3c);\nLAB_00010bc8:\n  (*__mips_gp0_value)(0,uVar7,0x3b);\n  pcVar25 = __mips_gp0_value;\n  piVar24 = (int *)0x0;\n  iVar17 = 0;\n  local_19c = *(int *)__mips_gp0_value;\n  local_198 = unaff_s0;\n  local_194 = pcVar23;\n  local_190 = unaff_s2;\n  do {\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  } while (iVar17 != 3);\n  if (local_19c == *(int *)pcVar25) {\n    return iVar27;\n  }\n  (*__mips_gp0_value)();\n  if (piVar14 == (int *)0x0) {\n    (*__mips_gp0_value)(0,0,0x132);\n                    /* WARNING: Bad instruction - Truncating control flow here */\n    halt_baddata();\n  }\n  if (*piVar14 < 8) {\n    return 3;\n  }\n  if (*piVar14 < 0x81) {\n    return 0;\n  }\n  *piVar14 = 0x80;\n  return 0;\n}" primitive_type (function_declarator "FUN_00010008(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)" identifier (parameter_list "(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  uint *puVar2;\n  uint *puVar3;\n  uint *puVar4;\n  uint *puVar5;\n  byte bVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  int *piVar13;\n  int *piVar14;\n  uint *puVar15;\n  uint uVar16;\n  uint *in_t0;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint *puVar22;\n  code *unaff_s0;\n  code *pcVar23;\n  undefined4 unaff_s2;\n  int *piVar24;\n  undefined1 *in_t8;\n  code *pcVar25;\n  uint uVar26;\n  int iVar27;\n  uint uVar28;\n  undefined4 local_1250;\n  undefined4 local_124c;\n  int aiStack_1248 [2];\n  undefined1 auStack_1240 [4260];\n  int local_19c;\n  code *local_198;\n  code *local_194;\n  undefined4 local_190;\n  uint local_154 [64];\n  code *local_54;\n  \n  if (param_3 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }\n  else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }\n  puVar15 = (uint *)&DAT_00000087;\n  puVar10 = (uint *)0x0;\n  (*__mips_gp0_value)();\n  if (puVar15 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }\n  else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }\n  iVar17 = 0xbe;\n  pbVar11 = (byte *)0x0;\n  (*__mips_gp0_value)();\n  pcVar23 = __mips_gp0_value;\n  local_54 = *(code **)__mips_gp0_value;\n  uVar7 = 0;\n  if (param_4 == (int *)0x0) goto LAB_00010bc8;\n  pcVar25 = __mips_gp0_value;\n  if (pbVar11 != (byte *)0x0) {\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }\n  unaff_s2 = 0;\n  (*pcVar25)(0,0,0x3c);\nLAB_00010bc8:\n  (*__mips_gp0_value)(0,uVar7,0x3b);\n  pcVar25 = __mips_gp0_value;\n  piVar24 = (int *)0x0;\n  iVar17 = 0;\n  local_19c = *(int *)__mips_gp0_value;\n  local_198 = unaff_s0;\n  local_194 = pcVar23;\n  local_190 = unaff_s2;\n  do {\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  } while (iVar17 != 3);\n  if (local_19c == *(int *)pcVar25) {\n    return iVar27;\n  }\n  (*__mips_gp0_value)();\n  if (piVar14 == (int *)0x0) {\n    (*__mips_gp0_value)(0,0,0x132);\n                    /* WARNING: Bad instruction - Truncating control flow here */\n    halt_baddata();\n  }\n  if (*piVar14 < 8) {\n    return 3;\n  }\n  if (*piVar14 < 0x81) {\n    return 0;\n  }\n  *piVar14 = 0x80;\n  return 0;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint *in_t0;" type_identifier (pointer_declarator "*in_t0" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "code *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined4 unaff_s2;" type_identifier identifier ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "undefined1 *in_t8;" type_identifier (pointer_declarator "*in_t8" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "undefined4 local_1250;" type_identifier identifier ;) (declaration "undefined4 local_124c;" type_identifier identifier ;) (declaration "int aiStack_1248 [2];" primitive_type (array_declarator "aiStack_1248 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_1240 [4260];" type_identifier (array_declarator "auStack_1240 [4260]" identifier [ number_literal ]) ;) (declaration "int local_19c;" primitive_type identifier ;) (declaration "code *local_198;" type_identifier (pointer_declarator "*local_198" * identifier) ;) (declaration "code *local_194;" type_identifier (pointer_declarator "*local_194" * identifier) ;) (declaration "undefined4 local_190;" type_identifier identifier ;) (declaration "uint local_154 [64];" type_identifier (array_declarator "local_154 [64]" identifier [ number_literal ]) ;) (declaration "code *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (if_statement "if (param_3 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }\n  else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }" if (parenthesized_expression "(param_3 == (uint *)0x0)" ( (binary_expression "param_3 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }" { (expression_statement "(*__mips_gp0_value)(0,0,0x86);" (call_expression "(*__mips_gp0_value)(0,0,0x86)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,0,0x86)" ( number_literal , number_literal , number_literal ))) ;) (labeled_statement "LAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);" statement_identifier : (expression_statement "(*__mips_gp0_value)(0,0,0x88);" (call_expression "(*__mips_gp0_value)(0,0,0x88)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,0,0x88)" ( number_literal , number_literal , number_literal ))) ;)) }) (else_clause "else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }" else (compound_statement "{\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }" { (expression_statement "in_t8 = (undefined1 *)0x0;" (assignment_expression "in_t8 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }" if (parenthesized_expression "(param_1 != (uint *)0x0)" ( (binary_expression "param_1 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }" { (expression_statement "in_t0 = param_3 + 3;" (assignment_expression "in_t0 = param_3 + 3" identifier = (binary_expression "param_3 + 3" identifier + number_literal)) ;) (if_statement "if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }" if (parenthesized_expression "(param_2 != (undefined1 *)0x0)" ( (binary_expression "param_2 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }" { (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = *param_3;" (assignment_expression "uVar16 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];" (assignment_expression "uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1]" identifier = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1]" (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) + (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];" (assignment_expression "uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2]" identifier = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2]" (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) + (subscript_expression "param_3[2]" identifier [ number_literal ]))) ;) (if_statement "if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" if (parenthesized_expression "((uVar16 & 1) == 0)" ( (binary_expression "(uVar16 & 1) == 0" (parenthesized_expression "(uVar16 & 1)" ( (binary_expression "uVar16 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }" { (if_statement "if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }" if (parenthesized_expression "(0 < (int)uVar16)" ( (binary_expression "0 < (int)uVar16" number_literal < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }" { (expression_statement "iVar17 = 2;" (assignment_expression "iVar17 = 2" identifier = number_literal) ;) (expression_statement "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;" (assignment_expression "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*in_t0" * identifier))) ;) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4]" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[4]" identifier [ number_literal ]))) ;) (expression_statement "puVar10 = param_3 + 7;" (assignment_expression "puVar10 = param_3 + 7" identifier = (binary_expression "param_3 + 7" identifier + number_literal)) ;) (expression_statement "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];" (assignment_expression "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5]" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[5]" identifier [ number_literal ]))) ;) (expression_statement "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];" (assignment_expression "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6]" identifier = (binary_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6]" (parenthesized_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))" ( (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)" (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar7 ^ uVar26) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[6]" identifier [ number_literal ]))) ;) (if_statement "if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }" if (parenthesized_expression "(2 < (int)uVar16)" ( (binary_expression "2 < (int)uVar16" number_literal < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }" { (if_statement "if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }" if (parenthesized_expression "((int)((uVar16 - 1) * 0x40000000) < 0)" ( (binary_expression "(int)((uVar16 - 1) * 0x40000000) < 0" (cast_expression "(int)((uVar16 - 1) * 0x40000000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uVar16 - 1) * 0x40000000)" ( (binary_expression "(uVar16 - 1) * 0x40000000" (parenthesized_expression "(uVar16 - 1)" ( (binary_expression "uVar16 - 1" identifier - number_literal) )) * number_literal) ))) < number_literal) )) (compound_statement "{\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }" { (expression_statement "iVar17 = 4;" (assignment_expression "iVar17 = 4" identifier = number_literal) ;) (expression_statement "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;" (assignment_expression "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "puVar10 = param_3 + 0xb;" (assignment_expression "puVar10 = param_3 + 0xb" identifier = (binary_expression "param_3 + 0xb" identifier + number_literal)) ;) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8]" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[8]" identifier [ number_literal ]))) ;) (expression_statement "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];" (assignment_expression "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9]" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[9]" identifier [ number_literal ]))) ;) (expression_statement "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];" (assignment_expression "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10]" identifier = (binary_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10]" (parenthesized_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))" ( (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)" (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar7 ^ uVar26) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[10]" identifier [ number_literal ]))) ;) (if_statement "if ((int)uVar16 < 5) goto LAB_00010274;" if (parenthesized_expression "((int)uVar16 < 5)" ( (binary_expression "(int)uVar16 < 5" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00010274;" goto statement_identifier ;)) })) (do_statement "do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);" do (compound_statement "{\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              }" { (expression_statement "puVar15 = puVar10 + 1;" (assignment_expression "puVar15 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar10 + 2;" (assignment_expression "puVar22 = puVar10 + 2" identifier = (binary_expression "puVar10 + 2" identifier + number_literal)) ;) (expression_statement "puVar1 = puVar10 + 3;" (assignment_expression "puVar1 = puVar10 + 3" identifier = (binary_expression "puVar10 + 3" identifier + number_literal)) ;) (expression_statement "puVar2 = puVar10 + 4;" (assignment_expression "puVar2 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) (expression_statement "iVar17 = iVar17 + 4;" (assignment_expression "iVar17 = iVar17 + 4" identifier = (binary_expression "iVar17 + 4" identifier + number_literal)) ;) (expression_statement "puVar3 = puVar10 + 5;" (assignment_expression "puVar3 = puVar10 + 5" identifier = (binary_expression "puVar10 + 5" identifier + number_literal)) ;) (expression_statement "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;" (assignment_expression "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "puVar4 = puVar10 + 6;" (assignment_expression "puVar4 = puVar10 + 6" identifier = (binary_expression "puVar10 + 6" identifier + number_literal)) ;) (expression_statement "puVar5 = puVar10 + 7;" (assignment_expression "puVar5 = puVar10 + 7" identifier = (binary_expression "puVar10 + 7" identifier + number_literal)) ;) (expression_statement "puVar10 = puVar10 + 8;" (assignment_expression "puVar10 = puVar10 + 8" identifier = (binary_expression "puVar10 + 8" identifier + number_literal)) ;) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar15" * identifier))) ;) (expression_statement "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;" (assignment_expression "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar22" * identifier))) ;) (expression_statement "uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;" (assignment_expression "uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1" identifier = (binary_expression "((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1" (parenthesized_expression "((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f))" ( (binary_expression "(uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)" (binary_expression "(uVar7 ^ uVar9) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar9)" ( (binary_expression "uVar7 ^ uVar9" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar7 ^ uVar9) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar9)" ( (binary_expression "uVar7 ^ uVar9" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;" (assignment_expression "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;" (assignment_expression "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar4" * identifier))) ;) (expression_statement "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;" (assignment_expression "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5" identifier = (binary_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5" (parenthesized_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))" ( (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)" (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar7 ^ uVar26) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar5" * identifier))) ;) }) while (parenthesized_expression "(iVar17 < (int)uVar16)" ( (binary_expression "iVar17 < (int)uVar16" identifier < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) })) }) (else_clause "else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" else (if_statement "if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" if (parenthesized_expression "(0 < (int)uVar16)" ( (binary_expression "0 < (int)uVar16" number_literal < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }" if (parenthesized_expression "((uVar16 & 1) != 0)" ( (binary_expression "(uVar16 & 1) != 0" (parenthesized_expression "(uVar16 & 1)" ( (binary_expression "uVar16 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }" { (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;" (assignment_expression "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*in_t0" * identifier))) ;) (expression_statement "in_t0 = param_3 + 5;" (assignment_expression "in_t0 = param_3 + 5" identifier = (binary_expression "param_3 + 5" identifier + number_literal)) ;) (expression_statement "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];" (assignment_expression "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4]" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4]" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[4]" identifier [ number_literal ]))) ;) (if_statement "if (uVar16 == 1) goto LAB_00010274;" if (parenthesized_expression "(uVar16 == 1)" ( (binary_expression "uVar16 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00010274;" goto statement_identifier ;)) })) (do_statement "do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);" do (compound_statement "{\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          }" { (expression_statement "puVar10 = in_t0 + 1;" (assignment_expression "puVar10 = in_t0 + 1" identifier = (binary_expression "in_t0 + 1" identifier + number_literal)) ;) (expression_statement "puVar15 = in_t0 + 2;" (assignment_expression "puVar15 = in_t0 + 2" identifier = (binary_expression "in_t0 + 2" identifier + number_literal)) ;) (expression_statement "puVar22 = in_t0 + 3;" (assignment_expression "puVar22 = in_t0 + 3" identifier = (binary_expression "in_t0 + 3" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar9 + 2;" (assignment_expression "uVar9 = uVar9 + 2" identifier = (binary_expression "uVar9 + 2" identifier + number_literal)) ;) (expression_statement "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;" (assignment_expression "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*in_t0" * identifier))) ;) (expression_statement "in_t0 = in_t0 + 4;" (assignment_expression "in_t0 = in_t0 + 4" identifier = (binary_expression "in_t0 + 4" identifier + number_literal)) ;) (expression_statement "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;" (assignment_expression "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;" (assignment_expression "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar15" * identifier))) ;) (expression_statement "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;" (assignment_expression "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar22" * identifier))) ;) }) while (parenthesized_expression "(uVar16 != uVar9)" ( (binary_expression "uVar16 != uVar9" identifier != identifier) )) ;) })))) (labeled_statement "LAB_00010274:\n        *param_2 = (char)uVar26;" statement_identifier : (expression_statement "*param_2 = (char)uVar26;" (assignment_expression "*param_2 = (char)uVar26" (pointer_expression "*param_2" * identifier) = (cast_expression "(char)uVar26" ( (type_descriptor "char" primitive_type) ) identifier)) ;)) (expression_statement "param_2[4] = (char)uVar7;" (assignment_expression "param_2[4] = (char)uVar7" (subscript_expression "param_2[4]" identifier [ number_literal ]) = (cast_expression "(char)uVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[3] = (char)(uVar26 >> 0x18);" (assignment_expression "param_2[3] = (char)(uVar26 >> 0x18)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (cast_expression "(char)(uVar26 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar26 >> 0x18)" ( (binary_expression "uVar26 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "param_2[2] = (char)(uVar26 >> 0x10);" (assignment_expression "param_2[2] = (char)(uVar26 >> 0x10)" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (cast_expression "(char)(uVar26 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar26 >> 0x10)" ( (binary_expression "uVar26 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "param_2[1] = (char)(uVar26 >> 8);" (assignment_expression "param_2[1] = (char)(uVar26 >> 8)" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (cast_expression "(char)(uVar26 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar26 >> 8)" ( (binary_expression "uVar26 >> 8" identifier >> number_literal) )))) ;) (expression_statement "param_2[7] = (char)(uVar7 >> 0x18);" (assignment_expression "param_2[7] = (char)(uVar7 >> 0x18)" (subscript_expression "param_2[7]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "param_2[6] = (char)(uVar7 >> 0x10);" (assignment_expression "param_2[6] = (char)(uVar7 >> 0x10)" (subscript_expression "param_2[6]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "param_2[5] = (char)(uVar7 >> 8);" (assignment_expression "param_2[5] = (char)(uVar7 >> 8)" (subscript_expression "param_2[5]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 8)" ( (binary_expression "uVar7 >> 8" identifier >> number_literal) )))) ;) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_000103ac;" goto statement_identifier ;) })) }))) (expression_statement "puVar15 = (uint *)&DAT_00000087;" (assignment_expression "puVar15 = (uint *)&DAT_00000087" identifier = (cast_expression "(uint *)&DAT_00000087" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000087" & identifier))) ;) (expression_statement "puVar10 = (uint *)0x0;" (assignment_expression "puVar10 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar15 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }\n  else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }" if (parenthesized_expression "(puVar15 == (uint *)0x0)" ( (binary_expression "puVar15 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }" { (expression_statement "(*__mips_gp0_value)(0,0,0xbd);" (call_expression "(*__mips_gp0_value)(0,0,0xbd)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,0,0xbd)" ( number_literal , number_literal , number_literal ))) ;) (labeled_statement "LAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);" statement_identifier : (expression_statement "(*__mips_gp0_value)(0,0,0xbf);" (call_expression "(*__mips_gp0_value)(0,0,0xbf)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,0,0xbf)" ( number_literal , number_literal , number_literal ))) ;)) }) (else_clause "else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }" else (compound_statement "{\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }" { (expression_statement "in_t0 = (uint *)0x0;" (assignment_expression "in_t0 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }" if (parenthesized_expression "(in_t8 != (undefined1 *)0x0)" ( (binary_expression "in_t8 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }" { (if_statement "if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }" if (parenthesized_expression "(puVar10 != (uint *)0x0)" ( (binary_expression "puVar10 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }" { (expression_statement "uVar7 = *puVar10;" (assignment_expression "uVar7 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "uVar9 = puVar10[1];" (assignment_expression "uVar9 = puVar10[1]" identifier = (subscript_expression "puVar10[1]" identifier [ number_literal ])) ;) (expression_statement "uVar26 = *puVar15;" (assignment_expression "uVar26 = *puVar15" identifier = (pointer_expression "*puVar15" * identifier)) ;) (expression_statement "uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar10 = puVar15 + uVar26 * 2 + 1;" (assignment_expression "puVar10 = puVar15 + uVar26 * 2 + 1" identifier = (binary_expression "puVar15 + uVar26 * 2 + 1" (binary_expression "puVar15 + uVar26 * 2" identifier + (binary_expression "uVar26 * 2" identifier * number_literal)) + number_literal)) ;) (expression_statement "uVar7 = uVar26 - 1;" (assignment_expression "uVar7 = uVar26 - 1" identifier = (binary_expression "uVar26 - 1" identifier - number_literal)) ;) (if_statement "if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" if (parenthesized_expression "((uVar26 & 1) == 0)" ( (binary_expression "(uVar26 & 1) == 0" (parenthesized_expression "(uVar26 & 1)" ( (binary_expression "uVar26 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }" { (if_statement "if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }" if (parenthesized_expression "(-1 < (int)uVar7)" ( (binary_expression "-1 < (int)uVar7" number_literal < (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }" { (expression_statement "iVar17 = uVar26 - 3;" (assignment_expression "iVar17 = uVar26 - 3" identifier = (binary_expression "uVar26 - 3" identifier - number_literal)) ;) (expression_statement "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;" (assignment_expression "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16" identifier = (binary_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;" (assignment_expression "uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9" identifier = (binary_expression "(uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9" (parenthesized_expression "(uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f))" ( (binary_expression "uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)" (binary_expression "uVar16 - *puVar10 << (-uVar9 & 0x1f)" (binary_expression "uVar16 - *puVar10" identifier - (pointer_expression "*puVar10" * identifier)) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar16 - *puVar10 >> (uVar9 & 0x1f)" (binary_expression "uVar16 - *puVar10" identifier - (pointer_expression "*puVar10" * identifier)) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;" (assignment_expression "uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16" identifier = (binary_expression "(uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-1]" identifier - (subscript_expression "puVar10[-1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar10[-1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-1]" identifier - (subscript_expression "puVar10[-1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f))" ( (binary_expression "uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar16 - puVar10[-2] << (-uVar9 & 0x1f)" (binary_expression "uVar16 - puVar10[-2]" identifier - (subscript_expression "puVar10[-2]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar16 - puVar10[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar16 - puVar10[-2]" identifier - (subscript_expression "puVar10[-2]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (if_statement "if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }" if (parenthesized_expression "(-1 < iVar17)" ( (binary_expression "-1 < iVar17" number_literal < identifier) )) (compound_statement "{\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }" { (expression_statement "puVar22 = puVar10 + -6;" (assignment_expression "puVar22 = puVar10 + -6" identifier = (binary_expression "puVar10 + -6" identifier + number_literal)) ;) (if_statement "if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }" if (parenthesized_expression "((int)(uVar7 * 0x40000000) < 0)" ( (binary_expression "(int)(uVar7 * 0x40000000) < 0" (cast_expression "(int)(uVar7 * 0x40000000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 * 0x40000000)" ( (binary_expression "uVar7 * 0x40000000" identifier * number_literal) ))) < number_literal) )) (compound_statement "{\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }" { (expression_statement "iVar17 = uVar26 - 5;" (assignment_expression "iVar17 = uVar26 - 5" identifier = (binary_expression "uVar26 - 5" identifier - number_literal)) ;) (expression_statement "uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;" (assignment_expression "uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16" identifier = (binary_expression "(uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-3] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-3]" identifier - (subscript_expression "puVar10[-3]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar10[-3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-3]" identifier - (subscript_expression "puVar10[-3]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7" identifier = (binary_expression "(uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f))" ( (binary_expression "uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar10[-4] << (-uVar7 & 0x1f)" (binary_expression "uVar16 - puVar10[-4]" identifier - (subscript_expression "puVar10[-4]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "uVar16 - puVar10[-4] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar10[-4]" identifier - (subscript_expression "puVar10[-4]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = uVar9 - puVar10[-6];" (assignment_expression "uVar16 = uVar9 - puVar10[-6]" identifier = (binary_expression "uVar9 - puVar10[-6]" identifier - (subscript_expression "puVar10[-6]" identifier [ number_literal ]))) ;) (expression_statement "uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f))" ( (binary_expression "uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar10[-5] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar10[-5]" identifier - (subscript_expression "puVar10[-5]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar7 - puVar10[-5] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar10[-5]" identifier - (subscript_expression "puVar10[-5]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f))" ( (binary_expression "uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)" (binary_expression "uVar16 << (-uVar9 & 0x1f)" identifier << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar16 >> (uVar9 & 0x1f)" identifier >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "puVar22 = puVar10 + -10;" (assignment_expression "puVar22 = puVar10 + -10" identifier = (binary_expression "puVar10 + -10" identifier + number_literal)) ;) (if_statement "if (iVar17 < 0) goto LAB_000104fc;" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000104fc;" goto statement_identifier ;)) })) (do_statement "do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);" do (compound_statement "{\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              }" { (expression_statement "iVar17 = iVar17 + -4;" (assignment_expression "iVar17 = iVar17 + -4" identifier = (binary_expression "iVar17 + -4" identifier + number_literal)) ;) (expression_statement "uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;" (assignment_expression "uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16" identifier = (binary_expression "(uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16" (parenthesized_expression "(uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar22[3] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar22[3]" identifier - (subscript_expression "puVar22[3]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar22[3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar22[3]" identifier - (subscript_expression "puVar22[3]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7" identifier = (binary_expression "(uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f))" ( (binary_expression "uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[2] << (-uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[2]" identifier - (subscript_expression "puVar22[2]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "uVar16 - puVar22[2] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[2]" identifier - (subscript_expression "puVar22[2]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f))" ( (binary_expression "uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[1] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[1]" identifier - (subscript_expression "puVar22[1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar7 - puVar22[1] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[1]" identifier - (subscript_expression "puVar22[1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;" (assignment_expression "uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16" identifier = (binary_expression "(uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16" (parenthesized_expression "(uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f)" (binary_expression "uVar9 - *puVar22 << (-uVar16 & 0x1f)" (binary_expression "uVar9 - *puVar22" identifier - (pointer_expression "*puVar22" * identifier)) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - *puVar22 >> (uVar16 & 0x1f)" (binary_expression "uVar9 - *puVar22" identifier - (pointer_expression "*puVar22" * identifier)) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7" identifier = (binary_expression "(uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f))" ( (binary_expression "uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[-1] << (-uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[-1]" identifier - (subscript_expression "puVar22[-1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "uVar16 - puVar22[-1] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[-1]" identifier - (subscript_expression "puVar22[-1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f))" ( (binary_expression "uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-2] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-2]" identifier - (subscript_expression "puVar22[-2]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar7 - puVar22[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-2]" identifier - (subscript_expression "puVar22[-2]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7" identifier = (binary_expression "(uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f))" ( (binary_expression "uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)" (binary_expression "uVar9 - puVar22[-3] << (-uVar7 & 0x1f)" (binary_expression "uVar9 - puVar22[-3]" identifier - (subscript_expression "puVar22[-3]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar22[-3] >> (uVar7 & 0x1f)" (binary_expression "uVar9 - puVar22[-3]" identifier - (subscript_expression "puVar22[-3]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f))" ( (binary_expression "uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-4] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-4]" identifier - (subscript_expression "puVar22[-4]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar7 - puVar22[-4] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-4]" identifier - (subscript_expression "puVar22[-4]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "puVar22 = puVar22 + -8;" (assignment_expression "puVar22 = puVar22 + -8" identifier = (binary_expression "puVar22 + -8" identifier + number_literal)) ;) }) while (parenthesized_expression "(-1 < iVar17)" ( (binary_expression "-1 < iVar17" number_literal < identifier) )) ;) (expression_statement "uVar7 = puVar15[1];" (assignment_expression "uVar7 = puVar15[1]" identifier = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00010500;" goto statement_identifier ;) })) })) }) (else_clause "else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" else (if_statement "if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" if (parenthesized_expression "(-1 < (int)uVar7)" ( (binary_expression "-1 < (int)uVar7" number_literal < (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" { (if_statement "if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;" if (parenthesized_expression "((int)(uVar7 * -0x80000000) < 0)" ( (binary_expression "(int)(uVar7 * -0x80000000) < 0" (cast_expression "(int)(uVar7 * -0x80000000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 * -0x80000000)" ( (binary_expression "uVar7 * -0x80000000" identifier * number_literal) ))) < number_literal) )) (goto_statement "goto LAB_00010480;" goto statement_identifier ;)) (expression_statement "puVar22 = puVar10 + -2;" (assignment_expression "puVar22 = puVar10 + -2" identifier = (binary_expression "puVar10 + -2" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar16 - *puVar10;" (assignment_expression "uVar8 = uVar16 - *puVar10" identifier = (binary_expression "uVar16 - *puVar10" identifier - (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;" (assignment_expression "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16" identifier = (binary_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16" (parenthesized_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar7 = uVar26;" (assignment_expression "uVar7 = uVar26" identifier = identifier) ;) (while_statement "while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }" { (expression_statement "uVar7 = uVar7 - 2;" (assignment_expression "uVar7 = uVar7 - 2" identifier = (binary_expression "uVar7 - 2" identifier - number_literal)) ;) (expression_statement "uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f))" ( (binary_expression "uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)" (binary_expression "uVar8 << (-uVar9 & 0x1f)" identifier << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar8 >> (uVar9 & 0x1f)" identifier >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "puVar10 = puVar22;" (assignment_expression "puVar10 = puVar22" identifier = identifier) ;) (if_statement "if (uVar7 == 0xffffffff) break;" if (parenthesized_expression "(uVar7 == 0xffffffff)" ( (binary_expression "uVar7 == 0xffffffff" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00010480:\n            puVar22 = puVar10 + -4;" statement_identifier : (expression_statement "puVar22 = puVar10 + -4;" (assignment_expression "puVar22 = puVar10 + -4" identifier = (binary_expression "puVar10 + -4" identifier + number_literal)) ;)) (expression_statement "uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;" (assignment_expression "uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16" identifier = (binary_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     )" ( (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;" (assignment_expression "uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26" identifier = (binary_expression "(uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26" (parenthesized_expression "(uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f))" ( (binary_expression "uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)" (binary_expression "uVar16 - *puVar10 << (-uVar26 & 0x1f)" (binary_expression "uVar16 - *puVar10" identifier - (pointer_expression "*puVar10" * identifier)) << (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "uVar16 - *puVar10 >> (uVar26 & 0x1f)" (binary_expression "uVar16 - *puVar10" identifier - (pointer_expression "*puVar10" * identifier)) >> (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar8 = uVar9 - puVar10[-2];" (assignment_expression "uVar8 = uVar9 - puVar10[-2]" identifier = (binary_expression "uVar9 - puVar10[-2]" identifier - (subscript_expression "puVar10[-2]" identifier [ number_literal ]))) ;) (expression_statement "uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f))" ( (binary_expression "uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)" (binary_expression "uVar26 - puVar10[-1] << (-uVar9 & 0x1f)" (binary_expression "uVar26 - puVar10[-1]" identifier - (subscript_expression "puVar10[-1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar26 - puVar10[-1] >> (uVar9 & 0x1f)" (binary_expression "uVar26 - puVar10[-1]" identifier - (subscript_expression "puVar10[-1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) })) })))) (labeled_statement "LAB_000104fc:\n        uVar7 = puVar15[1];" statement_identifier : (expression_statement "uVar7 = puVar15[1];" (assignment_expression "uVar7 = puVar15[1]" identifier = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00010500:\n        iVar17 = uVar16 - uVar7;" statement_identifier : (expression_statement "iVar17 = uVar16 - uVar7;" (assignment_expression "iVar17 = uVar16 - uVar7" identifier = (binary_expression "uVar16 - uVar7" identifier - identifier)) ;)) (expression_statement "iVar27 = uVar9 - puVar15[2];" (assignment_expression "iVar27 = uVar9 - puVar15[2]" identifier = (binary_expression "uVar9 - puVar15[2]" identifier - (subscript_expression "puVar15[2]" identifier [ number_literal ]))) ;) (expression_statement "*in_t8 = (char)iVar17;" (assignment_expression "*in_t8 = (char)iVar17" (pointer_expression "*in_t8" * identifier) = (cast_expression "(char)iVar17" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "in_t8[4] = (char)iVar27;" (assignment_expression "in_t8[4] = (char)iVar27" (subscript_expression "in_t8[4]" identifier [ number_literal ]) = (cast_expression "(char)iVar27" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "in_t8[3] = (char)((uint)iVar17 >> 0x18);" (assignment_expression "in_t8[3] = (char)((uint)iVar17 >> 0x18)" (subscript_expression "in_t8[3]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar17 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar17 >> 0x18)" ( (binary_expression "(uint)iVar17 >> 0x18" (cast_expression "(uint)iVar17" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_t8[7] = (char)((uint)iVar27 >> 0x18);" (assignment_expression "in_t8[7] = (char)((uint)iVar27 >> 0x18)" (subscript_expression "in_t8[7]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar27 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar27 >> 0x18)" ( (binary_expression "(uint)iVar27 >> 0x18" (cast_expression "(uint)iVar27" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_t8[6] = (char)((uint)iVar27 >> 0x10);" (assignment_expression "in_t8[6] = (char)((uint)iVar27 >> 0x10)" (subscript_expression "in_t8[6]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar27 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar27 >> 0x10)" ( (binary_expression "(uint)iVar27 >> 0x10" (cast_expression "(uint)iVar27" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_t8[5] = (char)((uint)iVar27 >> 8);" (assignment_expression "in_t8[5] = (char)((uint)iVar27 >> 8)" (subscript_expression "in_t8[5]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar27 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar27 >> 8)" ( (binary_expression "(uint)iVar27 >> 8" (cast_expression "(uint)iVar27" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_t8[2] = (char)((uint)iVar17 >> 0x10);" (assignment_expression "in_t8[2] = (char)((uint)iVar17 >> 0x10)" (subscript_expression "in_t8[2]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar17 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar17 >> 0x10)" ( (binary_expression "(uint)iVar17 >> 0x10" (cast_expression "(uint)iVar17" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_t8[1] = (char)((uint)iVar17 >> 8);" (assignment_expression "in_t8[1] = (char)((uint)iVar17 >> 8)" (subscript_expression "in_t8[1]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar17 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar17 >> 8)" ( (binary_expression "(uint)iVar17 >> 8" (cast_expression "(uint)iVar17" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_00010768;" goto statement_identifier ;) })) }))) (expression_statement "iVar17 = 0xbe;" (assignment_expression "iVar17 = 0xbe" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)0x0;" (assignment_expression "pbVar11 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar23 = __mips_gp0_value;" (assignment_expression "pcVar23 = __mips_gp0_value" identifier = identifier) ;) (expression_statement "local_54 = *(code **)__mips_gp0_value;" (assignment_expression "local_54 = *(code **)__mips_gp0_value" identifier = (pointer_expression "*(code **)__mips_gp0_value" * (cast_expression "(code **)__mips_gp0_value" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if (param_4 == (int *)0x0) goto LAB_00010bc8;" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00010bc8;" goto statement_identifier ;)) (expression_statement "pcVar25 = __mips_gp0_value;" (assignment_expression "pcVar25 = __mips_gp0_value" identifier = identifier) ;) (if_statement "if (pbVar11 != (byte *)0x0) {\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }" if (parenthesized_expression "(pbVar11 != (byte *)0x0)" ( (binary_expression "pbVar11 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }" { (if_statement "if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }" { (expression_statement "iVar17 = 0xc;" (assignment_expression "iVar17 = 0xc" identifier = number_literal) ;) (labeled_statement "LAB_00010814:\n      puVar10 = (uint *)0x1;" statement_identifier : (expression_statement "puVar10 = (uint *)0x1;" (assignment_expression "puVar10 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }" if (parenthesized_expression "(in_t0 + -2 < (uint *)0x79)" ( (binary_expression "in_t0 + -2 < (uint *)0x79" (binary_expression "in_t0 + -2" identifier + number_literal) < (cast_expression "(uint *)0x79" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }" { (expression_statement "*param_4 = iVar17;" (assignment_expression "*param_4 = iVar17" (pointer_expression "*param_4" * identifier) = identifier) ;) (expression_statement "uVar7 = (uint)*pbVar11;" (assignment_expression "uVar7 = (uint)*pbVar11" identifier = (binary_expression "(uint)*pbVar11" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar12 = pbVar11 + 1;" (assignment_expression "pbVar12 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = (int)in_t0 - 1U & 3;" (assignment_expression "uVar16 = (int)in_t0 - 1U & 3" identifier = (binary_expression "(int)in_t0 - 1U & 3" (binary_expression "(int)in_t0 - 1U" (cast_expression "(int)in_t0" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) & number_literal)) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if (uVar16 == 0) goto LAB_000108e4;" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000108e4;" goto statement_identifier ;)) (if_statement "if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }" if (parenthesized_expression "(uVar16 != 1)" ( (binary_expression "uVar16 != 1" identifier != number_literal) )) (compound_statement "{\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }" { (expression_statement "puVar10 = (uint *)0x2;" (assignment_expression "puVar10 = (uint *)0x2" identifier = (cast_expression "(uint *)0x2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar9 = uVar7;" (assignment_expression "uVar9 = uVar7" identifier = identifier) ;) (if_statement "if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }" if (parenthesized_expression "(uVar16 != 2)" ( (binary_expression "uVar16 != 2" identifier != number_literal) )) (compound_statement "{\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }" { (expression_statement "bVar6 = *pbVar12;" (assignment_expression "bVar6 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (expression_statement "pbVar12 = pbVar11 + 2;" (assignment_expression "pbVar12 = pbVar11 + 2" identifier = (binary_expression "pbVar11 + 2" identifier + number_literal)) ;) (expression_statement "uVar9 = (uint)CONCAT11(*pbVar11,bVar6);" (assignment_expression "uVar9 = (uint)CONCAT11(*pbVar11,bVar6)" identifier = (cast_expression "(uint)CONCAT11(*pbVar11,bVar6)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT11(*pbVar11,bVar6)" identifier (argument_list "(*pbVar11,bVar6)" ( (pointer_expression "*pbVar11" * identifier) , identifier ))))) ;) (expression_statement "puVar10 = (uint *)0x3;" (assignment_expression "puVar10 = (uint *)0x3" identifier = (cast_expression "(uint *)0x3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "uVar7 = (uint)*pbVar12 | uVar9 << 8;" (assignment_expression "uVar7 = (uint)*pbVar12 | uVar9 << 8" identifier = (binary_expression "(uint)*pbVar12 | uVar9 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) | (binary_expression "uVar9 << 8" identifier << number_literal))) ;) (if_statement "if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }" if (parenthesized_expression "(puVar10 == (uint *)0x0)" ( (binary_expression "puVar10 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }" { (expression_statement "local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;" (assignment_expression "local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000" (subscript_expression "local_154[0]" identifier [ number_literal ]) = (binary_expression "((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10)" ( (binary_expression "(((uVar9 << 8) >> 0x10) << 0x18) >> 0x10" (parenthesized_expression "(((uVar9 << 8) >> 0x10) << 0x18)" ( (binary_expression "((uVar9 << 8) >> 0x10) << 0x18" (parenthesized_expression "((uVar9 << 8) >> 0x10)" ( (binary_expression "(uVar9 << 8) >> 0x10" (parenthesized_expression "(uVar9 << 8)" ( (binary_expression "uVar9 << 8" identifier << number_literal) )) >> number_literal) )) << number_literal) )) >> number_literal) )) + (binary_expression "((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "((uint)*pbVar12 << 8 | uVar9 & 0xff)" ( (binary_expression "(uint)*pbVar12 << 8 | uVar9 & 0xff" (binary_expression "(uint)*pbVar12 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "uVar9 & 0xff" identifier & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) })) (expression_statement "uVar9 = (uint)(puVar10 == (uint *)0x0);" (assignment_expression "uVar9 = (uint)(puVar10 == (uint *)0x0)" identifier = (call_expression "(uint)(puVar10 == (uint *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar10 == (uint *)0x0)" ( (binary_expression "puVar10 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) })) (expression_statement "puVar10 = (uint *)((int)puVar10 + 1);" (assignment_expression "puVar10 = (uint *)((int)puVar10 + 1)" identifier = (cast_expression "(uint *)((int)puVar10 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 + 1)" ( (binary_expression "(int)puVar10 + 1" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar8 = uVar7 << 8;" (assignment_expression "uVar8 = uVar7 << 8" identifier = (binary_expression "uVar7 << 8" identifier << number_literal)) ;) (expression_statement "uVar26 = *pbVar12 | uVar8;" (assignment_expression "uVar26 = *pbVar12 | uVar8" identifier = (binary_expression "*pbVar12 | uVar8" (pointer_expression "*pbVar12" * identifier) | identifier)) ;) (expression_statement "uVar16 = uVar9;" (assignment_expression "uVar16 = uVar9" identifier = identifier) ;) (if_statement "if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }" if (parenthesized_expression "(((uint)puVar10 & 3) == 0)" ( (binary_expression "((uint)puVar10 & 3) == 0" (parenthesized_expression "((uint)puVar10 & 3)" ( (binary_expression "(uint)puVar10 & 3" (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }" { (expression_statement "uVar16 = uVar9 + 1;" (assignment_expression "uVar16 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (subscript_expression "local_154[uVar9]" identifier [ identifier ]) = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff)" ( (binary_expression "(uint)*pbVar12 << 8 | uVar7 & 0xff" (binary_expression "(uint)*pbVar12 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "uVar7 & 0xff" identifier & number_literal)) )) * number_literal))) ;) })) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = uVar26;" (assignment_expression "uVar7 = uVar26" identifier = identifier) ;) (expression_statement "uVar9 = uVar16;" (assignment_expression "uVar9 = uVar16" identifier = identifier) ;) (while_statement "while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }" while (parenthesized_expression "(in_t0 != puVar10)" ( (binary_expression "in_t0 != puVar10" identifier != identifier) )) (compound_statement "{\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }" { (labeled_statement "LAB_000108e4:\n          uVar26 = uVar7 << 8;" statement_identifier : (expression_statement "uVar26 = uVar7 << 8;" (assignment_expression "uVar26 = uVar7 << 8" identifier = (binary_expression "uVar7 << 8" identifier << number_literal)) ;)) (expression_statement "uVar8 = *pbVar12 | uVar26;" (assignment_expression "uVar8 = *pbVar12 | uVar26" identifier = (binary_expression "*pbVar12 | uVar26" (pointer_expression "*pbVar12" * identifier) | identifier)) ;) (expression_statement "uVar16 = uVar9;" (assignment_expression "uVar16 = uVar9" identifier = identifier) ;) (if_statement "if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }" if (parenthesized_expression "(((int)puVar10 + 1U & 3) == 0)" ( (binary_expression "((int)puVar10 + 1U & 3) == 0" (parenthesized_expression "((int)puVar10 + 1U & 3)" ( (binary_expression "(int)puVar10 + 1U & 3" (binary_expression "(int)puVar10 + 1U" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }" { (expression_statement "uVar16 = uVar9 + 1;" (assignment_expression "uVar16 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (subscript_expression "local_154[uVar9]" identifier [ identifier ]) = (binary_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10)" ( (binary_expression "(uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10" (binary_expression "(uVar26 >> 0x10) << 0x18" (parenthesized_expression "(uVar26 >> 0x10)" ( (binary_expression "uVar26 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar26 >> 0x18) << 0x10" (parenthesized_expression "(uVar26 >> 0x18)" ( (binary_expression "uVar26 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff)" ( (binary_expression "(uint)*pbVar12 << 8 | uVar7 & 0xff" (binary_expression "(uint)*pbVar12 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "uVar7 & 0xff" identifier & number_literal)) )) * number_literal))) ;) })) (expression_statement "uVar26 = uVar8 << 8;" (assignment_expression "uVar26 = uVar8 << 8" identifier = (binary_expression "uVar8 << 8" identifier << number_literal)) ;) (expression_statement "uVar9 = pbVar12[1] | uVar26;" (assignment_expression "uVar9 = pbVar12[1] | uVar26" identifier = (binary_expression "pbVar12[1] | uVar26" (subscript_expression "pbVar12[1]" identifier [ number_literal ]) | identifier)) ;) (expression_statement "uVar7 = uVar16;" (assignment_expression "uVar7 = uVar16" identifier = identifier) ;) (if_statement "if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }" if (parenthesized_expression "(((int)puVar10 + 2U & 3) == 0)" ( (binary_expression "((int)puVar10 + 2U & 3) == 0" (parenthesized_expression "((int)puVar10 + 2U & 3)" ( (binary_expression "(int)puVar10 + 2U & 3" (binary_expression "(int)puVar10 + 2U" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }" { (expression_statement "uVar7 = uVar16 + 1;" (assignment_expression "uVar7 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (expression_statement "local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000" (subscript_expression "local_154[uVar16]" identifier [ identifier ]) = (binary_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10)" ( (binary_expression "(uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10" (binary_expression "(uVar26 >> 0x10) << 0x18" (parenthesized_expression "(uVar26 >> 0x10)" ( (binary_expression "uVar26 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar26 >> 0x18) << 0x10" (parenthesized_expression "(uVar26 >> 0x18)" ( (binary_expression "uVar26 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000" (parenthesized_expression "((uint)pbVar12[1] << 8 | uVar8 & 0xff)" ( (binary_expression "(uint)pbVar12[1] << 8 | uVar8 & 0xff" (binary_expression "(uint)pbVar12[1] << 8" (cast_expression "(uint)pbVar12[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar12[1]" identifier [ number_literal ])) << number_literal) | (binary_expression "uVar8 & 0xff" identifier & number_literal)) )) * number_literal))) ;) })) (expression_statement "uVar8 = uVar9 << 8;" (assignment_expression "uVar8 = uVar9 << 8" identifier = (binary_expression "uVar9 << 8" identifier << number_literal)) ;) (expression_statement "uVar26 = pbVar12[2] | uVar8;" (assignment_expression "uVar26 = pbVar12[2] | uVar8" identifier = (binary_expression "pbVar12[2] | uVar8" (subscript_expression "pbVar12[2]" identifier [ number_literal ]) | identifier)) ;) (expression_statement "uVar16 = uVar7;" (assignment_expression "uVar16 = uVar7" identifier = identifier) ;) (if_statement "if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }" if (parenthesized_expression "(((int)puVar10 + 3U & 3) == 0)" ( (binary_expression "((int)puVar10 + 3U & 3) == 0" (parenthesized_expression "((int)puVar10 + 3U & 3)" ( (binary_expression "(int)puVar10 + 3U & 3" (binary_expression "(int)puVar10 + 3U" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }" { (expression_statement "uVar16 = uVar7 + 1;" (assignment_expression "uVar16 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000" (subscript_expression "local_154[uVar7]" identifier [ identifier ]) = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "((uint)pbVar12[2] << 8 | uVar9 & 0xff)" ( (binary_expression "(uint)pbVar12[2] << 8 | uVar9 & 0xff" (binary_expression "(uint)pbVar12[2] << 8" (cast_expression "(uint)pbVar12[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar12[2]" identifier [ number_literal ])) << number_literal) | (binary_expression "uVar9 & 0xff" identifier & number_literal)) )) * number_literal))) ;) })) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar26 << 8;" (assignment_expression "uVar8 = uVar26 << 8" identifier = (binary_expression "uVar26 << 8" identifier << number_literal)) ;) (expression_statement "uVar7 = pbVar12[3] | uVar8;" (assignment_expression "uVar7 = pbVar12[3] | uVar8" identifier = (binary_expression "pbVar12[3] | uVar8" (subscript_expression "pbVar12[3]" identifier [ number_literal ]) | identifier)) ;) (expression_statement "uVar9 = uVar16;" (assignment_expression "uVar9 = uVar16" identifier = identifier) ;) (if_statement "if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }" if (parenthesized_expression "(((uint)puVar10 & 3) == 0)" ( (binary_expression "((uint)puVar10 & 3) == 0" (parenthesized_expression "((uint)puVar10 & 3)" ( (binary_expression "(uint)puVar10 & 3" (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }" { (expression_statement "uVar9 = uVar16 + 1;" (assignment_expression "uVar9 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000" (subscript_expression "local_154[uVar16]" identifier [ identifier ]) = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000" (parenthesized_expression "((uint)pbVar12[3] << 8 | uVar26 & 0xff)" ( (binary_expression "(uint)pbVar12[3] << 8 | uVar26 & 0xff" (binary_expression "(uint)pbVar12[3] << 8" (cast_expression "(uint)pbVar12[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar12[3]" identifier [ number_literal ])) << number_literal) | (binary_expression "uVar26 & 0xff" identifier & number_literal)) )) * number_literal))) ;) })) (expression_statement "pbVar12 = pbVar12 + 4;" (assignment_expression "pbVar12 = pbVar12 + 4" identifier = (binary_expression "pbVar12 + 4" identifier + number_literal)) ;) })) (expression_statement "uVar16 = uVar9;" (assignment_expression "uVar16 = uVar9" identifier = identifier) ;) (if_statement "if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" if (parenthesized_expression "(((uint)in_t0 & 3) != 0)" ( (binary_expression "((uint)in_t0 & 3) != 0" (parenthesized_expression "((uint)in_t0 & 3)" ( (binary_expression "(uint)in_t0 & 3" (cast_expression "(uint)in_t0" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" { (expression_statement "uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);" (assignment_expression "uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f)" identifier = (binary_expression "uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f)" identifier << (parenthesized_expression "((4 - ((uint)in_t0 & 3)) * 8 & 0x1f)" ( (binary_expression "(4 - ((uint)in_t0 & 3)) * 8 & 0x1f" (binary_expression "(4 - ((uint)in_t0 & 3)) * 8" (parenthesized_expression "(4 - ((uint)in_t0 & 3))" ( (binary_expression "4 - ((uint)in_t0 & 3)" number_literal - (parenthesized_expression "((uint)in_t0 & 3)" ( (binary_expression "(uint)in_t0 & 3" (cast_expression "(uint)in_t0" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )) * number_literal) & number_literal) )))) ;) (expression_statement "uVar16 = uVar9 + 1;" (assignment_expression "uVar16 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "local_154[uVar9]" identifier [ identifier ]) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) })) (expression_statement "uVar9 = (iVar17 + 1) * 2;" (assignment_expression "uVar9 = (iVar17 + 1) * 2" identifier = (binary_expression "(iVar17 + 1) * 2" (parenthesized_expression "(iVar17 + 1)" ( (binary_expression "iVar17 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);" (assignment_expression "puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8)" identifier = (cast_expression "(uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(param_4 + 1,0x60,(iVar17 + 1) * 8)" ( (binary_expression "param_4 + 1" identifier + number_literal) , number_literal , (binary_expression "(iVar17 + 1) * 8" (parenthesized_expression "(iVar17 + 1)" ( (binary_expression "iVar17 + 1" identifier + number_literal) )) * number_literal) ))))) ;) (expression_statement "uVar7 = uVar9;" (assignment_expression "uVar7 = uVar9" identifier = identifier) ;) (if_statement "if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }" if (parenthesized_expression "(uVar9 <= uVar16)" ( (binary_expression "uVar9 <= uVar16" identifier <= identifier) )) (compound_statement "{\n          uVar7 = uVar16;\n        }" { (expression_statement "uVar7 = uVar16;" (assignment_expression "uVar7 = uVar16" identifier = identifier) ;) })) (expression_statement "uVar7 = uVar7 * 3;" (assignment_expression "uVar7 = uVar7 * 3" identifier = (binary_expression "uVar7 * 3" identifier * number_literal)) ;) (if_statement "if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (if_statement "if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }" if (parenthesized_expression "((uVar7 & 1) != 0)" ( (binary_expression "(uVar7 & 1) != 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }" { (expression_statement "uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;" (assignment_expression "uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8" identifier = (binary_expression "(*puVar10 >> 0x1d) + *puVar10 * 8" (parenthesized_expression "(*puVar10 >> 0x1d)" ( (binary_expression "*puVar10 >> 0x1d" (pointer_expression "*puVar10" * identifier) >> number_literal) )) + (binary_expression "*puVar10 * 8" (pointer_expression "*puVar10" * identifier) * number_literal))) ;) (expression_statement "*puVar10 = uVar18;" (assignment_expression "*puVar10 = uVar18" (pointer_expression "*puVar10" * identifier) = identifier) ;) (expression_statement "uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);" (assignment_expression "uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f)" identifier = (binary_expression "local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f)" (binary_expression "local_154[0] + uVar18 >> (-uVar18 & 0x1f)" (binary_expression "local_154[0] + uVar18" (subscript_expression "local_154[0]" identifier [ number_literal ]) + identifier) >> (parenthesized_expression "(-uVar18 & 0x1f)" ( (binary_expression "-uVar18 & 0x1f" (unary_expression "-uVar18" - identifier) & number_literal) ))) | (binary_expression "local_154[0] + uVar18 << (uVar18 & 0x1f)" (binary_expression "local_154[0] + uVar18" (subscript_expression "local_154[0]" identifier [ number_literal ]) + identifier) << (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))))) ;) (expression_statement "local_154[0] = uVar26;" (assignment_expression "local_154[0] = uVar26" (subscript_expression "local_154[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar20 = (uint)(uVar9 != 1);" (assignment_expression "uVar20 = (uint)(uVar9 != 1)" identifier = (call_expression "(uint)(uVar9 != 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 != 1)" ( (binary_expression "uVar9 != 1" identifier != number_literal) )))) ;) (expression_statement "uVar8 = (uint)(uVar16 != 1);" (assignment_expression "uVar8 = (uint)(uVar16 != 1)" identifier = (call_expression "(uint)(uVar16 != 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 != 1)" ( (binary_expression "uVar16 != 1" identifier != number_literal) )))) ;) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) (if_statement "if (uVar7 == 1) goto LAB_00010b84;" if (parenthesized_expression "(uVar7 == 1)" ( (binary_expression "uVar7 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00010b84;" goto statement_identifier ;)) })) (do_statement "do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);" do (compound_statement "{\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          }" { (expression_statement "uVar21 = uVar20 + 1;" (assignment_expression "uVar21 = uVar20 + 1" identifier = (binary_expression "uVar20 + 1" identifier + number_literal)) ;) (expression_statement "uVar28 = local_154[uVar8];" (assignment_expression "uVar28 = local_154[uVar8]" identifier = (subscript_expression "local_154[uVar8]" identifier [ identifier ])) ;) (expression_statement "uVar18 = uVar26 + puVar10[uVar20] + uVar18;" (assignment_expression "uVar18 = uVar26 + puVar10[uVar20] + uVar18" identifier = (binary_expression "uVar26 + puVar10[uVar20] + uVar18" (binary_expression "uVar26 + puVar10[uVar20]" identifier + (subscript_expression "puVar10[uVar20]" identifier [ identifier ])) + identifier)) ;) (expression_statement "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;" (assignment_expression "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8" identifier = (binary_expression "(uVar18 >> 0x1d) + uVar18 * 8" (parenthesized_expression "(uVar18 >> 0x1d)" ( (binary_expression "uVar18 >> 0x1d" identifier >> number_literal) )) + (binary_expression "uVar18 * 8" identifier * number_literal))) ;) (expression_statement "puVar10[uVar20] = uVar18;" (assignment_expression "puVar10[uVar20] = uVar18" (subscript_expression "puVar10[uVar20]" identifier [ identifier ]) = identifier) ;) (expression_statement "uVar20 = uVar26 + uVar28 + uVar18;" (assignment_expression "uVar20 = uVar26 + uVar28 + uVar18" identifier = (binary_expression "uVar26 + uVar28 + uVar18" (binary_expression "uVar26 + uVar28" identifier + identifier) + identifier)) ;) (expression_statement "uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);" (assignment_expression "uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f)" identifier = (binary_expression "uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f)" (binary_expression "uVar20 >> (-(uVar18 + uVar26) & 0x1f)" identifier >> (parenthesized_expression "(-(uVar18 + uVar26) & 0x1f)" ( (binary_expression "-(uVar18 + uVar26) & 0x1f" (unary_expression "-(uVar18 + uVar26)" - (parenthesized_expression "(uVar18 + uVar26)" ( (binary_expression "uVar18 + uVar26" identifier + identifier) ))) & number_literal) ))) | (binary_expression "uVar20 << (uVar18 + uVar26 & 0x1f)" identifier << (parenthesized_expression "(uVar18 + uVar26 & 0x1f)" ( (binary_expression "uVar18 + uVar26 & 0x1f" (binary_expression "uVar18 + uVar26" identifier + identifier) & number_literal) ))))) ;) (expression_statement "local_154[uVar8] = uVar26;" (assignment_expression "local_154[uVar8] = uVar26" (subscript_expression "local_154[uVar8]" identifier [ identifier ]) = identifier) ;) (if_statement "if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }" if (parenthesized_expression "(uVar9 == uVar21)" ( (binary_expression "uVar9 == uVar21" identifier == identifier) )) (compound_statement "{\n              uVar21 = 0;\n            }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) })) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }" if (parenthesized_expression "(uVar16 == uVar8)" ( (binary_expression "uVar16 == uVar8" identifier == identifier) )) (compound_statement "{\n              uVar8 = 0;\n            }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) })) (expression_statement "uVar20 = uVar21 + 1;" (assignment_expression "uVar20 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (expression_statement "uVar28 = local_154[uVar8];" (assignment_expression "uVar28 = local_154[uVar8]" identifier = (subscript_expression "local_154[uVar8]" identifier [ identifier ])) ;) (expression_statement "uVar18 = uVar26 + puVar10[uVar21] + uVar18;" (assignment_expression "uVar18 = uVar26 + puVar10[uVar21] + uVar18" identifier = (binary_expression "uVar26 + puVar10[uVar21] + uVar18" (binary_expression "uVar26 + puVar10[uVar21]" identifier + (subscript_expression "puVar10[uVar21]" identifier [ identifier ])) + identifier)) ;) (expression_statement "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;" (assignment_expression "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8" identifier = (binary_expression "(uVar18 >> 0x1d) + uVar18 * 8" (parenthesized_expression "(uVar18 >> 0x1d)" ( (binary_expression "uVar18 >> 0x1d" identifier >> number_literal) )) + (binary_expression "uVar18 * 8" identifier * number_literal))) ;) (expression_statement "puVar10[uVar21] = uVar18;" (assignment_expression "puVar10[uVar21] = uVar18" (subscript_expression "puVar10[uVar21]" identifier [ identifier ]) = identifier) ;) (expression_statement "uVar21 = uVar26 + uVar28 + uVar18;" (assignment_expression "uVar21 = uVar26 + uVar28 + uVar18" identifier = (binary_expression "uVar26 + uVar28 + uVar18" (binary_expression "uVar26 + uVar28" identifier + identifier) + identifier)) ;) (expression_statement "uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);" (assignment_expression "uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f)" identifier = (binary_expression "uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f)" (binary_expression "uVar21 >> (-(uVar18 + uVar26) & 0x1f)" identifier >> (parenthesized_expression "(-(uVar18 + uVar26) & 0x1f)" ( (binary_expression "-(uVar18 + uVar26) & 0x1f" (unary_expression "-(uVar18 + uVar26)" - (parenthesized_expression "(uVar18 + uVar26)" ( (binary_expression "uVar18 + uVar26" identifier + identifier) ))) & number_literal) ))) | (binary_expression "uVar21 << (uVar18 + uVar26 & 0x1f)" identifier << (parenthesized_expression "(uVar18 + uVar26 & 0x1f)" ( (binary_expression "uVar18 + uVar26 & 0x1f" (binary_expression "uVar18 + uVar26" identifier + identifier) & number_literal) ))))) ;) (expression_statement "local_154[uVar8] = uVar26;" (assignment_expression "local_154[uVar8] = uVar26" (subscript_expression "local_154[uVar8]" identifier [ identifier ]) = identifier) ;) (if_statement "if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }" if (parenthesized_expression "(uVar9 == uVar20)" ( (binary_expression "uVar9 == uVar20" identifier == identifier) )) (compound_statement "{\n              uVar20 = 0;\n            }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) })) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }" if (parenthesized_expression "(uVar16 == uVar8)" ( (binary_expression "uVar16 == uVar8" identifier == identifier) )) (compound_statement "{\n              uVar8 = 0;\n            }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) })) (expression_statement "uVar19 = uVar19 + 2;" (assignment_expression "uVar19 = uVar19 + 2" identifier = (binary_expression "uVar19 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 != uVar19)" ( (binary_expression "uVar7 != uVar19" identifier != identifier) )) ;) })) (labeled_statement "LAB_00010b84:\n        iVar27 = 0;" statement_identifier : (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n        iVar27 = 3;\n      }" else (compound_statement "{\n        iVar27 = 3;\n      }" { (expression_statement "iVar27 = 3;" (assignment_expression "iVar27 = 3" identifier = number_literal) ;) }))) }) (else_clause "else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }" else (compound_statement "{\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }" { (expression_statement "iVar27 = 4;" (assignment_expression "iVar27 = 4" identifier = number_literal) ;) (if_statement "if (iVar17 - 0xcU < 0xd) goto LAB_00010814;" if (parenthesized_expression "(iVar17 - 0xcU < 0xd)" ( (binary_expression "iVar17 - 0xcU < 0xd" (binary_expression "iVar17 - 0xcU" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_00010814;" goto statement_identifier ;)) }))) (expression_statement "unaff_s0 = local_54;" (assignment_expression "unaff_s0 = local_54" identifier = identifier) ;) (expression_statement "pcVar23 = *(code **)pcVar23;" (assignment_expression "pcVar23 = *(code **)pcVar23" identifier = (pointer_expression "*(code **)pcVar23" * (cast_expression "(code **)pcVar23" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (local_54 == pcVar23) {\n      return iVar27;\n    }" if (parenthesized_expression "(local_54 == pcVar23)" ( (binary_expression "local_54 == pcVar23" identifier == identifier) )) (compound_statement "{\n      return iVar27;\n    }" { (return_statement "return iVar27;" return identifier ;) })) (expression_statement "pcVar25 = __mips_gp0_value;" (assignment_expression "pcVar25 = __mips_gp0_value" identifier = identifier) ;) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "unaff_s2 = 0;" (assignment_expression "unaff_s2 = 0" identifier = number_literal) ;) (expression_statement "(*pcVar25)(0,0,0x3c);" (call_expression "(*pcVar25)(0,0,0x3c)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(0,0,0x3c)" ( number_literal , number_literal , number_literal ))) ;) (labeled_statement "LAB_00010bc8:\n  (*__mips_gp0_value)(0,uVar7,0x3b);" statement_identifier : (expression_statement "(*__mips_gp0_value)(0,uVar7,0x3b);" (call_expression "(*__mips_gp0_value)(0,uVar7,0x3b)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,uVar7,0x3b)" ( number_literal , identifier , number_literal ))) ;)) (expression_statement "pcVar25 = __mips_gp0_value;" (assignment_expression "pcVar25 = __mips_gp0_value" identifier = identifier) ;) (expression_statement "piVar24 = (int *)0x0;" (assignment_expression "piVar24 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "local_19c = *(int *)__mips_gp0_value;" (assignment_expression "local_19c = *(int *)__mips_gp0_value" identifier = (pointer_expression "*(int *)__mips_gp0_value" * (cast_expression "(int *)__mips_gp0_value" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_198 = unaff_s0;" (assignment_expression "local_198 = unaff_s0" identifier = identifier) ;) (expression_statement "local_194 = pcVar23;" (assignment_expression "local_194 = pcVar23" identifier = identifier) ;) (expression_statement "local_190 = unaff_s2;" (assignment_expression "local_190 = unaff_s2" identifier = identifier) ;) (do_statement "do {\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  } while (iVar17 != 3);" do (compound_statement "{\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  }" { (expression_statement "piVar14 = piVar24;" (assignment_expression "piVar14 = piVar24" identifier = identifier) ;) (expression_statement "iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);" (assignment_expression "iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240)" identifier = (call_expression "func_0x00000000(piVar24,0x10,0xc,auStack_1240)" identifier (argument_list "(piVar24,0x10,0xc,auStack_1240)" ( identifier , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar27 != 0) break;" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar13 = aiStack_1248;" (assignment_expression "piVar13 = aiStack_1248" identifier = identifier) ;) (expression_statement "func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);" (call_expression "func_0x00000000(piVar24 + 4,&local_1250,auStack_1240)" identifier (argument_list "(piVar24 + 4,&local_1250,auStack_1240)" ( (binary_expression "piVar24 + 4" identifier + number_literal) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,piVar13,auStack_1240);" (call_expression "func_0x00000000(&local_1250,piVar13,auStack_1240)" identifier (argument_list "(&local_1250,piVar13,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , identifier , identifier ))) ;) (expression_statement "piVar14 = &local_1250;" (assignment_expression "piVar14 = &local_1250" identifier = (pointer_expression "&local_1250" & identifier)) ;) (expression_statement "iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);" (assignment_expression "iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17)" identifier = (call_expression "(*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(&local_1250,8,piVar24 + 6,8,0,iVar17)" ( (pointer_expression "&local_1250" & identifier) , number_literal , (binary_expression "piVar24 + 6" identifier + number_literal) , number_literal , number_literal , identifier )))) ;) (if_statement "if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }" if (parenthesized_expression "((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0))" ( (binary_expression "(iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)" (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)" ( (comma_expression "iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0" (assignment_expression "iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17)" identifier = (call_expression "(*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(piVar13,8,piVar24 + 4,8,0,iVar17)" ( identifier , number_literal , (binary_expression "piVar24 + 4" identifier + number_literal) , number_literal , number_literal , identifier )))) , (comma_expression "piVar14 = piVar13,\n       iVar27 != 0" (assignment_expression "piVar14 = piVar13" identifier = identifier) , (binary_expression "iVar27 != 0" identifier != number_literal))) ))) )) (compound_statement "{\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }" { (labeled_statement "LAB_00010ea0:\n      iVar27 = 5;" statement_identifier : (expression_statement "iVar27 = 5;" (assignment_expression "iVar27 = 5" identifier = number_literal) ;)) (break_statement "break;" break ;) })) (expression_statement "iVar27 = 1000;" (assignment_expression "iVar27 = 1000" identifier = number_literal) ;) (expression_statement "local_1250 = 0;" (assignment_expression "local_1250 = 0" identifier = number_literal) ;) (expression_statement "local_124c = 0;" (assignment_expression "local_124c = 0" identifier = number_literal) ;) (do_statement "do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);" do (compound_statement "{\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    }" { (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "iVar27 = iVar27 + -8;" (assignment_expression "iVar27 = iVar27 + -8" identifier = (binary_expression "iVar27 + -8" identifier + number_literal)) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) }) while (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) ;) (expression_statement "iVar27 = 1000;" (assignment_expression "iVar27 = 1000" identifier = number_literal) ;) (do_statement "do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);" do (compound_statement "{\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    }" { (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "iVar27 = iVar27 + -8;" (assignment_expression "iVar27 = iVar27 + -8" identifier = (binary_expression "iVar27 + -8" identifier + number_literal)) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) }) while (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) ;) (expression_statement "piVar14 = (int *)(local_1250 >> 0x10 & 0xff);" (assignment_expression "piVar14 = (int *)(local_1250 >> 0x10 & 0xff)" identifier = (cast_expression "(int *)(local_1250 >> 0x10 & 0xff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1250 >> 0x10 & 0xff)" ( (binary_expression "local_1250 >> 0x10 & 0xff" (binary_expression "local_1250 >> 0x10" identifier >> number_literal) & number_literal) )))) ;) (if_statement "if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;" if (parenthesized_expression "(((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))" ( (binary_expression "((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))))" (parenthesized_expression "((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0'))))" ( (binary_expression "(((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))" (parenthesized_expression "(((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0'))" ( (binary_expression "((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')" (parenthesized_expression "((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0))" ( (binary_expression "(local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)" (parenthesized_expression "(local_1250._0_1_ != '\0')" ( (binary_expression "local_1250._0_1_ != '\0'" (field_expression "local_1250._0_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(local_1250._2_1_ != '\0')" ( (binary_expression "local_1250._2_1_ != '\0'" (field_expression "local_1250._2_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))" ( (parenthesized_expression "((char)local_1250 != '\0' || (local_124c._0_1_ != '\0'))" ( (binary_expression "(char)local_1250 != '\0' || (local_124c._0_1_ != '\0')" (binary_expression "(char)local_1250 != '\0'" (cast_expression "(char)local_1250" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(local_124c._0_1_ != '\0')" ( (binary_expression "local_124c._0_1_ != '\0'" (field_expression "local_124c._0_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) || (parenthesized_expression "((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))))" ( (parenthesized_expression "(local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))" ( (binary_expression "local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))" (binary_expression "local_124c._1_1_ != '\0'" (field_expression "local_124c._1_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))" ( (parenthesized_expression "(local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))" ( (binary_expression "local_124c._2_1_ != '\0' || ((char)local_124c != '\0')" (binary_expression "local_124c._2_1_ != '\0'" (field_expression "local_124c._2_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "((char)local_124c != '\0')" ( (binary_expression "(char)local_124c != '\0'" (cast_expression "(char)local_124c" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) ))) )) (goto_statement "goto LAB_00010ea0;" goto statement_identifier ;)) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar24 = piVar24 + 8;" (assignment_expression "piVar24 = piVar24 + 8" identifier = (binary_expression "piVar24 + 8" identifier + number_literal)) ;) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) }) while (parenthesized_expression "(iVar17 != 3)" ( (binary_expression "iVar17 != 3" identifier != number_literal) )) ;) (if_statement "if (local_19c == *(int *)pcVar25) {\n    return iVar27;\n  }" if (parenthesized_expression "(local_19c == *(int *)pcVar25)" ( (binary_expression "local_19c == *(int *)pcVar25" identifier == (pointer_expression "*(int *)pcVar25" * (cast_expression "(int *)pcVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar27;\n  }" { (return_statement "return iVar27;" return identifier ;) })) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (piVar14 == (int *)0x0) {\n    (*__mips_gp0_value)(0,0,0x132);\n                    /* WARNING: Bad instruction - Truncating control flow here */\n    halt_baddata();\n  }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*__mips_gp0_value)(0,0,0x132);\n                    /* WARNING: Bad instruction - Truncating control flow here */\n    halt_baddata();\n  }" { (expression_statement "(*__mips_gp0_value)(0,0,0x132);" (call_expression "(*__mips_gp0_value)(0,0,0x132)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,0,0x132)" ( number_literal , number_literal , number_literal ))) ;) comment (expression_statement "halt_baddata();" (call_expression "halt_baddata()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*piVar14 < 8) {\n    return 3;\n  }" if (parenthesized_expression "(*piVar14 < 8)" ( (binary_expression "*piVar14 < 8" (pointer_expression "*piVar14" * identifier) < number_literal) )) (compound_statement "{\n    return 3;\n  }" { (return_statement "return 3;" return number_literal ;) })) (if_statement "if (*piVar14 < 0x81) {\n    return 0;\n  }" if (parenthesized_expression "(*piVar14 < 0x81)" ( (binary_expression "*piVar14 < 0x81" (pointer_expression "*piVar14" * identifier) < number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "*piVar14 = 0x80;" (assignment_expression "*piVar14 = 0x80" (pointer_expression "*piVar14" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nint rc5_ecb_encrypt(uchar *pt,uchar *ct,symmetric_key *skey)\n\n{\n  ulong32 *puVar1;\n  ulong32 *puVar2;\n  ulong32 *puVar3;\n  ulong32 *puVar4;\n  ulong32 *puVar5;\n  ulong32 *puVar6;\n  ulong32 *puVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  ulong32 *puVar11;\n  int iVar12;\n  uint uVar13;\n  \n  if (skey == (symmetric_key *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/rc5.c",0x86);\n  }\n  if (pt == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/ciphers/rc5.c",0x87);\n  }\n  puVar11 = (skey->des3).ek[0] + 3;\n  if (ct == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/ciphers/rc5.c",0x88);\n  }\n  uVar8 = *(uint *)pt;\n  uVar9 = *(uint *)(pt + 4);\n  uVar10 = (skey->rc5).rounds;\n  uVar13 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 + (skey->des).ek[1];\n  uVar8 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + (skey->des).ek[2];\n  if ((uVar10 & 1) == 0) {\n    if (0 < (int)uVar10) {\n      iVar12 = 2;\n      uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11;\n      uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n              (skey->des).ek[4];\n      puVar11 = (skey->des3).ek[0] + 7;\n      uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n               (skey->des).ek[5];\n      uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n              (skey->des).ek[6];\n      if (2 < (int)uVar10) {\n        if ((int)((uVar10 - 1) * 0x40000000) < 0) {\n          iVar12 = 4;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar11 = (skey->des3).ek[0] + 0xb;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];\n          if ((int)uVar10 < 5) goto LAB_00010274;\n        }\n        do {\n          puVar1 = puVar11 + 1;\n          puVar2 = puVar11 + 2;\n          puVar3 = puVar11 + 3;\n          puVar4 = puVar11 + 4;\n          iVar12 = iVar12 + 4;\n          puVar5 = puVar11 + 5;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar6 = puVar11 + 6;\n          puVar7 = puVar11 + 7;\n          puVar11 = puVar11 + 8;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;\n          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;\n        } while (iVar12 < (int)uVar10);\n      }\n    }\n  }\n  else if (0 < (int)uVar10) {\n    uVar9 = 0;\n    if ((uVar10 & 1) != 0) {\n      uVar9 = 1;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = (skey->des3).ek[0] + 5;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4];\n      if (uVar10 == 1) goto LAB_00010274;\n    }\n    do {\n      puVar1 = puVar11 + 1;\n      puVar2 = puVar11 + 2;\n      puVar3 = puVar11 + 3;\n      uVar9 = uVar9 + 2;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = puVar11 + 4;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1\n      ;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3\n      ;\n    } while (uVar10 != uVar9);\n  }\nLAB_00010274:\n  *ct = (uchar)uVar13;\n  ct[4] = (uchar)uVar8;\n  ct[3] = (uchar)(uVar13 >> 0x18);\n  ct[2] = (uchar)(uVar13 >> 0x10);\n  ct[1] = (uchar)(uVar13 >> 8);\n  ct[7] = (uchar)(uVar8 >> 0x18);\n  ct[6] = (uchar)(uVar8 >> 0x10);\n  ct[5] = (uchar)(uVar8 >> 8);\n  return 0;\n}\n\n" comment (function_definition "int rc5_ecb_encrypt(uchar *pt,uchar *ct,symmetric_key *skey)\n\n{\n  ulong32 *puVar1;\n  ulong32 *puVar2;\n  ulong32 *puVar3;\n  ulong32 *puVar4;\n  ulong32 *puVar5;\n  ulong32 *puVar6;\n  ulong32 *puVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  ulong32 *puVar11;\n  int iVar12;\n  uint uVar13;\n  \n  if (skey == (symmetric_key *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/rc5.c",0x86);\n  }\n  if (pt == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/ciphers/rc5.c",0x87);\n  }\n  puVar11 = (skey->des3).ek[0] + 3;\n  if (ct == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/ciphers/rc5.c",0x88);\n  }\n  uVar8 = *(uint *)pt;\n  uVar9 = *(uint *)(pt + 4);\n  uVar10 = (skey->rc5).rounds;\n  uVar13 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 + (skey->des).ek[1];\n  uVar8 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + (skey->des).ek[2];\n  if ((uVar10 & 1) == 0) {\n    if (0 < (int)uVar10) {\n      iVar12 = 2;\n      uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11;\n      uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n              (skey->des).ek[4];\n      puVar11 = (skey->des3).ek[0] + 7;\n      uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n               (skey->des).ek[5];\n      uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n              (skey->des).ek[6];\n      if (2 < (int)uVar10) {\n        if ((int)((uVar10 - 1) * 0x40000000) < 0) {\n          iVar12 = 4;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar11 = (skey->des3).ek[0] + 0xb;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];\n          if ((int)uVar10 < 5) goto LAB_00010274;\n        }\n        do {\n          puVar1 = puVar11 + 1;\n          puVar2 = puVar11 + 2;\n          puVar3 = puVar11 + 3;\n          puVar4 = puVar11 + 4;\n          iVar12 = iVar12 + 4;\n          puVar5 = puVar11 + 5;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar6 = puVar11 + 6;\n          puVar7 = puVar11 + 7;\n          puVar11 = puVar11 + 8;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;\n          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;\n        } while (iVar12 < (int)uVar10);\n      }\n    }\n  }\n  else if (0 < (int)uVar10) {\n    uVar9 = 0;\n    if ((uVar10 & 1) != 0) {\n      uVar9 = 1;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = (skey->des3).ek[0] + 5;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4];\n      if (uVar10 == 1) goto LAB_00010274;\n    }\n    do {\n      puVar1 = puVar11 + 1;\n      puVar2 = puVar11 + 2;\n      puVar3 = puVar11 + 3;\n      uVar9 = uVar9 + 2;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = puVar11 + 4;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1\n      ;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3\n      ;\n    } while (uVar10 != uVar9);\n  }\nLAB_00010274:\n  *ct = (uchar)uVar13;\n  ct[4] = (uchar)uVar8;\n  ct[3] = (uchar)(uVar13 >> 0x18);\n  ct[2] = (uchar)(uVar13 >> 0x10);\n  ct[1] = (uchar)(uVar13 >> 8);\n  ct[7] = (uchar)(uVar8 >> 0x18);\n  ct[6] = (uchar)(uVar8 >> 0x10);\n  ct[5] = (uchar)(uVar8 >> 8);\n  return 0;\n}" primitive_type (function_declarator "rc5_ecb_encrypt(uchar *pt,uchar *ct,symmetric_key *skey)" identifier (parameter_list "(uchar *pt,uchar *ct,symmetric_key *skey)" ( (parameter_declaration "uchar *pt" type_identifier (pointer_declarator "*pt" * identifier)) , (parameter_declaration "uchar *ct" type_identifier (pointer_declarator "*ct" * identifier)) , (parameter_declaration "symmetric_key *skey" type_identifier (pointer_declarator "*skey" * identifier)) ))) (compound_statement "{\n  ulong32 *puVar1;\n  ulong32 *puVar2;\n  ulong32 *puVar3;\n  ulong32 *puVar4;\n  ulong32 *puVar5;\n  ulong32 *puVar6;\n  ulong32 *puVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  ulong32 *puVar11;\n  int iVar12;\n  uint uVar13;\n  \n  if (skey == (symmetric_key *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/rc5.c",0x86);\n  }\n  if (pt == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/ciphers/rc5.c",0x87);\n  }\n  puVar11 = (skey->des3).ek[0] + 3;\n  if (ct == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/ciphers/rc5.c",0x88);\n  }\n  uVar8 = *(uint *)pt;\n  uVar9 = *(uint *)(pt + 4);\n  uVar10 = (skey->rc5).rounds;\n  uVar13 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 + (skey->des).ek[1];\n  uVar8 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + (skey->des).ek[2];\n  if ((uVar10 & 1) == 0) {\n    if (0 < (int)uVar10) {\n      iVar12 = 2;\n      uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11;\n      uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n              (skey->des).ek[4];\n      puVar11 = (skey->des3).ek[0] + 7;\n      uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n               (skey->des).ek[5];\n      uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n              (skey->des).ek[6];\n      if (2 < (int)uVar10) {\n        if ((int)((uVar10 - 1) * 0x40000000) < 0) {\n          iVar12 = 4;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar11 = (skey->des3).ek[0] + 0xb;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];\n          if ((int)uVar10 < 5) goto LAB_00010274;\n        }\n        do {\n          puVar1 = puVar11 + 1;\n          puVar2 = puVar11 + 2;\n          puVar3 = puVar11 + 3;\n          puVar4 = puVar11 + 4;\n          iVar12 = iVar12 + 4;\n          puVar5 = puVar11 + 5;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar6 = puVar11 + 6;\n          puVar7 = puVar11 + 7;\n          puVar11 = puVar11 + 8;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;\n          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;\n        } while (iVar12 < (int)uVar10);\n      }\n    }\n  }\n  else if (0 < (int)uVar10) {\n    uVar9 = 0;\n    if ((uVar10 & 1) != 0) {\n      uVar9 = 1;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = (skey->des3).ek[0] + 5;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4];\n      if (uVar10 == 1) goto LAB_00010274;\n    }\n    do {\n      puVar1 = puVar11 + 1;\n      puVar2 = puVar11 + 2;\n      puVar3 = puVar11 + 3;\n      uVar9 = uVar9 + 2;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = puVar11 + 4;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1\n      ;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3\n      ;\n    } while (uVar10 != uVar9);\n  }\nLAB_00010274:\n  *ct = (uchar)uVar13;\n  ct[4] = (uchar)uVar8;\n  ct[3] = (uchar)(uVar13 >> 0x18);\n  ct[2] = (uchar)(uVar13 >> 0x10);\n  ct[1] = (uchar)(uVar13 >> 8);\n  ct[7] = (uchar)(uVar8 >> 0x18);\n  ct[6] = (uchar)(uVar8 >> 0x10);\n  ct[5] = (uchar)(uVar8 >> 8);\n  return 0;\n}" { (declaration "ulong32 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "ulong32 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "ulong32 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "ulong32 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "ulong32 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "ulong32 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "ulong32 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "ulong32 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (if_statement "if (skey == (symmetric_key *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/rc5.c",0x86);\n  }" if (parenthesized_expression "(skey == (symmetric_key *)0x0)" ( (binary_expression "skey == (symmetric_key *)0x0" identifier == (cast_expression "(symmetric_key *)0x0" ( (type_descriptor "symmetric_key *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("skey != NULL","src/ciphers/rc5.c",0x86);\n  }" { comment (expression_statement "crypt_argchk("skey != NULL","src/ciphers/rc5.c",0x86);" (call_expression "crypt_argchk("skey != NULL","src/ciphers/rc5.c",0x86)" identifier (argument_list "("skey != NULL","src/ciphers/rc5.c",0x86)" ( (string_literal ""skey != NULL"" " string_content ") , (string_literal ""src/ciphers/rc5.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (pt == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/ciphers/rc5.c",0x87);\n  }" if (parenthesized_expression "(pt == (uchar *)0x0)" ( (binary_expression "pt == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/ciphers/rc5.c",0x87);\n  }" { comment (expression_statement "crypt_argchk("pt != NULL","src/ciphers/rc5.c",0x87);" (call_expression "crypt_argchk("pt != NULL","src/ciphers/rc5.c",0x87)" identifier (argument_list "("pt != NULL","src/ciphers/rc5.c",0x87)" ( (string_literal ""pt != NULL"" " string_content ") , (string_literal ""src/ciphers/rc5.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "puVar11 = (skey->des3).ek[0] + 3;" (assignment_expression "puVar11 = (skey->des3).ek[0] + 3" identifier = (binary_expression "(skey->des3).ek[0] + 3" (subscript_expression "(skey->des3).ek[0]" (field_expression "(skey->des3).ek" (parenthesized_expression "(skey->des3)" ( (field_expression "skey->des3" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) + number_literal)) ;) (if_statement "if (ct == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/ciphers/rc5.c",0x88);\n  }" if (parenthesized_expression "(ct == (uchar *)0x0)" ( (binary_expression "ct == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/ciphers/rc5.c",0x88);\n  }" { comment (expression_statement "crypt_argchk("ct != NULL","src/ciphers/rc5.c",0x88);" (call_expression "crypt_argchk("ct != NULL","src/ciphers/rc5.c",0x88)" identifier (argument_list "("ct != NULL","src/ciphers/rc5.c",0x88)" ( (string_literal ""ct != NULL"" " string_content ") , (string_literal ""src/ciphers/rc5.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "uVar8 = *(uint *)pt;" (assignment_expression "uVar8 = *(uint *)pt" identifier = (pointer_expression "*(uint *)pt" * (cast_expression "(uint *)pt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar9 = *(uint *)(pt + 4);" (assignment_expression "uVar9 = *(uint *)(pt + 4)" identifier = (pointer_expression "*(uint *)(pt + 4)" * (cast_expression "(uint *)(pt + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pt + 4)" ( (binary_expression "pt + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = (skey->rc5).rounds;" (assignment_expression "uVar10 = (skey->rc5).rounds" identifier = (field_expression "(skey->rc5).rounds" (parenthesized_expression "(skey->rc5)" ( (field_expression "skey->rc5" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar13 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 + (skey->des).ek[1];" (assignment_expression "uVar13 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 + (skey->des).ek[1]" identifier = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 + (skey->des).ek[1]" (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) + (subscript_expression "(skey->des).ek[1]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "uVar8 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + (skey->des).ek[2];" (assignment_expression "uVar8 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + (skey->des).ek[2]" identifier = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + (skey->des).ek[2]" (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) + (subscript_expression "(skey->des).ek[2]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (if_statement "if ((uVar10 & 1) == 0) {\n    if (0 < (int)uVar10) {\n      iVar12 = 2;\n      uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11;\n      uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n              (skey->des).ek[4];\n      puVar11 = (skey->des3).ek[0] + 7;\n      uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n               (skey->des).ek[5];\n      uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n              (skey->des).ek[6];\n      if (2 < (int)uVar10) {\n        if ((int)((uVar10 - 1) * 0x40000000) < 0) {\n          iVar12 = 4;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar11 = (skey->des3).ek[0] + 0xb;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];\n          if ((int)uVar10 < 5) goto LAB_00010274;\n        }\n        do {\n          puVar1 = puVar11 + 1;\n          puVar2 = puVar11 + 2;\n          puVar3 = puVar11 + 3;\n          puVar4 = puVar11 + 4;\n          iVar12 = iVar12 + 4;\n          puVar5 = puVar11 + 5;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar6 = puVar11 + 6;\n          puVar7 = puVar11 + 7;\n          puVar11 = puVar11 + 8;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;\n          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;\n        } while (iVar12 < (int)uVar10);\n      }\n    }\n  }\n  else if (0 < (int)uVar10) {\n    uVar9 = 0;\n    if ((uVar10 & 1) != 0) {\n      uVar9 = 1;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = (skey->des3).ek[0] + 5;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4];\n      if (uVar10 == 1) goto LAB_00010274;\n    }\n    do {\n      puVar1 = puVar11 + 1;\n      puVar2 = puVar11 + 2;\n      puVar3 = puVar11 + 3;\n      uVar9 = uVar9 + 2;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = puVar11 + 4;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1\n      ;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3\n      ;\n    } while (uVar10 != uVar9);\n  }" if (parenthesized_expression "((uVar10 & 1) == 0)" ( (binary_expression "(uVar10 & 1) == 0" (parenthesized_expression "(uVar10 & 1)" ( (binary_expression "uVar10 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    if (0 < (int)uVar10) {\n      iVar12 = 2;\n      uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11;\n      uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n              (skey->des).ek[4];\n      puVar11 = (skey->des3).ek[0] + 7;\n      uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n               (skey->des).ek[5];\n      uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n              (skey->des).ek[6];\n      if (2 < (int)uVar10) {\n        if ((int)((uVar10 - 1) * 0x40000000) < 0) {\n          iVar12 = 4;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar11 = (skey->des3).ek[0] + 0xb;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];\n          if ((int)uVar10 < 5) goto LAB_00010274;\n        }\n        do {\n          puVar1 = puVar11 + 1;\n          puVar2 = puVar11 + 2;\n          puVar3 = puVar11 + 3;\n          puVar4 = puVar11 + 4;\n          iVar12 = iVar12 + 4;\n          puVar5 = puVar11 + 5;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar6 = puVar11 + 6;\n          puVar7 = puVar11 + 7;\n          puVar11 = puVar11 + 8;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;\n          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;\n        } while (iVar12 < (int)uVar10);\n      }\n    }\n  }" { (if_statement "if (0 < (int)uVar10) {\n      iVar12 = 2;\n      uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11;\n      uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n              (skey->des).ek[4];\n      puVar11 = (skey->des3).ek[0] + 7;\n      uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n               (skey->des).ek[5];\n      uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n              (skey->des).ek[6];\n      if (2 < (int)uVar10) {\n        if ((int)((uVar10 - 1) * 0x40000000) < 0) {\n          iVar12 = 4;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar11 = (skey->des3).ek[0] + 0xb;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];\n          if ((int)uVar10 < 5) goto LAB_00010274;\n        }\n        do {\n          puVar1 = puVar11 + 1;\n          puVar2 = puVar11 + 2;\n          puVar3 = puVar11 + 3;\n          puVar4 = puVar11 + 4;\n          iVar12 = iVar12 + 4;\n          puVar5 = puVar11 + 5;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar6 = puVar11 + 6;\n          puVar7 = puVar11 + 7;\n          puVar11 = puVar11 + 8;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;\n          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;\n        } while (iVar12 < (int)uVar10);\n      }\n    }" if (parenthesized_expression "(0 < (int)uVar10)" ( (binary_expression "0 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      iVar12 = 2;\n      uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11;\n      uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n              (skey->des).ek[4];\n      puVar11 = (skey->des3).ek[0] + 7;\n      uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n               (skey->des).ek[5];\n      uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n              (skey->des).ek[6];\n      if (2 < (int)uVar10) {\n        if ((int)((uVar10 - 1) * 0x40000000) < 0) {\n          iVar12 = 4;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar11 = (skey->des3).ek[0] + 0xb;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];\n          if ((int)uVar10 < 5) goto LAB_00010274;\n        }\n        do {\n          puVar1 = puVar11 + 1;\n          puVar2 = puVar11 + 2;\n          puVar3 = puVar11 + 3;\n          puVar4 = puVar11 + 4;\n          iVar12 = iVar12 + 4;\n          puVar5 = puVar11 + 5;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar6 = puVar11 + 6;\n          puVar7 = puVar11 + 7;\n          puVar11 = puVar11 + 8;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;\n          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;\n        } while (iVar12 < (int)uVar10);\n      }\n    }" { (expression_statement "iVar12 = 2;" (assignment_expression "iVar12 = 2" identifier = number_literal) ;) (expression_statement "uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11;" (assignment_expression "uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11" identifier = (binary_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11" (parenthesized_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f))" ( (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)" (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uVar13 ^ uVar8) << (uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n              (skey->des).ek[4];" (assignment_expression "uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n              (skey->des).ek[4]" identifier = (binary_expression "((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n              (skey->des).ek[4]" (parenthesized_expression "((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar8) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar8) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "(skey->des).ek[4]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "puVar11 = (skey->des3).ek[0] + 7;" (assignment_expression "puVar11 = (skey->des3).ek[0] + 7" identifier = (binary_expression "(skey->des3).ek[0] + 7" (subscript_expression "(skey->des3).ek[0]" (field_expression "(skey->des3).ek" (parenthesized_expression "(skey->des3)" ( (field_expression "skey->des3" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) + number_literal)) ;) (expression_statement "uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n               (skey->des).ek[5];" (assignment_expression "uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n               (skey->des).ek[5]" identifier = (binary_expression "((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n               (skey->des).ek[5]" (parenthesized_expression "((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)" (binary_expression "(uVar9 ^ uVar8) >> (-uVar8 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar8) << (uVar8 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "(skey->des).ek[5]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n              (skey->des).ek[6];" (assignment_expression "uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n              (skey->des).ek[6]" identifier = (binary_expression "((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n              (skey->des).ek[6]" (parenthesized_expression "((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f))" ( (binary_expression "(uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)" (binary_expression "(uVar8 ^ uVar13) >> (-uVar13 & 0x1f)" (parenthesized_expression "(uVar8 ^ uVar13)" ( (binary_expression "uVar8 ^ uVar13" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar13 & 0x1f)" ( (binary_expression "-uVar13 & 0x1f" (unary_expression "-uVar13" - identifier) & number_literal) ))) | (binary_expression "(uVar8 ^ uVar13) << (uVar13 & 0x1f)" (parenthesized_expression "(uVar8 ^ uVar13)" ( (binary_expression "uVar8 ^ uVar13" identifier ^ identifier) )) << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "(skey->des).ek[6]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (if_statement "if (2 < (int)uVar10) {\n        if ((int)((uVar10 - 1) * 0x40000000) < 0) {\n          iVar12 = 4;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar11 = (skey->des3).ek[0] + 0xb;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];\n          if ((int)uVar10 < 5) goto LAB_00010274;\n        }\n        do {\n          puVar1 = puVar11 + 1;\n          puVar2 = puVar11 + 2;\n          puVar3 = puVar11 + 3;\n          puVar4 = puVar11 + 4;\n          iVar12 = iVar12 + 4;\n          puVar5 = puVar11 + 5;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar6 = puVar11 + 6;\n          puVar7 = puVar11 + 7;\n          puVar11 = puVar11 + 8;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;\n          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;\n        } while (iVar12 < (int)uVar10);\n      }" if (parenthesized_expression "(2 < (int)uVar10)" ( (binary_expression "2 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        if ((int)((uVar10 - 1) * 0x40000000) < 0) {\n          iVar12 = 4;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar11 = (skey->des3).ek[0] + 0xb;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];\n          if ((int)uVar10 < 5) goto LAB_00010274;\n        }\n        do {\n          puVar1 = puVar11 + 1;\n          puVar2 = puVar11 + 2;\n          puVar3 = puVar11 + 3;\n          puVar4 = puVar11 + 4;\n          iVar12 = iVar12 + 4;\n          puVar5 = puVar11 + 5;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar6 = puVar11 + 6;\n          puVar7 = puVar11 + 7;\n          puVar11 = puVar11 + 8;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;\n          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;\n        } while (iVar12 < (int)uVar10);\n      }" { (if_statement "if ((int)((uVar10 - 1) * 0x40000000) < 0) {\n          iVar12 = 4;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar11 = (skey->des3).ek[0] + 0xb;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];\n          if ((int)uVar10 < 5) goto LAB_00010274;\n        }" if (parenthesized_expression "((int)((uVar10 - 1) * 0x40000000) < 0)" ( (binary_expression "(int)((uVar10 - 1) * 0x40000000) < 0" (cast_expression "(int)((uVar10 - 1) * 0x40000000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uVar10 - 1) * 0x40000000)" ( (binary_expression "(uVar10 - 1) * 0x40000000" (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )) * number_literal) ))) < number_literal) )) (compound_statement "{\n          iVar12 = 4;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar11 = (skey->des3).ek[0] + 0xb;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];\n          if ((int)uVar10 < 5) goto LAB_00010274;\n        }" { (expression_statement "iVar12 = 4;" (assignment_expression "iVar12 = 4" identifier = number_literal) ;) (expression_statement "uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;" (assignment_expression "uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11" identifier = (binary_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11" (parenthesized_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f))" ( (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)" (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uVar13 ^ uVar8) << (uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "puVar11 = (skey->des3).ek[0] + 0xb;" (assignment_expression "puVar11 = (skey->des3).ek[0] + 0xb" identifier = (binary_expression "(skey->des3).ek[0] + 0xb" (subscript_expression "(skey->des3).ek[0]" (field_expression "(skey->des3).ek" (parenthesized_expression "(skey->des3)" ( (field_expression "skey->des3" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) + number_literal)) ;) (expression_statement "uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8];" (assignment_expression "uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8]" identifier = (binary_expression "((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) +\n                  (skey->des).ek[8]" (parenthesized_expression "((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar8) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar8) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "(skey->des).ek[8]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9];" (assignment_expression "uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9]" identifier = (binary_expression "((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   (skey->des).ek[9]" (parenthesized_expression "((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)" (binary_expression "(uVar9 ^ uVar8) >> (-uVar8 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar8) << (uVar8 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "(skey->des).ek[9]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (expression_statement "uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10];" (assignment_expression "uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10]" identifier = (binary_expression "((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  (skey->des).ek[10]" (parenthesized_expression "((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f))" ( (binary_expression "(uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)" (binary_expression "(uVar8 ^ uVar13) >> (-uVar13 & 0x1f)" (parenthesized_expression "(uVar8 ^ uVar13)" ( (binary_expression "uVar8 ^ uVar13" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar13 & 0x1f)" ( (binary_expression "-uVar13 & 0x1f" (unary_expression "-uVar13" - identifier) & number_literal) ))) | (binary_expression "(uVar8 ^ uVar13) << (uVar13 & 0x1f)" (parenthesized_expression "(uVar8 ^ uVar13)" ( (binary_expression "uVar8 ^ uVar13" identifier ^ identifier) )) << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "(skey->des).ek[10]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (if_statement "if ((int)uVar10 < 5) goto LAB_00010274;" if (parenthesized_expression "((int)uVar10 < 5)" ( (binary_expression "(int)uVar10 < 5" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00010274;" goto statement_identifier ;)) })) (do_statement "do {\n          puVar1 = puVar11 + 1;\n          puVar2 = puVar11 + 2;\n          puVar3 = puVar11 + 3;\n          puVar4 = puVar11 + 4;\n          iVar12 = iVar12 + 4;\n          puVar5 = puVar11 + 5;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar6 = puVar11 + 6;\n          puVar7 = puVar11 + 7;\n          puVar11 = puVar11 + 8;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;\n          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;\n        } while (iVar12 < (int)uVar10);" do (compound_statement "{\n          puVar1 = puVar11 + 1;\n          puVar2 = puVar11 + 2;\n          puVar3 = puVar11 + 3;\n          puVar4 = puVar11 + 4;\n          iVar12 = iVar12 + 4;\n          puVar5 = puVar11 + 5;\n          uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;\n          puVar6 = puVar11 + 6;\n          puVar7 = puVar11 + 7;\n          puVar11 = puVar11 + 8;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;\n          uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;\n          uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;\n          uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;\n          uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;\n          uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;\n        }" { (expression_statement "puVar1 = puVar11 + 1;" (assignment_expression "puVar1 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar2 = puVar11 + 2;" (assignment_expression "puVar2 = puVar11 + 2" identifier = (binary_expression "puVar11 + 2" identifier + number_literal)) ;) (expression_statement "puVar3 = puVar11 + 3;" (assignment_expression "puVar3 = puVar11 + 3" identifier = (binary_expression "puVar11 + 3" identifier + number_literal)) ;) (expression_statement "puVar4 = puVar11 + 4;" (assignment_expression "puVar4 = puVar11 + 4" identifier = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "iVar12 = iVar12 + 4;" (assignment_expression "iVar12 = iVar12 + 4" identifier = (binary_expression "iVar12 + 4" identifier + number_literal)) ;) (expression_statement "puVar5 = puVar11 + 5;" (assignment_expression "puVar5 = puVar11 + 5" identifier = (binary_expression "puVar11 + 5" identifier + number_literal)) ;) (expression_statement "uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11;" (assignment_expression "uVar9 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11" identifier = (binary_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) +\n                  *puVar11" (parenthesized_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f))" ( (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)" (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uVar13 ^ uVar8) << (uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "puVar6 = puVar11 + 6;" (assignment_expression "puVar6 = puVar11 + 6" identifier = (binary_expression "puVar11 + 6" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar11 + 7;" (assignment_expression "puVar7 = puVar11 + 7" identifier = (binary_expression "puVar11 + 7" identifier + number_literal)) ;) (expression_statement "puVar11 = puVar11 + 8;" (assignment_expression "puVar11 = puVar11 + 8" identifier = (binary_expression "puVar11 + 8" identifier + number_literal)) ;) (expression_statement "uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1\n          ;" (assignment_expression "uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1" identifier = (binary_expression "((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar1" (parenthesized_expression "((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar8) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar8) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2\n          ;" (assignment_expression "uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2" identifier = (binary_expression "((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2" (parenthesized_expression "((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)" (binary_expression "(uVar9 ^ uVar8) >> (-uVar8 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar8) << (uVar8 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3\n          ;" (assignment_expression "uVar8 = ((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3" identifier = (binary_expression "((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)) + *puVar3" (parenthesized_expression "((uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f))" ( (binary_expression "(uVar8 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar8 ^ uVar9) << (uVar9 & 0x1f)" (binary_expression "(uVar8 ^ uVar9) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar8 ^ uVar9)" ( (binary_expression "uVar8 ^ uVar9" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar8 ^ uVar9) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar8 ^ uVar9)" ( (binary_expression "uVar8 ^ uVar9" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4\n          ;" (assignment_expression "uVar9 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4" identifier = (binary_expression "((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) + *puVar4" (parenthesized_expression "((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)" (binary_expression "(uVar9 ^ uVar8) >> (-uVar8 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar8) << (uVar8 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar4" * identifier))) ;) (expression_statement "uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5\n          ;" (assignment_expression "uVar8 = ((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5" identifier = (binary_expression "((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)) + *puVar5" (parenthesized_expression "((uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar8) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar8) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar8) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar8) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6;" (assignment_expression "uVar13 = ((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6" identifier = (binary_expression "((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)) +\n                   *puVar6" (parenthesized_expression "((uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar9 ^ uVar8) << (uVar8 & 0x1f)" (binary_expression "(uVar9 ^ uVar8) >> (-uVar8 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar8) << (uVar8 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar8)" ( (binary_expression "uVar9 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7;" (assignment_expression "uVar8 = ((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7" identifier = (binary_expression "((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)) +\n                  *puVar7" (parenthesized_expression "((uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f))" ( (binary_expression "(uVar8 ^ uVar13) >> (-uVar13 & 0x1f) | (uVar8 ^ uVar13) << (uVar13 & 0x1f)" (binary_expression "(uVar8 ^ uVar13) >> (-uVar13 & 0x1f)" (parenthesized_expression "(uVar8 ^ uVar13)" ( (binary_expression "uVar8 ^ uVar13" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar13 & 0x1f)" ( (binary_expression "-uVar13 & 0x1f" (unary_expression "-uVar13" - identifier) & number_literal) ))) | (binary_expression "(uVar8 ^ uVar13) << (uVar13 & 0x1f)" (parenthesized_expression "(uVar8 ^ uVar13)" ( (binary_expression "uVar8 ^ uVar13" identifier ^ identifier) )) << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar7" * identifier))) ;) }) while (parenthesized_expression "(iVar12 < (int)uVar10)" ( (binary_expression "iVar12 < (int)uVar10" identifier < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) })) }) (else_clause "else if (0 < (int)uVar10) {\n    uVar9 = 0;\n    if ((uVar10 & 1) != 0) {\n      uVar9 = 1;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = (skey->des3).ek[0] + 5;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4];\n      if (uVar10 == 1) goto LAB_00010274;\n    }\n    do {\n      puVar1 = puVar11 + 1;\n      puVar2 = puVar11 + 2;\n      puVar3 = puVar11 + 3;\n      uVar9 = uVar9 + 2;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = puVar11 + 4;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1\n      ;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3\n      ;\n    } while (uVar10 != uVar9);\n  }" else (if_statement "if (0 < (int)uVar10) {\n    uVar9 = 0;\n    if ((uVar10 & 1) != 0) {\n      uVar9 = 1;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = (skey->des3).ek[0] + 5;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4];\n      if (uVar10 == 1) goto LAB_00010274;\n    }\n    do {\n      puVar1 = puVar11 + 1;\n      puVar2 = puVar11 + 2;\n      puVar3 = puVar11 + 3;\n      uVar9 = uVar9 + 2;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = puVar11 + 4;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1\n      ;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3\n      ;\n    } while (uVar10 != uVar9);\n  }" if (parenthesized_expression "(0 < (int)uVar10)" ( (binary_expression "0 < (int)uVar10" number_literal < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    uVar9 = 0;\n    if ((uVar10 & 1) != 0) {\n      uVar9 = 1;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = (skey->des3).ek[0] + 5;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4];\n      if (uVar10 == 1) goto LAB_00010274;\n    }\n    do {\n      puVar1 = puVar11 + 1;\n      puVar2 = puVar11 + 2;\n      puVar3 = puVar11 + 3;\n      uVar9 = uVar9 + 2;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = puVar11 + 4;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1\n      ;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3\n      ;\n    } while (uVar10 != uVar9);\n  }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if ((uVar10 & 1) != 0) {\n      uVar9 = 1;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = (skey->des3).ek[0] + 5;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4];\n      if (uVar10 == 1) goto LAB_00010274;\n    }" if (parenthesized_expression "((uVar10 & 1) != 0)" ( (binary_expression "(uVar10 & 1) != 0" (parenthesized_expression "(uVar10 & 1)" ( (binary_expression "uVar10 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar9 = 1;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = (skey->des3).ek[0] + 5;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4];\n      if (uVar10 == 1) goto LAB_00010274;\n    }" { (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;" (assignment_expression "uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11" identifier = (binary_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11" (parenthesized_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f))" ( (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)" (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uVar13 ^ uVar8) << (uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "puVar11 = (skey->des3).ek[0] + 5;" (assignment_expression "puVar11 = (skey->des3).ek[0] + 5" identifier = (binary_expression "(skey->des3).ek[0] + 5" (subscript_expression "(skey->des3).ek[0]" (field_expression "(skey->des3).ek" (parenthesized_expression "(skey->des3)" ( (field_expression "skey->des3" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) + number_literal)) ;) (expression_statement "uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4];" (assignment_expression "uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4]" identifier = (binary_expression "((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) +\n              (skey->des).ek[4]" (parenthesized_expression "((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f))" ( (binary_expression "(uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)" (binary_expression "(uVar13 ^ uVar8) >> (-uVar13 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar13 & 0x1f)" ( (binary_expression "-uVar13 & 0x1f" (unary_expression "-uVar13" - identifier) & number_literal) ))) | (binary_expression "(uVar13 ^ uVar8) << (uVar13 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "(skey->des).ek[4]" (field_expression "(skey->des).ek" (parenthesized_expression "(skey->des)" ( (field_expression "skey->des" identifier -> field_identifier) )) . field_identifier) [ number_literal ]))) ;) (if_statement "if (uVar10 == 1) goto LAB_00010274;" if (parenthesized_expression "(uVar10 == 1)" ( (binary_expression "uVar10 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00010274;" goto statement_identifier ;)) })) (do_statement "do {\n      puVar1 = puVar11 + 1;\n      puVar2 = puVar11 + 2;\n      puVar3 = puVar11 + 3;\n      uVar9 = uVar9 + 2;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = puVar11 + 4;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1\n      ;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3\n      ;\n    } while (uVar10 != uVar9);" do (compound_statement "{\n      puVar1 = puVar11 + 1;\n      puVar2 = puVar11 + 2;\n      puVar3 = puVar11 + 3;\n      uVar9 = uVar9 + 2;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;\n      puVar11 = puVar11 + 4;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1\n      ;\n      uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2;\n      uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3\n      ;\n    }" { (expression_statement "puVar1 = puVar11 + 1;" (assignment_expression "puVar1 = puVar11 + 1" identifier = (binary_expression "puVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar2 = puVar11 + 2;" (assignment_expression "puVar2 = puVar11 + 2" identifier = (binary_expression "puVar11 + 2" identifier + number_literal)) ;) (expression_statement "puVar3 = puVar11 + 3;" (assignment_expression "puVar3 = puVar11 + 3" identifier = (binary_expression "puVar11 + 3" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar9 + 2;" (assignment_expression "uVar9 = uVar9 + 2" identifier = (binary_expression "uVar9 + 2" identifier + number_literal)) ;) (expression_statement "uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11\n      ;" (assignment_expression "uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11" identifier = (binary_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar11" (parenthesized_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f))" ( (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)" (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uVar13 ^ uVar8) << (uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "puVar11 = puVar11 + 4;" (assignment_expression "puVar11 = puVar11 + 4" identifier = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1\n      ;" (assignment_expression "uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1" identifier = (binary_expression "((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar1" (parenthesized_expression "((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f))" ( (binary_expression "(uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)" (binary_expression "(uVar13 ^ uVar8) >> (-uVar13 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar13 & 0x1f)" ( (binary_expression "-uVar13 & 0x1f" (unary_expression "-uVar13" - identifier) & number_literal) ))) | (binary_expression "(uVar13 ^ uVar8) << (uVar13 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2;" (assignment_expression "uVar13 = ((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2" identifier = (binary_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)) + *puVar2" (parenthesized_expression "((uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f))" ( (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f) | (uVar13 ^ uVar8) << (uVar8 & 0x1f)" (binary_expression "(uVar13 ^ uVar8) >> (-uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar8 & 0x1f)" ( (binary_expression "-uVar8 & 0x1f" (unary_expression "-uVar8" - identifier) & number_literal) ))) | (binary_expression "(uVar13 ^ uVar8) << (uVar8 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3\n      ;" (assignment_expression "uVar8 = ((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3" identifier = (binary_expression "((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)) + *puVar3" (parenthesized_expression "((uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f))" ( (binary_expression "(uVar13 ^ uVar8) >> (-uVar13 & 0x1f) | (uVar13 ^ uVar8) << (uVar13 & 0x1f)" (binary_expression "(uVar13 ^ uVar8) >> (-uVar13 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar13 & 0x1f)" ( (binary_expression "-uVar13 & 0x1f" (unary_expression "-uVar13" - identifier) & number_literal) ))) | (binary_expression "(uVar13 ^ uVar8) << (uVar13 & 0x1f)" (parenthesized_expression "(uVar13 ^ uVar8)" ( (binary_expression "uVar13 ^ uVar8" identifier ^ identifier) )) << (parenthesized_expression "(uVar13 & 0x1f)" ( (binary_expression "uVar13 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar3" * identifier))) ;) }) while (parenthesized_expression "(uVar10 != uVar9)" ( (binary_expression "uVar10 != uVar9" identifier != identifier) )) ;) })))) (labeled_statement "LAB_00010274:\n  *ct = (uchar)uVar13;" statement_identifier : (expression_statement "*ct = (uchar)uVar13;" (assignment_expression "*ct = (uchar)uVar13" (pointer_expression "*ct" * identifier) = (cast_expression "(uchar)uVar13" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;)) (expression_statement "ct[4] = (uchar)uVar8;" (assignment_expression "ct[4] = (uchar)uVar8" (subscript_expression "ct[4]" identifier [ number_literal ]) = (cast_expression "(uchar)uVar8" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (expression_statement "ct[3] = (uchar)(uVar13 >> 0x18);" (assignment_expression "ct[3] = (uchar)(uVar13 >> 0x18)" (subscript_expression "ct[3]" identifier [ number_literal ]) = (call_expression "(uchar)(uVar13 >> 0x18)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(uVar13 >> 0x18)" ( (binary_expression "uVar13 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "ct[2] = (uchar)(uVar13 >> 0x10);" (assignment_expression "ct[2] = (uchar)(uVar13 >> 0x10)" (subscript_expression "ct[2]" identifier [ number_literal ]) = (call_expression "(uchar)(uVar13 >> 0x10)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(uVar13 >> 0x10)" ( (binary_expression "uVar13 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "ct[1] = (uchar)(uVar13 >> 8);" (assignment_expression "ct[1] = (uchar)(uVar13 >> 8)" (subscript_expression "ct[1]" identifier [ number_literal ]) = (call_expression "(uchar)(uVar13 >> 8)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(uVar13 >> 8)" ( (binary_expression "uVar13 >> 8" identifier >> number_literal) )))) ;) (expression_statement "ct[7] = (uchar)(uVar8 >> 0x18);" (assignment_expression "ct[7] = (uchar)(uVar8 >> 0x18)" (subscript_expression "ct[7]" identifier [ number_literal ]) = (call_expression "(uchar)(uVar8 >> 0x18)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "ct[6] = (uchar)(uVar8 >> 0x10);" (assignment_expression "ct[6] = (uchar)(uVar8 >> 0x10)" (subscript_expression "ct[6]" identifier [ number_literal ]) = (call_expression "(uchar)(uVar8 >> 0x10)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "ct[5] = (uchar)(uVar8 >> 8);" (assignment_expression "ct[5] = (uchar)(uVar8 >> 8)" (subscript_expression "ct[5]" identifier [ number_literal ]) = (call_expression "(uchar)(uVar8 >> 8)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(uVar8 >> 8)" ( (binary_expression "uVar8 >> 8" identifier >> number_literal) )))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "int FUN_00010008(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)\n\n{\n  uint *puVar1;\n  uint *puVar2;\n  uint *puVar3;\n  uint *puVar4;\n  uint *puVar5;\n  byte bVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  int *piVar13;\n  int *piVar14;\n  uint *puVar15;\n  uint uVar16;\n  uint *in_t0;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint *puVar22;\n  code *unaff_s0;\n  code *pcVar23;\n  undefined4 unaff_s2;\n  int *piVar24;\n  undefined1 *in_t8;\n  code *pcVar25;\n  uint uVar26;\n  int iVar27;\n  uint uVar28;\n  undefined4 local_1250;\n  undefined4 local_124c;\n  int aiStack_1248 [2];\n  undefined1 auStack_1240 [4260];\n  int local_19c;\n  code *local_198;\n  code *local_194;\n  undefined4 local_190;\n  uint local_154 [64];\n  code *local_54;\n  \n  if (param_3 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }\n  else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }\n  puVar15 = (uint *)&DAT_00000087;\n  puVar10 = (uint *)0x0;\n  (*__mips_gp0_value)();\n  if (puVar15 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }\n  else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }\n  iVar17 = 0xbe;\n  pbVar11 = (byte *)0x0;\n  (*__mips_gp0_value)();\n  pcVar23 = __mips_gp0_value;\n  local_54 = *(code **)__mips_gp0_value;\n  uVar7 = 0;\n  if (param_4 == (int *)0x0) goto LAB_00010bc8;\n  pcVar25 = __mips_gp0_value;\n  if (pbVar11 != (byte *)0x0) {\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }\n  unaff_s2 = 0;\n  (*pcVar25)(0,0,0x3c);\nLAB_00010bc8:\n  (*__mips_gp0_value)(0,uVar7,0x3b);\n  pcVar25 = __mips_gp0_value;\n  piVar24 = (int *)0x0;\n  iVar17 = 0;\n  local_19c = *(int *)__mips_gp0_value;\n  local_198 = unaff_s0;\n  local_194 = pcVar23;\n  local_190 = unaff_s2;\n  do {\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  } while (iVar17 != 3);\n  if (local_19c == *(int *)pcVar25) {\n    return iVar27;\n  }\n  (*__mips_gp0_value)();\n  if (piVar14 == (int *)0x0) {\n    (*__mips_gp0_value)(0,0,0x132);\n                    \n    halt_baddata();\n  }\n  if (*piVar14 < 8) {\n    return 3;\n  }\n  if (*piVar14 < 0x81) {\n    return 0;\n  }\n  *piVar14 = 0x80;\n  return 0;\n}\n\n" (function_definition "int FUN_00010008(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)\n\n{\n  uint *puVar1;\n  uint *puVar2;\n  uint *puVar3;\n  uint *puVar4;\n  uint *puVar5;\n  byte bVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  int *piVar13;\n  int *piVar14;\n  uint *puVar15;\n  uint uVar16;\n  uint *in_t0;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint *puVar22;\n  code *unaff_s0;\n  code *pcVar23;\n  undefined4 unaff_s2;\n  int *piVar24;\n  undefined1 *in_t8;\n  code *pcVar25;\n  uint uVar26;\n  int iVar27;\n  uint uVar28;\n  undefined4 local_1250;\n  undefined4 local_124c;\n  int aiStack_1248 [2];\n  undefined1 auStack_1240 [4260];\n  int local_19c;\n  code *local_198;\n  code *local_194;\n  undefined4 local_190;\n  uint local_154 [64];\n  code *local_54;\n  \n  if (param_3 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }\n  else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }\n  puVar15 = (uint *)&DAT_00000087;\n  puVar10 = (uint *)0x0;\n  (*__mips_gp0_value)();\n  if (puVar15 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }\n  else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }\n  iVar17 = 0xbe;\n  pbVar11 = (byte *)0x0;\n  (*__mips_gp0_value)();\n  pcVar23 = __mips_gp0_value;\n  local_54 = *(code **)__mips_gp0_value;\n  uVar7 = 0;\n  if (param_4 == (int *)0x0) goto LAB_00010bc8;\n  pcVar25 = __mips_gp0_value;\n  if (pbVar11 != (byte *)0x0) {\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }\n  unaff_s2 = 0;\n  (*pcVar25)(0,0,0x3c);\nLAB_00010bc8:\n  (*__mips_gp0_value)(0,uVar7,0x3b);\n  pcVar25 = __mips_gp0_value;\n  piVar24 = (int *)0x0;\n  iVar17 = 0;\n  local_19c = *(int *)__mips_gp0_value;\n  local_198 = unaff_s0;\n  local_194 = pcVar23;\n  local_190 = unaff_s2;\n  do {\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  } while (iVar17 != 3);\n  if (local_19c == *(int *)pcVar25) {\n    return iVar27;\n  }\n  (*__mips_gp0_value)();\n  if (piVar14 == (int *)0x0) {\n    (*__mips_gp0_value)(0,0,0x132);\n                    \n    halt_baddata();\n  }\n  if (*piVar14 < 8) {\n    return 3;\n  }\n  if (*piVar14 < 0x81) {\n    return 0;\n  }\n  *piVar14 = 0x80;\n  return 0;\n}" primitive_type (function_declarator "FUN_00010008(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)" identifier (parameter_list "(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined1 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  uint *puVar2;\n  uint *puVar3;\n  uint *puVar4;\n  uint *puVar5;\n  byte bVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  int *piVar13;\n  int *piVar14;\n  uint *puVar15;\n  uint uVar16;\n  uint *in_t0;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint *puVar22;\n  code *unaff_s0;\n  code *pcVar23;\n  undefined4 unaff_s2;\n  int *piVar24;\n  undefined1 *in_t8;\n  code *pcVar25;\n  uint uVar26;\n  int iVar27;\n  uint uVar28;\n  undefined4 local_1250;\n  undefined4 local_124c;\n  int aiStack_1248 [2];\n  undefined1 auStack_1240 [4260];\n  int local_19c;\n  code *local_198;\n  code *local_194;\n  undefined4 local_190;\n  uint local_154 [64];\n  code *local_54;\n  \n  if (param_3 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }\n  else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }\n  puVar15 = (uint *)&DAT_00000087;\n  puVar10 = (uint *)0x0;\n  (*__mips_gp0_value)();\n  if (puVar15 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }\n  else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }\n  iVar17 = 0xbe;\n  pbVar11 = (byte *)0x0;\n  (*__mips_gp0_value)();\n  pcVar23 = __mips_gp0_value;\n  local_54 = *(code **)__mips_gp0_value;\n  uVar7 = 0;\n  if (param_4 == (int *)0x0) goto LAB_00010bc8;\n  pcVar25 = __mips_gp0_value;\n  if (pbVar11 != (byte *)0x0) {\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }\n  unaff_s2 = 0;\n  (*pcVar25)(0,0,0x3c);\nLAB_00010bc8:\n  (*__mips_gp0_value)(0,uVar7,0x3b);\n  pcVar25 = __mips_gp0_value;\n  piVar24 = (int *)0x0;\n  iVar17 = 0;\n  local_19c = *(int *)__mips_gp0_value;\n  local_198 = unaff_s0;\n  local_194 = pcVar23;\n  local_190 = unaff_s2;\n  do {\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  } while (iVar17 != 3);\n  if (local_19c == *(int *)pcVar25) {\n    return iVar27;\n  }\n  (*__mips_gp0_value)();\n  if (piVar14 == (int *)0x0) {\n    (*__mips_gp0_value)(0,0,0x132);\n                    \n    halt_baddata();\n  }\n  if (*piVar14 < 8) {\n    return 3;\n  }\n  if (*piVar14 < 0x81) {\n    return 0;\n  }\n  *piVar14 = 0x80;\n  return 0;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint *in_t0;" type_identifier (pointer_declarator "*in_t0" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "uint *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "code *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined4 unaff_s2;" type_identifier identifier ;) (declaration "int *piVar24;" primitive_type (pointer_declarator "*piVar24" * identifier) ;) (declaration "undefined1 *in_t8;" type_identifier (pointer_declarator "*in_t8" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "undefined4 local_1250;" type_identifier identifier ;) (declaration "undefined4 local_124c;" type_identifier identifier ;) (declaration "int aiStack_1248 [2];" primitive_type (array_declarator "aiStack_1248 [2]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_1240 [4260];" type_identifier (array_declarator "auStack_1240 [4260]" identifier [ number_literal ]) ;) (declaration "int local_19c;" primitive_type identifier ;) (declaration "code *local_198;" type_identifier (pointer_declarator "*local_198" * identifier) ;) (declaration "code *local_194;" type_identifier (pointer_declarator "*local_194" * identifier) ;) (declaration "undefined4 local_190;" type_identifier identifier ;) (declaration "uint local_154 [64];" type_identifier (array_declarator "local_154 [64]" identifier [ number_literal ]) ;) (declaration "code *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (if_statement "if (param_3 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }\n  else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }" if (parenthesized_expression "(param_3 == (uint *)0x0)" ( (binary_expression "param_3 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }" { (expression_statement "(*__mips_gp0_value)(0,0,0x86);" (call_expression "(*__mips_gp0_value)(0,0,0x86)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,0,0x86)" ( number_literal , number_literal , number_literal ))) ;) (labeled_statement "LAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);" statement_identifier : (expression_statement "(*__mips_gp0_value)(0,0,0x88);" (call_expression "(*__mips_gp0_value)(0,0,0x88)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,0,0x88)" ( number_literal , number_literal , number_literal ))) ;)) }) (else_clause "else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }" else (compound_statement "{\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }" { (expression_statement "in_t8 = (undefined1 *)0x0;" (assignment_expression "in_t8 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }" if (parenthesized_expression "(param_1 != (uint *)0x0)" ( (binary_expression "param_1 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }" { (expression_statement "in_t0 = param_3 + 3;" (assignment_expression "in_t0 = param_3 + 3" identifier = (binary_expression "param_3 + 3" identifier + number_literal)) ;) (if_statement "if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }" if (parenthesized_expression "(param_2 != (undefined1 *)0x0)" ( (binary_expression "param_2 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }" { (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = *param_3;" (assignment_expression "uVar16 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];" (assignment_expression "uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1]" identifier = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1]" (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) + (subscript_expression "param_3[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];" (assignment_expression "uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2]" identifier = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2]" (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) + (subscript_expression "param_3[2]" identifier [ number_literal ]))) ;) (if_statement "if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" if (parenthesized_expression "((uVar16 & 1) == 0)" ( (binary_expression "(uVar16 & 1) == 0" (parenthesized_expression "(uVar16 & 1)" ( (binary_expression "uVar16 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }" { (if_statement "if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }" if (parenthesized_expression "(0 < (int)uVar16)" ( (binary_expression "0 < (int)uVar16" number_literal < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }" { (expression_statement "iVar17 = 2;" (assignment_expression "iVar17 = 2" identifier = number_literal) ;) (expression_statement "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;" (assignment_expression "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*in_t0" * identifier))) ;) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4]" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[4]" identifier [ number_literal ]))) ;) (expression_statement "puVar10 = param_3 + 7;" (assignment_expression "puVar10 = param_3 + 7" identifier = (binary_expression "param_3 + 7" identifier + number_literal)) ;) (expression_statement "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];" (assignment_expression "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5]" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[5]" identifier [ number_literal ]))) ;) (expression_statement "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];" (assignment_expression "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6]" identifier = (binary_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6]" (parenthesized_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))" ( (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)" (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar7 ^ uVar26) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[6]" identifier [ number_literal ]))) ;) (if_statement "if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }" if (parenthesized_expression "(2 < (int)uVar16)" ( (binary_expression "2 < (int)uVar16" number_literal < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }" { (if_statement "if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }" if (parenthesized_expression "((int)((uVar16 - 1) * 0x40000000) < 0)" ( (binary_expression "(int)((uVar16 - 1) * 0x40000000) < 0" (cast_expression "(int)((uVar16 - 1) * 0x40000000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uVar16 - 1) * 0x40000000)" ( (binary_expression "(uVar16 - 1) * 0x40000000" (parenthesized_expression "(uVar16 - 1)" ( (binary_expression "uVar16 - 1" identifier - number_literal) )) * number_literal) ))) < number_literal) )) (compound_statement "{\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }" { (expression_statement "iVar17 = 4;" (assignment_expression "iVar17 = 4" identifier = number_literal) ;) (expression_statement "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;" (assignment_expression "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "puVar10 = param_3 + 0xb;" (assignment_expression "puVar10 = param_3 + 0xb" identifier = (binary_expression "param_3 + 0xb" identifier + number_literal)) ;) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8]" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[8]" identifier [ number_literal ]))) ;) (expression_statement "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];" (assignment_expression "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9]" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[9]" identifier [ number_literal ]))) ;) (expression_statement "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];" (assignment_expression "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10]" identifier = (binary_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10]" (parenthesized_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))" ( (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)" (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar7 ^ uVar26) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[10]" identifier [ number_literal ]))) ;) (if_statement "if ((int)uVar16 < 5) goto LAB_00010274;" if (parenthesized_expression "((int)uVar16 < 5)" ( (binary_expression "(int)uVar16 < 5" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00010274;" goto statement_identifier ;)) })) (do_statement "do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);" do (compound_statement "{\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              }" { (expression_statement "puVar15 = puVar10 + 1;" (assignment_expression "puVar15 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar10 + 2;" (assignment_expression "puVar22 = puVar10 + 2" identifier = (binary_expression "puVar10 + 2" identifier + number_literal)) ;) (expression_statement "puVar1 = puVar10 + 3;" (assignment_expression "puVar1 = puVar10 + 3" identifier = (binary_expression "puVar10 + 3" identifier + number_literal)) ;) (expression_statement "puVar2 = puVar10 + 4;" (assignment_expression "puVar2 = puVar10 + 4" identifier = (binary_expression "puVar10 + 4" identifier + number_literal)) ;) (expression_statement "iVar17 = iVar17 + 4;" (assignment_expression "iVar17 = iVar17 + 4" identifier = (binary_expression "iVar17 + 4" identifier + number_literal)) ;) (expression_statement "puVar3 = puVar10 + 5;" (assignment_expression "puVar3 = puVar10 + 5" identifier = (binary_expression "puVar10 + 5" identifier + number_literal)) ;) (expression_statement "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;" (assignment_expression "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "puVar4 = puVar10 + 6;" (assignment_expression "puVar4 = puVar10 + 6" identifier = (binary_expression "puVar10 + 6" identifier + number_literal)) ;) (expression_statement "puVar5 = puVar10 + 7;" (assignment_expression "puVar5 = puVar10 + 7" identifier = (binary_expression "puVar10 + 7" identifier + number_literal)) ;) (expression_statement "puVar10 = puVar10 + 8;" (assignment_expression "puVar10 = puVar10 + 8" identifier = (binary_expression "puVar10 + 8" identifier + number_literal)) ;) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar15" * identifier))) ;) (expression_statement "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;" (assignment_expression "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar22" * identifier))) ;) (expression_statement "uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;" (assignment_expression "uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1" identifier = (binary_expression "((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1" (parenthesized_expression "((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f))" ( (binary_expression "(uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)" (binary_expression "(uVar7 ^ uVar9) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar9)" ( (binary_expression "uVar7 ^ uVar9" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar7 ^ uVar9) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar9)" ( (binary_expression "uVar7 ^ uVar9" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;" (assignment_expression "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar2" * identifier))) ;) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar3" * identifier))) ;) (expression_statement "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;" (assignment_expression "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4" identifier = (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" ( (binary_expression "uVar9 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar4" * identifier))) ;) (expression_statement "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;" (assignment_expression "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5" identifier = (binary_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5" (parenthesized_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))" ( (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)" (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar7 ^ uVar26) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" ( (binary_expression "uVar7 ^ uVar26" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar5" * identifier))) ;) }) while (parenthesized_expression "(iVar17 < (int)uVar16)" ( (binary_expression "iVar17 < (int)uVar16" identifier < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) })) }) (else_clause "else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" else (if_statement "if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" if (parenthesized_expression "(0 < (int)uVar16)" ( (binary_expression "0 < (int)uVar16" number_literal < (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }" if (parenthesized_expression "((uVar16 & 1) != 0)" ( (binary_expression "(uVar16 & 1) != 0" (parenthesized_expression "(uVar16 & 1)" ( (binary_expression "uVar16 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }" { (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (expression_statement "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;" (assignment_expression "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*in_t0" * identifier))) ;) (expression_statement "in_t0 = param_3 + 5;" (assignment_expression "in_t0 = param_3 + 5" identifier = (binary_expression "param_3 + 5" identifier + number_literal)) ;) (expression_statement "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];" (assignment_expression "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4]" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4]" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (subscript_expression "param_3[4]" identifier [ number_literal ]))) ;) (if_statement "if (uVar16 == 1) goto LAB_00010274;" if (parenthesized_expression "(uVar16 == 1)" ( (binary_expression "uVar16 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00010274;" goto statement_identifier ;)) })) (do_statement "do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);" do (compound_statement "{\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          }" { (expression_statement "puVar10 = in_t0 + 1;" (assignment_expression "puVar10 = in_t0 + 1" identifier = (binary_expression "in_t0 + 1" identifier + number_literal)) ;) (expression_statement "puVar15 = in_t0 + 2;" (assignment_expression "puVar15 = in_t0 + 2" identifier = (binary_expression "in_t0 + 2" identifier + number_literal)) ;) (expression_statement "puVar22 = in_t0 + 3;" (assignment_expression "puVar22 = in_t0 + 3" identifier = (binary_expression "in_t0 + 3" identifier + number_literal)) ;) (expression_statement "uVar9 = uVar9 + 2;" (assignment_expression "uVar9 = uVar9 + 2" identifier = (binary_expression "uVar9 + 2" identifier + number_literal)) ;) (expression_statement "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;" (assignment_expression "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*in_t0" * identifier))) ;) (expression_statement "in_t0 = in_t0 + 4;" (assignment_expression "in_t0 = in_t0 + 4" identifier = (binary_expression "in_t0 + 4" identifier + number_literal)) ;) (expression_statement "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;" (assignment_expression "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;" (assignment_expression "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar15" * identifier))) ;) (expression_statement "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;" (assignment_expression "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22" identifier = (binary_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f))" ( (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) >> (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "(uVar26 ^ uVar7) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" ( (binary_expression "uVar26 ^ uVar7" identifier ^ identifier) )) << (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) + (pointer_expression "*puVar22" * identifier))) ;) }) while (parenthesized_expression "(uVar16 != uVar9)" ( (binary_expression "uVar16 != uVar9" identifier != identifier) )) ;) })))) (labeled_statement "LAB_00010274:\n        *param_2 = (char)uVar26;" statement_identifier : (expression_statement "*param_2 = (char)uVar26;" (assignment_expression "*param_2 = (char)uVar26" (pointer_expression "*param_2" * identifier) = (cast_expression "(char)uVar26" ( (type_descriptor "char" primitive_type) ) identifier)) ;)) (expression_statement "param_2[4] = (char)uVar7;" (assignment_expression "param_2[4] = (char)uVar7" (subscript_expression "param_2[4]" identifier [ number_literal ]) = (cast_expression "(char)uVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "param_2[3] = (char)(uVar26 >> 0x18);" (assignment_expression "param_2[3] = (char)(uVar26 >> 0x18)" (subscript_expression "param_2[3]" identifier [ number_literal ]) = (cast_expression "(char)(uVar26 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar26 >> 0x18)" ( (binary_expression "uVar26 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "param_2[2] = (char)(uVar26 >> 0x10);" (assignment_expression "param_2[2] = (char)(uVar26 >> 0x10)" (subscript_expression "param_2[2]" identifier [ number_literal ]) = (cast_expression "(char)(uVar26 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar26 >> 0x10)" ( (binary_expression "uVar26 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "param_2[1] = (char)(uVar26 >> 8);" (assignment_expression "param_2[1] = (char)(uVar26 >> 8)" (subscript_expression "param_2[1]" identifier [ number_literal ]) = (cast_expression "(char)(uVar26 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar26 >> 8)" ( (binary_expression "uVar26 >> 8" identifier >> number_literal) )))) ;) (expression_statement "param_2[7] = (char)(uVar7 >> 0x18);" (assignment_expression "param_2[7] = (char)(uVar7 >> 0x18)" (subscript_expression "param_2[7]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "param_2[6] = (char)(uVar7 >> 0x10);" (assignment_expression "param_2[6] = (char)(uVar7 >> 0x10)" (subscript_expression "param_2[6]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "param_2[5] = (char)(uVar7 >> 8);" (assignment_expression "param_2[5] = (char)(uVar7 >> 8)" (subscript_expression "param_2[5]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 8)" ( (binary_expression "uVar7 >> 8" identifier >> number_literal) )))) ;) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_000103ac;" goto statement_identifier ;) })) }))) (expression_statement "puVar15 = (uint *)&DAT_00000087;" (assignment_expression "puVar15 = (uint *)&DAT_00000087" identifier = (cast_expression "(uint *)&DAT_00000087" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000087" & identifier))) ;) (expression_statement "puVar10 = (uint *)0x0;" (assignment_expression "puVar10 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar15 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }\n  else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }" if (parenthesized_expression "(puVar15 == (uint *)0x0)" ( (binary_expression "puVar15 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }" { (expression_statement "(*__mips_gp0_value)(0,0,0xbd);" (call_expression "(*__mips_gp0_value)(0,0,0xbd)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,0,0xbd)" ( number_literal , number_literal , number_literal ))) ;) (labeled_statement "LAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);" statement_identifier : (expression_statement "(*__mips_gp0_value)(0,0,0xbf);" (call_expression "(*__mips_gp0_value)(0,0,0xbf)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,0,0xbf)" ( number_literal , number_literal , number_literal ))) ;)) }) (else_clause "else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }" else (compound_statement "{\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }" { (expression_statement "in_t0 = (uint *)0x0;" (assignment_expression "in_t0 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }" if (parenthesized_expression "(in_t8 != (undefined1 *)0x0)" ( (binary_expression "in_t8 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }" { (if_statement "if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }" if (parenthesized_expression "(puVar10 != (uint *)0x0)" ( (binary_expression "puVar10 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }" { (expression_statement "uVar7 = *puVar10;" (assignment_expression "uVar7 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "uVar9 = puVar10[1];" (assignment_expression "uVar9 = puVar10[1]" identifier = (subscript_expression "puVar10[1]" identifier [ number_literal ])) ;) (expression_statement "uVar26 = *puVar15;" (assignment_expression "uVar26 = *puVar15" identifier = (pointer_expression "*puVar15" * identifier)) ;) (expression_statement "uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" ( (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" ( (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" ( (binary_expression "uVar9 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "puVar10 = puVar15 + uVar26 * 2 + 1;" (assignment_expression "puVar10 = puVar15 + uVar26 * 2 + 1" identifier = (binary_expression "puVar15 + uVar26 * 2 + 1" (binary_expression "puVar15 + uVar26 * 2" identifier + (binary_expression "uVar26 * 2" identifier * number_literal)) + number_literal)) ;) (expression_statement "uVar7 = uVar26 - 1;" (assignment_expression "uVar7 = uVar26 - 1" identifier = (binary_expression "uVar26 - 1" identifier - number_literal)) ;) (if_statement "if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" if (parenthesized_expression "((uVar26 & 1) == 0)" ( (binary_expression "(uVar26 & 1) == 0" (parenthesized_expression "(uVar26 & 1)" ( (binary_expression "uVar26 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }" { (if_statement "if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }" if (parenthesized_expression "(-1 < (int)uVar7)" ( (binary_expression "-1 < (int)uVar7" number_literal < (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }" { (expression_statement "iVar17 = uVar26 - 3;" (assignment_expression "iVar17 = uVar26 - 3" identifier = (binary_expression "uVar26 - 3" identifier - number_literal)) ;) (expression_statement "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;" (assignment_expression "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16" identifier = (binary_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;" (assignment_expression "uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9" identifier = (binary_expression "(uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9" (parenthesized_expression "(uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f))" ( (binary_expression "uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)" (binary_expression "uVar16 - *puVar10 << (-uVar9 & 0x1f)" (binary_expression "uVar16 - *puVar10" identifier - (pointer_expression "*puVar10" * identifier)) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar16 - *puVar10 >> (uVar9 & 0x1f)" (binary_expression "uVar16 - *puVar10" identifier - (pointer_expression "*puVar10" * identifier)) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;" (assignment_expression "uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16" identifier = (binary_expression "(uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-1]" identifier - (subscript_expression "puVar10[-1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar10[-1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-1]" identifier - (subscript_expression "puVar10[-1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f))" ( (binary_expression "uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar16 - puVar10[-2] << (-uVar9 & 0x1f)" (binary_expression "uVar16 - puVar10[-2]" identifier - (subscript_expression "puVar10[-2]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar16 - puVar10[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar16 - puVar10[-2]" identifier - (subscript_expression "puVar10[-2]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (if_statement "if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }" if (parenthesized_expression "(-1 < iVar17)" ( (binary_expression "-1 < iVar17" number_literal < identifier) )) (compound_statement "{\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }" { (expression_statement "puVar22 = puVar10 + -6;" (assignment_expression "puVar22 = puVar10 + -6" identifier = (binary_expression "puVar10 + -6" identifier + number_literal)) ;) (if_statement "if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }" if (parenthesized_expression "((int)(uVar7 * 0x40000000) < 0)" ( (binary_expression "(int)(uVar7 * 0x40000000) < 0" (cast_expression "(int)(uVar7 * 0x40000000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 * 0x40000000)" ( (binary_expression "uVar7 * 0x40000000" identifier * number_literal) ))) < number_literal) )) (compound_statement "{\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }" { (expression_statement "iVar17 = uVar26 - 5;" (assignment_expression "iVar17 = uVar26 - 5" identifier = (binary_expression "uVar26 - 5" identifier - number_literal)) ;) (expression_statement "uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;" (assignment_expression "uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16" identifier = (binary_expression "(uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-3] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-3]" identifier - (subscript_expression "puVar10[-3]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar10[-3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-3]" identifier - (subscript_expression "puVar10[-3]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7" identifier = (binary_expression "(uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f))" ( (binary_expression "uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar10[-4] << (-uVar7 & 0x1f)" (binary_expression "uVar16 - puVar10[-4]" identifier - (subscript_expression "puVar10[-4]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "uVar16 - puVar10[-4] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar10[-4]" identifier - (subscript_expression "puVar10[-4]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = uVar9 - puVar10[-6];" (assignment_expression "uVar16 = uVar9 - puVar10[-6]" identifier = (binary_expression "uVar9 - puVar10[-6]" identifier - (subscript_expression "puVar10[-6]" identifier [ number_literal ]))) ;) (expression_statement "uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f))" ( (binary_expression "uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar10[-5] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar10[-5]" identifier - (subscript_expression "puVar10[-5]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar7 - puVar10[-5] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar10[-5]" identifier - (subscript_expression "puVar10[-5]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f))" ( (binary_expression "uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)" (binary_expression "uVar16 << (-uVar9 & 0x1f)" identifier << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar16 >> (uVar9 & 0x1f)" identifier >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "puVar22 = puVar10 + -10;" (assignment_expression "puVar22 = puVar10 + -10" identifier = (binary_expression "puVar10 + -10" identifier + number_literal)) ;) (if_statement "if (iVar17 < 0) goto LAB_000104fc;" if (parenthesized_expression "(iVar17 < 0)" ( (binary_expression "iVar17 < 0" identifier < number_literal) )) (goto_statement "goto LAB_000104fc;" goto statement_identifier ;)) })) (do_statement "do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);" do (compound_statement "{\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              }" { (expression_statement "iVar17 = iVar17 + -4;" (assignment_expression "iVar17 = iVar17 + -4" identifier = (binary_expression "iVar17 + -4" identifier + number_literal)) ;) (expression_statement "uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;" (assignment_expression "uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16" identifier = (binary_expression "(uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16" (parenthesized_expression "(uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar22[3] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar22[3]" identifier - (subscript_expression "puVar22[3]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar22[3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar22[3]" identifier - (subscript_expression "puVar22[3]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7" identifier = (binary_expression "(uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f))" ( (binary_expression "uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[2] << (-uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[2]" identifier - (subscript_expression "puVar22[2]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "uVar16 - puVar22[2] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[2]" identifier - (subscript_expression "puVar22[2]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f))" ( (binary_expression "uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[1] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[1]" identifier - (subscript_expression "puVar22[1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar7 - puVar22[1] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[1]" identifier - (subscript_expression "puVar22[1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;" (assignment_expression "uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16" identifier = (binary_expression "(uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16" (parenthesized_expression "(uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f)" (binary_expression "uVar9 - *puVar22 << (-uVar16 & 0x1f)" (binary_expression "uVar9 - *puVar22" identifier - (pointer_expression "*puVar22" * identifier)) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - *puVar22 >> (uVar16 & 0x1f)" (binary_expression "uVar9 - *puVar22" identifier - (pointer_expression "*puVar22" * identifier)) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7" identifier = (binary_expression "(uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f))" ( (binary_expression "uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[-1] << (-uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[-1]" identifier - (subscript_expression "puVar22[-1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "uVar16 - puVar22[-1] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[-1]" identifier - (subscript_expression "puVar22[-1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f))" ( (binary_expression "uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-2] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-2]" identifier - (subscript_expression "puVar22[-2]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar7 - puVar22[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-2]" identifier - (subscript_expression "puVar22[-2]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7" identifier = (binary_expression "(uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f))" ( (binary_expression "uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)" (binary_expression "uVar9 - puVar22[-3] << (-uVar7 & 0x1f)" (binary_expression "uVar9 - puVar22[-3]" identifier - (subscript_expression "puVar22[-3]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar7 & 0x1f)" ( (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar22[-3] >> (uVar7 & 0x1f)" (binary_expression "uVar9 - puVar22[-3]" identifier - (subscript_expression "puVar22[-3]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar7 & 0x1f)" ( (binary_expression "uVar7 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f))" ( (binary_expression "uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-4] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-4]" identifier - (subscript_expression "puVar22[-4]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar7 - puVar22[-4] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-4]" identifier - (subscript_expression "puVar22[-4]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "puVar22 = puVar22 + -8;" (assignment_expression "puVar22 = puVar22 + -8" identifier = (binary_expression "puVar22 + -8" identifier + number_literal)) ;) }) while (parenthesized_expression "(-1 < iVar17)" ( (binary_expression "-1 < iVar17" number_literal < identifier) )) ;) (expression_statement "uVar7 = puVar15[1];" (assignment_expression "uVar7 = puVar15[1]" identifier = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00010500;" goto statement_identifier ;) })) })) }) (else_clause "else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" else (if_statement "if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" if (parenthesized_expression "(-1 < (int)uVar7)" ( (binary_expression "-1 < (int)uVar7" number_literal < (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" { (if_statement "if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;" if (parenthesized_expression "((int)(uVar7 * -0x80000000) < 0)" ( (binary_expression "(int)(uVar7 * -0x80000000) < 0" (cast_expression "(int)(uVar7 * -0x80000000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 * -0x80000000)" ( (binary_expression "uVar7 * -0x80000000" identifier * number_literal) ))) < number_literal) )) (goto_statement "goto LAB_00010480;" goto statement_identifier ;)) (expression_statement "puVar22 = puVar10 + -2;" (assignment_expression "puVar22 = puVar10 + -2" identifier = (binary_expression "puVar10 + -2" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar16 - *puVar10;" (assignment_expression "uVar8 = uVar16 - *puVar10" identifier = (binary_expression "uVar16 - *puVar10" identifier - (pointer_expression "*puVar10" * identifier))) ;) (expression_statement "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;" (assignment_expression "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16" identifier = (binary_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16" (parenthesized_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))" ( (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar7 = uVar26;" (assignment_expression "uVar7 = uVar26" identifier = identifier) ;) (while_statement "while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }" { (expression_statement "uVar7 = uVar7 - 2;" (assignment_expression "uVar7 = uVar7 - 2" identifier = (binary_expression "uVar7 - 2" identifier - number_literal)) ;) (expression_statement "uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f))" ( (binary_expression "uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)" (binary_expression "uVar8 << (-uVar9 & 0x1f)" identifier << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar8 >> (uVar9 & 0x1f)" identifier >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "puVar10 = puVar22;" (assignment_expression "puVar10 = puVar22" identifier = identifier) ;) (if_statement "if (uVar7 == 0xffffffff) break;" if (parenthesized_expression "(uVar7 == 0xffffffff)" ( (binary_expression "uVar7 == 0xffffffff" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00010480:\n            puVar22 = puVar10 + -4;" statement_identifier : (expression_statement "puVar22 = puVar10 + -4;" (assignment_expression "puVar22 = puVar10 + -4" identifier = (binary_expression "puVar10 + -4" identifier + number_literal)) ;)) (expression_statement "uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;" (assignment_expression "uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16" identifier = (binary_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     )" ( (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar16 & 0x1f)" ( (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" - identifier) & number_literal) ))) | (binary_expression "uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" identifier - (subscript_expression "puVar10[1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;" (assignment_expression "uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26" identifier = (binary_expression "(uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26" (parenthesized_expression "(uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f))" ( (binary_expression "uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)" (binary_expression "uVar16 - *puVar10 << (-uVar26 & 0x1f)" (binary_expression "uVar16 - *puVar10" identifier - (pointer_expression "*puVar10" * identifier)) << (parenthesized_expression "(-uVar26 & 0x1f)" ( (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" - identifier) & number_literal) ))) | (binary_expression "uVar16 - *puVar10 >> (uVar26 & 0x1f)" (binary_expression "uVar16 - *puVar10" identifier - (pointer_expression "*puVar10" * identifier)) >> (parenthesized_expression "(uVar26 & 0x1f)" ( (binary_expression "uVar26 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) (expression_statement "uVar8 = uVar9 - puVar10[-2];" (assignment_expression "uVar8 = uVar9 - puVar10[-2]" identifier = (binary_expression "uVar9 - puVar10[-2]" identifier - (subscript_expression "puVar10[-2]" identifier [ number_literal ]))) ;) (expression_statement "uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9" identifier = (binary_expression "(uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f))" ( (binary_expression "uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)" (binary_expression "uVar26 - puVar10[-1] << (-uVar9 & 0x1f)" (binary_expression "uVar26 - puVar10[-1]" identifier - (subscript_expression "puVar10[-1]" identifier [ number_literal ])) << (parenthesized_expression "(-uVar9 & 0x1f)" ( (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" - identifier) & number_literal) ))) | (binary_expression "uVar26 - puVar10[-1] >> (uVar9 & 0x1f)" (binary_expression "uVar26 - puVar10[-1]" identifier - (subscript_expression "puVar10[-1]" identifier [ number_literal ])) >> (parenthesized_expression "(uVar9 & 0x1f)" ( (binary_expression "uVar9 & 0x1f" identifier & number_literal) )))) )) ^ identifier)) ;) })) })))) (labeled_statement "LAB_000104fc:\n        uVar7 = puVar15[1];" statement_identifier : (expression_statement "uVar7 = puVar15[1];" (assignment_expression "uVar7 = puVar15[1]" identifier = (subscript_expression "puVar15[1]" identifier [ number_literal ])) ;)) (labeled_statement "LAB_00010500:\n        iVar17 = uVar16 - uVar7;" statement_identifier : (expression_statement "iVar17 = uVar16 - uVar7;" (assignment_expression "iVar17 = uVar16 - uVar7" identifier = (binary_expression "uVar16 - uVar7" identifier - identifier)) ;)) (expression_statement "iVar27 = uVar9 - puVar15[2];" (assignment_expression "iVar27 = uVar9 - puVar15[2]" identifier = (binary_expression "uVar9 - puVar15[2]" identifier - (subscript_expression "puVar15[2]" identifier [ number_literal ]))) ;) (expression_statement "*in_t8 = (char)iVar17;" (assignment_expression "*in_t8 = (char)iVar17" (pointer_expression "*in_t8" * identifier) = (cast_expression "(char)iVar17" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "in_t8[4] = (char)iVar27;" (assignment_expression "in_t8[4] = (char)iVar27" (subscript_expression "in_t8[4]" identifier [ number_literal ]) = (cast_expression "(char)iVar27" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "in_t8[3] = (char)((uint)iVar17 >> 0x18);" (assignment_expression "in_t8[3] = (char)((uint)iVar17 >> 0x18)" (subscript_expression "in_t8[3]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar17 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar17 >> 0x18)" ( (binary_expression "(uint)iVar17 >> 0x18" (cast_expression "(uint)iVar17" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_t8[7] = (char)((uint)iVar27 >> 0x18);" (assignment_expression "in_t8[7] = (char)((uint)iVar27 >> 0x18)" (subscript_expression "in_t8[7]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar27 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar27 >> 0x18)" ( (binary_expression "(uint)iVar27 >> 0x18" (cast_expression "(uint)iVar27" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_t8[6] = (char)((uint)iVar27 >> 0x10);" (assignment_expression "in_t8[6] = (char)((uint)iVar27 >> 0x10)" (subscript_expression "in_t8[6]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar27 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar27 >> 0x10)" ( (binary_expression "(uint)iVar27 >> 0x10" (cast_expression "(uint)iVar27" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_t8[5] = (char)((uint)iVar27 >> 8);" (assignment_expression "in_t8[5] = (char)((uint)iVar27 >> 8)" (subscript_expression "in_t8[5]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar27 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar27 >> 8)" ( (binary_expression "(uint)iVar27 >> 8" (cast_expression "(uint)iVar27" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_t8[2] = (char)((uint)iVar17 >> 0x10);" (assignment_expression "in_t8[2] = (char)((uint)iVar17 >> 0x10)" (subscript_expression "in_t8[2]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar17 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar17 >> 0x10)" ( (binary_expression "(uint)iVar17 >> 0x10" (cast_expression "(uint)iVar17" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "in_t8[1] = (char)((uint)iVar17 >> 8);" (assignment_expression "in_t8[1] = (char)((uint)iVar17 >> 8)" (subscript_expression "in_t8[1]" identifier [ number_literal ]) = (cast_expression "(char)((uint)iVar17 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar17 >> 8)" ( (binary_expression "(uint)iVar17 >> 8" (cast_expression "(uint)iVar17" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_00010768;" goto statement_identifier ;) })) }))) (expression_statement "iVar17 = 0xbe;" (assignment_expression "iVar17 = 0xbe" identifier = number_literal) ;) (expression_statement "pbVar11 = (byte *)0x0;" (assignment_expression "pbVar11 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar23 = __mips_gp0_value;" (assignment_expression "pcVar23 = __mips_gp0_value" identifier = identifier) ;) (expression_statement "local_54 = *(code **)__mips_gp0_value;" (assignment_expression "local_54 = *(code **)__mips_gp0_value" identifier = (pointer_expression "*(code **)__mips_gp0_value" * (cast_expression "(code **)__mips_gp0_value" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if (param_4 == (int *)0x0) goto LAB_00010bc8;" if (parenthesized_expression "(param_4 == (int *)0x0)" ( (binary_expression "param_4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00010bc8;" goto statement_identifier ;)) (expression_statement "pcVar25 = __mips_gp0_value;" (assignment_expression "pcVar25 = __mips_gp0_value" identifier = identifier) ;) (if_statement "if (pbVar11 != (byte *)0x0) {\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }" if (parenthesized_expression "(pbVar11 != (byte *)0x0)" ( (binary_expression "pbVar11 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }" { (if_statement "if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }" { (expression_statement "iVar17 = 0xc;" (assignment_expression "iVar17 = 0xc" identifier = number_literal) ;) (labeled_statement "LAB_00010814:\n      puVar10 = (uint *)0x1;" statement_identifier : (expression_statement "puVar10 = (uint *)0x1;" (assignment_expression "puVar10 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }" if (parenthesized_expression "(in_t0 + -2 < (uint *)0x79)" ( (binary_expression "in_t0 + -2 < (uint *)0x79" (binary_expression "in_t0 + -2" identifier + number_literal) < (cast_expression "(uint *)0x79" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }" { (expression_statement "*param_4 = iVar17;" (assignment_expression "*param_4 = iVar17" (pointer_expression "*param_4" * identifier) = identifier) ;) (expression_statement "uVar7 = (uint)*pbVar11;" (assignment_expression "uVar7 = (uint)*pbVar11" identifier = (binary_expression "(uint)*pbVar11" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "pbVar12 = pbVar11 + 1;" (assignment_expression "pbVar12 = pbVar11 + 1" identifier = (binary_expression "pbVar11 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = (int)in_t0 - 1U & 3;" (assignment_expression "uVar16 = (int)in_t0 - 1U & 3" identifier = (binary_expression "(int)in_t0 - 1U & 3" (binary_expression "(int)in_t0 - 1U" (cast_expression "(int)in_t0" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) & number_literal)) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if (uVar16 == 0) goto LAB_000108e4;" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000108e4;" goto statement_identifier ;)) (if_statement "if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }" if (parenthesized_expression "(uVar16 != 1)" ( (binary_expression "uVar16 != 1" identifier != number_literal) )) (compound_statement "{\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }" { (expression_statement "puVar10 = (uint *)0x2;" (assignment_expression "puVar10 = (uint *)0x2" identifier = (cast_expression "(uint *)0x2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar9 = uVar7;" (assignment_expression "uVar9 = uVar7" identifier = identifier) ;) (if_statement "if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }" if (parenthesized_expression "(uVar16 != 2)" ( (binary_expression "uVar16 != 2" identifier != number_literal) )) (compound_statement "{\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }" { (expression_statement "bVar6 = *pbVar12;" (assignment_expression "bVar6 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (expression_statement "pbVar12 = pbVar11 + 2;" (assignment_expression "pbVar12 = pbVar11 + 2" identifier = (binary_expression "pbVar11 + 2" identifier + number_literal)) ;) (expression_statement "uVar9 = (uint)CONCAT11(*pbVar11,bVar6);" (assignment_expression "uVar9 = (uint)CONCAT11(*pbVar11,bVar6)" identifier = (cast_expression "(uint)CONCAT11(*pbVar11,bVar6)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT11(*pbVar11,bVar6)" identifier (argument_list "(*pbVar11,bVar6)" ( (pointer_expression "*pbVar11" * identifier) , identifier ))))) ;) (expression_statement "puVar10 = (uint *)0x3;" (assignment_expression "puVar10 = (uint *)0x3" identifier = (cast_expression "(uint *)0x3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "uVar7 = (uint)*pbVar12 | uVar9 << 8;" (assignment_expression "uVar7 = (uint)*pbVar12 | uVar9 << 8" identifier = (binary_expression "(uint)*pbVar12 | uVar9 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) | (binary_expression "uVar9 << 8" identifier << number_literal))) ;) (if_statement "if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }" if (parenthesized_expression "(puVar10 == (uint *)0x0)" ( (binary_expression "puVar10 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }" { (expression_statement "local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;" (assignment_expression "local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000" (subscript_expression "local_154[0]" identifier [ number_literal ]) = (binary_expression "((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10)" ( (binary_expression "(((uVar9 << 8) >> 0x10) << 0x18) >> 0x10" (parenthesized_expression "(((uVar9 << 8) >> 0x10) << 0x18)" ( (binary_expression "((uVar9 << 8) >> 0x10) << 0x18" (parenthesized_expression "((uVar9 << 8) >> 0x10)" ( (binary_expression "(uVar9 << 8) >> 0x10" (parenthesized_expression "(uVar9 << 8)" ( (binary_expression "uVar9 << 8" identifier << number_literal) )) >> number_literal) )) << number_literal) )) >> number_literal) )) + (binary_expression "((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "((uint)*pbVar12 << 8 | uVar9 & 0xff)" ( (binary_expression "(uint)*pbVar12 << 8 | uVar9 & 0xff" (binary_expression "(uint)*pbVar12 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "uVar9 & 0xff" identifier & number_literal)) )) * number_literal))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) })) (expression_statement "uVar9 = (uint)(puVar10 == (uint *)0x0);" (assignment_expression "uVar9 = (uint)(puVar10 == (uint *)0x0)" identifier = (call_expression "(uint)(puVar10 == (uint *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar10 == (uint *)0x0)" ( (binary_expression "puVar10 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) })) (expression_statement "puVar10 = (uint *)((int)puVar10 + 1);" (assignment_expression "puVar10 = (uint *)((int)puVar10 + 1)" identifier = (cast_expression "(uint *)((int)puVar10 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar10 + 1)" ( (binary_expression "(int)puVar10 + 1" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar8 = uVar7 << 8;" (assignment_expression "uVar8 = uVar7 << 8" identifier = (binary_expression "uVar7 << 8" identifier << number_literal)) ;) (expression_statement "uVar26 = *pbVar12 | uVar8;" (assignment_expression "uVar26 = *pbVar12 | uVar8" identifier = (binary_expression "*pbVar12 | uVar8" (pointer_expression "*pbVar12" * identifier) | identifier)) ;) (expression_statement "uVar16 = uVar9;" (assignment_expression "uVar16 = uVar9" identifier = identifier) ;) (if_statement "if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }" if (parenthesized_expression "(((uint)puVar10 & 3) == 0)" ( (binary_expression "((uint)puVar10 & 3) == 0" (parenthesized_expression "((uint)puVar10 & 3)" ( (binary_expression "(uint)puVar10 & 3" (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }" { (expression_statement "uVar16 = uVar9 + 1;" (assignment_expression "uVar16 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (subscript_expression "local_154[uVar9]" identifier [ identifier ]) = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff)" ( (binary_expression "(uint)*pbVar12 << 8 | uVar7 & 0xff" (binary_expression "(uint)*pbVar12 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "uVar7 & 0xff" identifier & number_literal)) )) * number_literal))) ;) })) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = uVar26;" (assignment_expression "uVar7 = uVar26" identifier = identifier) ;) (expression_statement "uVar9 = uVar16;" (assignment_expression "uVar9 = uVar16" identifier = identifier) ;) (while_statement "while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }" while (parenthesized_expression "(in_t0 != puVar10)" ( (binary_expression "in_t0 != puVar10" identifier != identifier) )) (compound_statement "{\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }" { (labeled_statement "LAB_000108e4:\n          uVar26 = uVar7 << 8;" statement_identifier : (expression_statement "uVar26 = uVar7 << 8;" (assignment_expression "uVar26 = uVar7 << 8" identifier = (binary_expression "uVar7 << 8" identifier << number_literal)) ;)) (expression_statement "uVar8 = *pbVar12 | uVar26;" (assignment_expression "uVar8 = *pbVar12 | uVar26" identifier = (binary_expression "*pbVar12 | uVar26" (pointer_expression "*pbVar12" * identifier) | identifier)) ;) (expression_statement "uVar16 = uVar9;" (assignment_expression "uVar16 = uVar9" identifier = identifier) ;) (if_statement "if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }" if (parenthesized_expression "(((int)puVar10 + 1U & 3) == 0)" ( (binary_expression "((int)puVar10 + 1U & 3) == 0" (parenthesized_expression "((int)puVar10 + 1U & 3)" ( (binary_expression "(int)puVar10 + 1U & 3" (binary_expression "(int)puVar10 + 1U" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }" { (expression_statement "uVar16 = uVar9 + 1;" (assignment_expression "uVar16 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (subscript_expression "local_154[uVar9]" identifier [ identifier ]) = (binary_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10)" ( (binary_expression "(uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10" (binary_expression "(uVar26 >> 0x10) << 0x18" (parenthesized_expression "(uVar26 >> 0x10)" ( (binary_expression "uVar26 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar26 >> 0x18) << 0x10" (parenthesized_expression "(uVar26 >> 0x18)" ( (binary_expression "uVar26 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff)" ( (binary_expression "(uint)*pbVar12 << 8 | uVar7 & 0xff" (binary_expression "(uint)*pbVar12 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" ( identifier )) * identifier) << number_literal) | (binary_expression "uVar7 & 0xff" identifier & number_literal)) )) * number_literal))) ;) })) (expression_statement "uVar26 = uVar8 << 8;" (assignment_expression "uVar26 = uVar8 << 8" identifier = (binary_expression "uVar8 << 8" identifier << number_literal)) ;) (expression_statement "uVar9 = pbVar12[1] | uVar26;" (assignment_expression "uVar9 = pbVar12[1] | uVar26" identifier = (binary_expression "pbVar12[1] | uVar26" (subscript_expression "pbVar12[1]" identifier [ number_literal ]) | identifier)) ;) (expression_statement "uVar7 = uVar16;" (assignment_expression "uVar7 = uVar16" identifier = identifier) ;) (if_statement "if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }" if (parenthesized_expression "(((int)puVar10 + 2U & 3) == 0)" ( (binary_expression "((int)puVar10 + 2U & 3) == 0" (parenthesized_expression "((int)puVar10 + 2U & 3)" ( (binary_expression "(int)puVar10 + 2U & 3" (binary_expression "(int)puVar10 + 2U" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }" { (expression_statement "uVar7 = uVar16 + 1;" (assignment_expression "uVar7 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (expression_statement "local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000" (subscript_expression "local_154[uVar16]" identifier [ identifier ]) = (binary_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10)" ( (binary_expression "(uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10" (binary_expression "(uVar26 >> 0x10) << 0x18" (parenthesized_expression "(uVar26 >> 0x10)" ( (binary_expression "uVar26 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar26 >> 0x18) << 0x10" (parenthesized_expression "(uVar26 >> 0x18)" ( (binary_expression "uVar26 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000" (parenthesized_expression "((uint)pbVar12[1] << 8 | uVar8 & 0xff)" ( (binary_expression "(uint)pbVar12[1] << 8 | uVar8 & 0xff" (binary_expression "(uint)pbVar12[1] << 8" (cast_expression "(uint)pbVar12[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar12[1]" identifier [ number_literal ])) << number_literal) | (binary_expression "uVar8 & 0xff" identifier & number_literal)) )) * number_literal))) ;) })) (expression_statement "uVar8 = uVar9 << 8;" (assignment_expression "uVar8 = uVar9 << 8" identifier = (binary_expression "uVar9 << 8" identifier << number_literal)) ;) (expression_statement "uVar26 = pbVar12[2] | uVar8;" (assignment_expression "uVar26 = pbVar12[2] | uVar8" identifier = (binary_expression "pbVar12[2] | uVar8" (subscript_expression "pbVar12[2]" identifier [ number_literal ]) | identifier)) ;) (expression_statement "uVar16 = uVar7;" (assignment_expression "uVar16 = uVar7" identifier = identifier) ;) (if_statement "if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }" if (parenthesized_expression "(((int)puVar10 + 3U & 3) == 0)" ( (binary_expression "((int)puVar10 + 3U & 3) == 0" (parenthesized_expression "((int)puVar10 + 3U & 3)" ( (binary_expression "(int)puVar10 + 3U & 3" (binary_expression "(int)puVar10 + 3U" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }" { (expression_statement "uVar16 = uVar7 + 1;" (assignment_expression "uVar16 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000" (subscript_expression "local_154[uVar7]" identifier [ identifier ]) = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "((uint)pbVar12[2] << 8 | uVar9 & 0xff)" ( (binary_expression "(uint)pbVar12[2] << 8 | uVar9 & 0xff" (binary_expression "(uint)pbVar12[2] << 8" (cast_expression "(uint)pbVar12[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar12[2]" identifier [ number_literal ])) << number_literal) | (binary_expression "uVar9 & 0xff" identifier & number_literal)) )) * number_literal))) ;) })) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar26 << 8;" (assignment_expression "uVar8 = uVar26 << 8" identifier = (binary_expression "uVar26 << 8" identifier << number_literal)) ;) (expression_statement "uVar7 = pbVar12[3] | uVar8;" (assignment_expression "uVar7 = pbVar12[3] | uVar8" identifier = (binary_expression "pbVar12[3] | uVar8" (subscript_expression "pbVar12[3]" identifier [ number_literal ]) | identifier)) ;) (expression_statement "uVar9 = uVar16;" (assignment_expression "uVar9 = uVar16" identifier = identifier) ;) (if_statement "if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }" if (parenthesized_expression "(((uint)puVar10 & 3) == 0)" ( (binary_expression "((uint)puVar10 & 3) == 0" (parenthesized_expression "((uint)puVar10 & 3)" ( (binary_expression "(uint)puVar10 & 3" (cast_expression "(uint)puVar10" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }" { (expression_statement "uVar9 = uVar16 + 1;" (assignment_expression "uVar9 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (expression_statement "local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000" (subscript_expression "local_154[uVar16]" identifier [ identifier ]) = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000" (parenthesized_expression "((uint)pbVar12[3] << 8 | uVar26 & 0xff)" ( (binary_expression "(uint)pbVar12[3] << 8 | uVar26 & 0xff" (binary_expression "(uint)pbVar12[3] << 8" (cast_expression "(uint)pbVar12[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar12[3]" identifier [ number_literal ])) << number_literal) | (binary_expression "uVar26 & 0xff" identifier & number_literal)) )) * number_literal))) ;) })) (expression_statement "pbVar12 = pbVar12 + 4;" (assignment_expression "pbVar12 = pbVar12 + 4" identifier = (binary_expression "pbVar12 + 4" identifier + number_literal)) ;) })) (expression_statement "uVar16 = uVar9;" (assignment_expression "uVar16 = uVar9" identifier = identifier) ;) (if_statement "if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" if (parenthesized_expression "(((uint)in_t0 & 3) != 0)" ( (binary_expression "((uint)in_t0 & 3) != 0" (parenthesized_expression "((uint)in_t0 & 3)" ( (binary_expression "(uint)in_t0 & 3" (cast_expression "(uint)in_t0" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" { (expression_statement "uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);" (assignment_expression "uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f)" identifier = (binary_expression "uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f)" identifier << (parenthesized_expression "((4 - ((uint)in_t0 & 3)) * 8 & 0x1f)" ( (binary_expression "(4 - ((uint)in_t0 & 3)) * 8 & 0x1f" (binary_expression "(4 - ((uint)in_t0 & 3)) * 8" (parenthesized_expression "(4 - ((uint)in_t0 & 3))" ( (binary_expression "4 - ((uint)in_t0 & 3)" number_literal - (parenthesized_expression "((uint)in_t0 & 3)" ( (binary_expression "(uint)in_t0 & 3" (cast_expression "(uint)in_t0" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )) * number_literal) & number_literal) )))) ;) (expression_statement "uVar16 = uVar9 + 1;" (assignment_expression "uVar16 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) (expression_statement "local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "local_154[uVar9]" identifier [ identifier ]) = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) })) (expression_statement "uVar9 = (iVar17 + 1) * 2;" (assignment_expression "uVar9 = (iVar17 + 1) * 2" identifier = (binary_expression "(iVar17 + 1) * 2" (parenthesized_expression "(iVar17 + 1)" ( (binary_expression "iVar17 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);" (assignment_expression "puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8)" identifier = (cast_expression "(uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(param_4 + 1,0x60,(iVar17 + 1) * 8)" ( (binary_expression "param_4 + 1" identifier + number_literal) , number_literal , (binary_expression "(iVar17 + 1) * 8" (parenthesized_expression "(iVar17 + 1)" ( (binary_expression "iVar17 + 1" identifier + number_literal) )) * number_literal) ))))) ;) (expression_statement "uVar7 = uVar9;" (assignment_expression "uVar7 = uVar9" identifier = identifier) ;) (if_statement "if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }" if (parenthesized_expression "(uVar9 <= uVar16)" ( (binary_expression "uVar9 <= uVar16" identifier <= identifier) )) (compound_statement "{\n          uVar7 = uVar16;\n        }" { (expression_statement "uVar7 = uVar16;" (assignment_expression "uVar7 = uVar16" identifier = identifier) ;) })) (expression_statement "uVar7 = uVar7 * 3;" (assignment_expression "uVar7 = uVar7 * 3" identifier = (binary_expression "uVar7 * 3" identifier * number_literal)) ;) (if_statement "if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (if_statement "if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }" if (parenthesized_expression "((uVar7 & 1) != 0)" ( (binary_expression "(uVar7 & 1) != 0" (parenthesized_expression "(uVar7 & 1)" ( (binary_expression "uVar7 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }" { (expression_statement "uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;" (assignment_expression "uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8" identifier = (binary_expression "(*puVar10 >> 0x1d) + *puVar10 * 8" (parenthesized_expression "(*puVar10 >> 0x1d)" ( (binary_expression "*puVar10 >> 0x1d" (pointer_expression "*puVar10" * identifier) >> number_literal) )) + (binary_expression "*puVar10 * 8" (pointer_expression "*puVar10" * identifier) * number_literal))) ;) (expression_statement "*puVar10 = uVar18;" (assignment_expression "*puVar10 = uVar18" (pointer_expression "*puVar10" * identifier) = identifier) ;) (expression_statement "uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);" (assignment_expression "uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f)" identifier = (binary_expression "local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f)" (binary_expression "local_154[0] + uVar18 >> (-uVar18 & 0x1f)" (binary_expression "local_154[0] + uVar18" (subscript_expression "local_154[0]" identifier [ number_literal ]) + identifier) >> (parenthesized_expression "(-uVar18 & 0x1f)" ( (binary_expression "-uVar18 & 0x1f" (unary_expression "-uVar18" - identifier) & number_literal) ))) | (binary_expression "local_154[0] + uVar18 << (uVar18 & 0x1f)" (binary_expression "local_154[0] + uVar18" (subscript_expression "local_154[0]" identifier [ number_literal ]) + identifier) << (parenthesized_expression "(uVar18 & 0x1f)" ( (binary_expression "uVar18 & 0x1f" identifier & number_literal) ))))) ;) (expression_statement "local_154[0] = uVar26;" (assignment_expression "local_154[0] = uVar26" (subscript_expression "local_154[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar20 = (uint)(uVar9 != 1);" (assignment_expression "uVar20 = (uint)(uVar9 != 1)" identifier = (call_expression "(uint)(uVar9 != 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 != 1)" ( (binary_expression "uVar9 != 1" identifier != number_literal) )))) ;) (expression_statement "uVar8 = (uint)(uVar16 != 1);" (assignment_expression "uVar8 = (uint)(uVar16 != 1)" identifier = (call_expression "(uint)(uVar16 != 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 != 1)" ( (binary_expression "uVar16 != 1" identifier != number_literal) )))) ;) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) (if_statement "if (uVar7 == 1) goto LAB_00010b84;" if (parenthesized_expression "(uVar7 == 1)" ( (binary_expression "uVar7 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00010b84;" goto statement_identifier ;)) })) (do_statement "do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);" do (compound_statement "{\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          }" { (expression_statement "uVar21 = uVar20 + 1;" (assignment_expression "uVar21 = uVar20 + 1" identifier = (binary_expression "uVar20 + 1" identifier + number_literal)) ;) (expression_statement "uVar28 = local_154[uVar8];" (assignment_expression "uVar28 = local_154[uVar8]" identifier = (subscript_expression "local_154[uVar8]" identifier [ identifier ])) ;) (expression_statement "uVar18 = uVar26 + puVar10[uVar20] + uVar18;" (assignment_expression "uVar18 = uVar26 + puVar10[uVar20] + uVar18" identifier = (binary_expression "uVar26 + puVar10[uVar20] + uVar18" (binary_expression "uVar26 + puVar10[uVar20]" identifier + (subscript_expression "puVar10[uVar20]" identifier [ identifier ])) + identifier)) ;) (expression_statement "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;" (assignment_expression "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8" identifier = (binary_expression "(uVar18 >> 0x1d) + uVar18 * 8" (parenthesized_expression "(uVar18 >> 0x1d)" ( (binary_expression "uVar18 >> 0x1d" identifier >> number_literal) )) + (binary_expression "uVar18 * 8" identifier * number_literal))) ;) (expression_statement "puVar10[uVar20] = uVar18;" (assignment_expression "puVar10[uVar20] = uVar18" (subscript_expression "puVar10[uVar20]" identifier [ identifier ]) = identifier) ;) (expression_statement "uVar20 = uVar26 + uVar28 + uVar18;" (assignment_expression "uVar20 = uVar26 + uVar28 + uVar18" identifier = (binary_expression "uVar26 + uVar28 + uVar18" (binary_expression "uVar26 + uVar28" identifier + identifier) + identifier)) ;) (expression_statement "uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);" (assignment_expression "uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f)" identifier = (binary_expression "uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f)" (binary_expression "uVar20 >> (-(uVar18 + uVar26) & 0x1f)" identifier >> (parenthesized_expression "(-(uVar18 + uVar26) & 0x1f)" ( (binary_expression "-(uVar18 + uVar26) & 0x1f" (unary_expression "-(uVar18 + uVar26)" - (parenthesized_expression "(uVar18 + uVar26)" ( (binary_expression "uVar18 + uVar26" identifier + identifier) ))) & number_literal) ))) | (binary_expression "uVar20 << (uVar18 + uVar26 & 0x1f)" identifier << (parenthesized_expression "(uVar18 + uVar26 & 0x1f)" ( (binary_expression "uVar18 + uVar26 & 0x1f" (binary_expression "uVar18 + uVar26" identifier + identifier) & number_literal) ))))) ;) (expression_statement "local_154[uVar8] = uVar26;" (assignment_expression "local_154[uVar8] = uVar26" (subscript_expression "local_154[uVar8]" identifier [ identifier ]) = identifier) ;) (if_statement "if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }" if (parenthesized_expression "(uVar9 == uVar21)" ( (binary_expression "uVar9 == uVar21" identifier == identifier) )) (compound_statement "{\n              uVar21 = 0;\n            }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) })) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }" if (parenthesized_expression "(uVar16 == uVar8)" ( (binary_expression "uVar16 == uVar8" identifier == identifier) )) (compound_statement "{\n              uVar8 = 0;\n            }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) })) (expression_statement "uVar20 = uVar21 + 1;" (assignment_expression "uVar20 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) (expression_statement "uVar28 = local_154[uVar8];" (assignment_expression "uVar28 = local_154[uVar8]" identifier = (subscript_expression "local_154[uVar8]" identifier [ identifier ])) ;) (expression_statement "uVar18 = uVar26 + puVar10[uVar21] + uVar18;" (assignment_expression "uVar18 = uVar26 + puVar10[uVar21] + uVar18" identifier = (binary_expression "uVar26 + puVar10[uVar21] + uVar18" (binary_expression "uVar26 + puVar10[uVar21]" identifier + (subscript_expression "puVar10[uVar21]" identifier [ identifier ])) + identifier)) ;) (expression_statement "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;" (assignment_expression "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8" identifier = (binary_expression "(uVar18 >> 0x1d) + uVar18 * 8" (parenthesized_expression "(uVar18 >> 0x1d)" ( (binary_expression "uVar18 >> 0x1d" identifier >> number_literal) )) + (binary_expression "uVar18 * 8" identifier * number_literal))) ;) (expression_statement "puVar10[uVar21] = uVar18;" (assignment_expression "puVar10[uVar21] = uVar18" (subscript_expression "puVar10[uVar21]" identifier [ identifier ]) = identifier) ;) (expression_statement "uVar21 = uVar26 + uVar28 + uVar18;" (assignment_expression "uVar21 = uVar26 + uVar28 + uVar18" identifier = (binary_expression "uVar26 + uVar28 + uVar18" (binary_expression "uVar26 + uVar28" identifier + identifier) + identifier)) ;) (expression_statement "uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);" (assignment_expression "uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f)" identifier = (binary_expression "uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f)" (binary_expression "uVar21 >> (-(uVar18 + uVar26) & 0x1f)" identifier >> (parenthesized_expression "(-(uVar18 + uVar26) & 0x1f)" ( (binary_expression "-(uVar18 + uVar26) & 0x1f" (unary_expression "-(uVar18 + uVar26)" - (parenthesized_expression "(uVar18 + uVar26)" ( (binary_expression "uVar18 + uVar26" identifier + identifier) ))) & number_literal) ))) | (binary_expression "uVar21 << (uVar18 + uVar26 & 0x1f)" identifier << (parenthesized_expression "(uVar18 + uVar26 & 0x1f)" ( (binary_expression "uVar18 + uVar26 & 0x1f" (binary_expression "uVar18 + uVar26" identifier + identifier) & number_literal) ))))) ;) (expression_statement "local_154[uVar8] = uVar26;" (assignment_expression "local_154[uVar8] = uVar26" (subscript_expression "local_154[uVar8]" identifier [ identifier ]) = identifier) ;) (if_statement "if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }" if (parenthesized_expression "(uVar9 == uVar20)" ( (binary_expression "uVar9 == uVar20" identifier == identifier) )) (compound_statement "{\n              uVar20 = 0;\n            }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) })) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }" if (parenthesized_expression "(uVar16 == uVar8)" ( (binary_expression "uVar16 == uVar8" identifier == identifier) )) (compound_statement "{\n              uVar8 = 0;\n            }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) })) (expression_statement "uVar19 = uVar19 + 2;" (assignment_expression "uVar19 = uVar19 + 2" identifier = (binary_expression "uVar19 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 != uVar19)" ( (binary_expression "uVar7 != uVar19" identifier != identifier) )) ;) })) (labeled_statement "LAB_00010b84:\n        iVar27 = 0;" statement_identifier : (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n        iVar27 = 3;\n      }" else (compound_statement "{\n        iVar27 = 3;\n      }" { (expression_statement "iVar27 = 3;" (assignment_expression "iVar27 = 3" identifier = number_literal) ;) }))) }) (else_clause "else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }" else (compound_statement "{\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }" { (expression_statement "iVar27 = 4;" (assignment_expression "iVar27 = 4" identifier = number_literal) ;) (if_statement "if (iVar17 - 0xcU < 0xd) goto LAB_00010814;" if (parenthesized_expression "(iVar17 - 0xcU < 0xd)" ( (binary_expression "iVar17 - 0xcU < 0xd" (binary_expression "iVar17 - 0xcU" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_00010814;" goto statement_identifier ;)) }))) (expression_statement "unaff_s0 = local_54;" (assignment_expression "unaff_s0 = local_54" identifier = identifier) ;) (expression_statement "pcVar23 = *(code **)pcVar23;" (assignment_expression "pcVar23 = *(code **)pcVar23" identifier = (pointer_expression "*(code **)pcVar23" * (cast_expression "(code **)pcVar23" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (local_54 == pcVar23) {\n      return iVar27;\n    }" if (parenthesized_expression "(local_54 == pcVar23)" ( (binary_expression "local_54 == pcVar23" identifier == identifier) )) (compound_statement "{\n      return iVar27;\n    }" { (return_statement "return iVar27;" return identifier ;) })) (expression_statement "pcVar25 = __mips_gp0_value;" (assignment_expression "pcVar25 = __mips_gp0_value" identifier = identifier) ;) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "unaff_s2 = 0;" (assignment_expression "unaff_s2 = 0" identifier = number_literal) ;) (expression_statement "(*pcVar25)(0,0,0x3c);" (call_expression "(*pcVar25)(0,0,0x3c)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(0,0,0x3c)" ( number_literal , number_literal , number_literal ))) ;) (labeled_statement "LAB_00010bc8:\n  (*__mips_gp0_value)(0,uVar7,0x3b);" statement_identifier : (expression_statement "(*__mips_gp0_value)(0,uVar7,0x3b);" (call_expression "(*__mips_gp0_value)(0,uVar7,0x3b)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,uVar7,0x3b)" ( number_literal , identifier , number_literal ))) ;)) (expression_statement "pcVar25 = __mips_gp0_value;" (assignment_expression "pcVar25 = __mips_gp0_value" identifier = identifier) ;) (expression_statement "piVar24 = (int *)0x0;" (assignment_expression "piVar24 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (expression_statement "local_19c = *(int *)__mips_gp0_value;" (assignment_expression "local_19c = *(int *)__mips_gp0_value" identifier = (pointer_expression "*(int *)__mips_gp0_value" * (cast_expression "(int *)__mips_gp0_value" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "local_198 = unaff_s0;" (assignment_expression "local_198 = unaff_s0" identifier = identifier) ;) (expression_statement "local_194 = pcVar23;" (assignment_expression "local_194 = pcVar23" identifier = identifier) ;) (expression_statement "local_190 = unaff_s2;" (assignment_expression "local_190 = unaff_s2" identifier = identifier) ;) (do_statement "do {\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  } while (iVar17 != 3);" do (compound_statement "{\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  }" { (expression_statement "piVar14 = piVar24;" (assignment_expression "piVar14 = piVar24" identifier = identifier) ;) (expression_statement "iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);" (assignment_expression "iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240)" identifier = (call_expression "func_0x00000000(piVar24,0x10,0xc,auStack_1240)" identifier (argument_list "(piVar24,0x10,0xc,auStack_1240)" ( identifier , number_literal , number_literal , identifier )))) ;) (if_statement "if (iVar27 != 0) break;" if (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar13 = aiStack_1248;" (assignment_expression "piVar13 = aiStack_1248" identifier = identifier) ;) (expression_statement "func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);" (call_expression "func_0x00000000(piVar24 + 4,&local_1250,auStack_1240)" identifier (argument_list "(piVar24 + 4,&local_1250,auStack_1240)" ( (binary_expression "piVar24 + 4" identifier + number_literal) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,piVar13,auStack_1240);" (call_expression "func_0x00000000(&local_1250,piVar13,auStack_1240)" identifier (argument_list "(&local_1250,piVar13,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , identifier , identifier ))) ;) (expression_statement "piVar14 = &local_1250;" (assignment_expression "piVar14 = &local_1250" identifier = (pointer_expression "&local_1250" & identifier)) ;) (expression_statement "iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);" (assignment_expression "iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17)" identifier = (call_expression "(*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(&local_1250,8,piVar24 + 6,8,0,iVar17)" ( (pointer_expression "&local_1250" & identifier) , number_literal , (binary_expression "piVar24 + 6" identifier + number_literal) , number_literal , number_literal , identifier )))) ;) (if_statement "if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }" if (parenthesized_expression "((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0))" ( (binary_expression "(iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)" (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)" ( (comma_expression "iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0" (assignment_expression "iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17)" identifier = (call_expression "(*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(piVar13,8,piVar24 + 4,8,0,iVar17)" ( identifier , number_literal , (binary_expression "piVar24 + 4" identifier + number_literal) , number_literal , number_literal , identifier )))) , (comma_expression "piVar14 = piVar13,\n       iVar27 != 0" (assignment_expression "piVar14 = piVar13" identifier = identifier) , (binary_expression "iVar27 != 0" identifier != number_literal))) ))) )) (compound_statement "{\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }" { (labeled_statement "LAB_00010ea0:\n      iVar27 = 5;" statement_identifier : (expression_statement "iVar27 = 5;" (assignment_expression "iVar27 = 5" identifier = number_literal) ;)) (break_statement "break;" break ;) })) (expression_statement "iVar27 = 1000;" (assignment_expression "iVar27 = 1000" identifier = number_literal) ;) (expression_statement "local_1250 = 0;" (assignment_expression "local_1250 = 0" identifier = number_literal) ;) (expression_statement "local_124c = 0;" (assignment_expression "local_124c = 0" identifier = number_literal) ;) (do_statement "do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);" do (compound_statement "{\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    }" { (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "iVar27 = iVar27 + -8;" (assignment_expression "iVar27 = iVar27 + -8" identifier = (binary_expression "iVar27 + -8" identifier + number_literal)) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) }) while (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) ;) (expression_statement "iVar27 = 1000;" (assignment_expression "iVar27 = 1000" identifier = number_literal) ;) (do_statement "do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);" do (compound_statement "{\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    }" { (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "iVar27 = iVar27 + -8;" (assignment_expression "iVar27 = iVar27 + -8" identifier = (binary_expression "iVar27 + -8" identifier + number_literal)) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" identifier (argument_list "(&local_1250,&local_1250,auStack_1240)" ( (pointer_expression "&local_1250" & identifier) , (pointer_expression "&local_1250" & identifier) , identifier ))) ;) }) while (parenthesized_expression "(iVar27 != 0)" ( (binary_expression "iVar27 != 0" identifier != number_literal) )) ;) (expression_statement "piVar14 = (int *)(local_1250 >> 0x10 & 0xff);" (assignment_expression "piVar14 = (int *)(local_1250 >> 0x10 & 0xff)" identifier = (cast_expression "(int *)(local_1250 >> 0x10 & 0xff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_1250 >> 0x10 & 0xff)" ( (binary_expression "local_1250 >> 0x10 & 0xff" (binary_expression "local_1250 >> 0x10" identifier >> number_literal) & number_literal) )))) ;) (if_statement "if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;" if (parenthesized_expression "(((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))" ( (binary_expression "((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))))" (parenthesized_expression "((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0'))))" ( (binary_expression "(((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))" (parenthesized_expression "(((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0'))" ( (binary_expression "((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')" (parenthesized_expression "((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0))" ( (binary_expression "(local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)" (parenthesized_expression "(local_1250._0_1_ != '\0')" ( (binary_expression "local_1250._0_1_ != '\0'" (field_expression "local_1250._0_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(local_1250._2_1_ != '\0')" ( (binary_expression "local_1250._2_1_ != '\0'" (field_expression "local_1250._2_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "(((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))" ( (parenthesized_expression "((char)local_1250 != '\0' || (local_124c._0_1_ != '\0'))" ( (binary_expression "(char)local_1250 != '\0' || (local_124c._0_1_ != '\0')" (binary_expression "(char)local_1250 != '\0'" (cast_expression "(char)local_1250" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(local_124c._0_1_ != '\0')" ( (binary_expression "local_124c._0_1_ != '\0'" (field_expression "local_124c._0_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) || (parenthesized_expression "((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))))" ( (parenthesized_expression "(local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))" ( (binary_expression "local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))" (binary_expression "local_124c._1_1_ != '\0'" (field_expression "local_124c._1_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))" ( (parenthesized_expression "(local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))" ( (binary_expression "local_124c._2_1_ != '\0' || ((char)local_124c != '\0')" (binary_expression "local_124c._2_1_ != '\0'" (field_expression "local_124c._2_1_" identifier . field_identifier) != (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "((char)local_124c != '\0')" ( (binary_expression "(char)local_124c != '\0'" (cast_expression "(char)local_124c" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) ))) )) (goto_statement "goto LAB_00010ea0;" goto statement_identifier ;)) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar24 = piVar24 + 8;" (assignment_expression "piVar24 = piVar24 + 8" identifier = (binary_expression "piVar24 + 8" identifier + number_literal)) ;) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" identifier = number_literal) ;) }) while (parenthesized_expression "(iVar17 != 3)" ( (binary_expression "iVar17 != 3" identifier != number_literal) )) ;) (if_statement "if (local_19c == *(int *)pcVar25) {\n    return iVar27;\n  }" if (parenthesized_expression "(local_19c == *(int *)pcVar25)" ( (binary_expression "local_19c == *(int *)pcVar25" identifier == (pointer_expression "*(int *)pcVar25" * (cast_expression "(int *)pcVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar27;\n  }" { (return_statement "return iVar27;" return identifier ;) })) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (piVar14 == (int *)0x0) {\n    (*__mips_gp0_value)(0,0,0x132);\n                    \n    halt_baddata();\n  }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*__mips_gp0_value)(0,0,0x132);\n                    \n    halt_baddata();\n  }" { (expression_statement "(*__mips_gp0_value)(0,0,0x132);" (call_expression "(*__mips_gp0_value)(0,0,0x132)" (parenthesized_expression "(*__mips_gp0_value)" ( (pointer_expression "*__mips_gp0_value" * identifier) )) (argument_list "(0,0,0x132)" ( number_literal , number_literal , number_literal ))) ;) (expression_statement "halt_baddata();" (call_expression "halt_baddata()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*piVar14 < 8) {\n    return 3;\n  }" if (parenthesized_expression "(*piVar14 < 8)" ( (binary_expression "*piVar14 < 8" (pointer_expression "*piVar14" * identifier) < number_literal) )) (compound_statement "{\n    return 3;\n  }" { (return_statement "return 3;" return number_literal ;) })) (if_statement "if (*piVar14 < 0x81) {\n    return 0;\n  }" if (parenthesized_expression "(*piVar14 < 0x81)" ( (binary_expression "*piVar14 < 0x81" (pointer_expression "*piVar14" * identifier) < number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "*piVar14 = 0x80;" (assignment_expression "*piVar14 = 0x80" (pointer_expression "*piVar14" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , LIT , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , LIT , LIT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT)) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT)) + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) * LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) + (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (return_statement return LIT ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , LIT , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , LIT , LIT ))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (pointer_expression * IDENT)) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (pointer_expression * IDENT)) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT * LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression IDENT >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (pointer_expression * IDENT)) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (pointer_expression * IDENT)) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression LIT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT * LIT) ))) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression IDENT >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (pointer_expression * IDENT)) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (pointer_expression * IDENT)) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) << (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) >> (parenthesized_expression ( (binary_expression IDENT & LIT) )))) )) ^ IDENT)) ;) })) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (return_statement return LIT ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) )) << LIT) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression IDENT & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression IDENT & LIT)) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression IDENT & LIT)) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) | IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression IDENT & LIT)) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) | IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression IDENT & LIT)) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) | IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression IDENT & LIT)) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression LIT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )) * LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) >> LIT) )) + (binary_expression (pointer_expression * IDENT) * LIT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) >> (parenthesized_expression ( (binary_expression (unary_expression - IDENT) & LIT) ))) | (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) << (parenthesized_expression ( (binary_expression IDENT & LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ IDENT ])) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) & LIT) ))) | (binary_expression IDENT << (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) & LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (subscript_expression IDENT [ IDENT ])) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> (parenthesized_expression ( (binary_expression (unary_expression - (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) & LIT) ))) | (binary_expression IDENT << (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) & LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , LIT , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT , LIT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , LIT , (binary_expression IDENT + LIT) , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , LIT , LIT , IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) || (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != (char_literal ' escape_sequence ')) ))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) != (char_literal ' escape_sequence ')) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) != (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) ))) )) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return LIT ;) })))
(function_definition "int FUN_00010008(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)\n\n{\n  uint *puVar1;\n  uint *puVar2;\n  uint *puVar3;\n  uint *puVar4;\n  uint *puVar5;\n  byte bVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  int *piVar13;\n  int *piVar14;\n  uint *puVar15;\n  uint uVar16;\n  uint *in_t0;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint *puVar22;\n  code *unaff_s0;\n  code *pcVar23;\n  undefined4 unaff_s2;\n  int *piVar24;\n  undefined1 *in_t8;\n  code *pcVar25;\n  uint uVar26;\n  int iVar27;\n  uint uVar28;\n  undefined4 local_1250;\n  undefined4 local_124c;\n  int aiStack_1248 [2];\n  undefined1 auStack_1240 [4260];\n  int local_19c;\n  code *local_198;\n  code *local_194;\n  undefined4 local_190;\n  uint local_154 [64];\n  code *local_54;\n  \n  if (param_3 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }\n  else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }\n  puVar15 = (uint *)&DAT_00000087;\n  puVar10 = (uint *)0x0;\n  (*__mips_gp0_value)();\n  if (puVar15 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }\n  else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }\n  iVar17 = 0xbe;\n  pbVar11 = (byte *)0x0;\n  (*__mips_gp0_value)();\n  pcVar23 = __mips_gp0_value;\n  local_54 = *(code **)__mips_gp0_value;\n  uVar7 = 0;\n  if (param_4 == (int *)0x0) goto LAB_00010bc8;\n  pcVar25 = __mips_gp0_value;\n  if (pbVar11 != (byte *)0x0) {\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }\n  unaff_s2 = 0;\n  (*pcVar25)(0,0,0x3c);\nLAB_00010bc8:\n  (*__mips_gp0_value)(0,uVar7,0x3b);\n  pcVar25 = __mips_gp0_value;\n  piVar24 = (int *)0x0;\n  iVar17 = 0;\n  local_19c = *(int *)__mips_gp0_value;\n  local_198 = unaff_s0;\n  local_194 = pcVar23;\n  local_190 = unaff_s2;\n  do {\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  } while (iVar17 != 3);\n  if (local_19c == *(int *)pcVar25) {\n    return iVar27;\n  }\n  (*__mips_gp0_value)();\n  if (piVar14 == (int *)0x0) {\n    (*__mips_gp0_value)(0,0,0x132);\n                    \n    halt_baddata();\n  }\n  if (*piVar14 < 8) {\n    return 3;\n  }\n  if (*piVar14 < 0x81) {\n    return 0;\n  }\n  *piVar14 = 0x80;\n  return 0;\n}" (primitive_type "int") (function_declarator "FUN_00010008(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)" (identifier "FUN_00010008") (parameter_list "(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)" (( "(") (parameter_declaration "uint *param_1" (type_identifier "uint") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined1 *param_2" (type_identifier "undefined1") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint *param_3" (type_identifier "uint") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  uint *puVar1;\n  uint *puVar2;\n  uint *puVar3;\n  uint *puVar4;\n  uint *puVar5;\n  byte bVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint *puVar10;\n  byte *pbVar11;\n  byte *pbVar12;\n  int *piVar13;\n  int *piVar14;\n  uint *puVar15;\n  uint uVar16;\n  uint *in_t0;\n  int iVar17;\n  uint uVar18;\n  uint uVar19;\n  uint uVar20;\n  uint uVar21;\n  uint *puVar22;\n  code *unaff_s0;\n  code *pcVar23;\n  undefined4 unaff_s2;\n  int *piVar24;\n  undefined1 *in_t8;\n  code *pcVar25;\n  uint uVar26;\n  int iVar27;\n  uint uVar28;\n  undefined4 local_1250;\n  undefined4 local_124c;\n  int aiStack_1248 [2];\n  undefined1 auStack_1240 [4260];\n  int local_19c;\n  code *local_198;\n  code *local_194;\n  undefined4 local_190;\n  uint local_154 [64];\n  code *local_54;\n  \n  if (param_3 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }\n  else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }\n  puVar15 = (uint *)&DAT_00000087;\n  puVar10 = (uint *)0x0;\n  (*__mips_gp0_value)();\n  if (puVar15 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }\n  else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }\n  iVar17 = 0xbe;\n  pbVar11 = (byte *)0x0;\n  (*__mips_gp0_value)();\n  pcVar23 = __mips_gp0_value;\n  local_54 = *(code **)__mips_gp0_value;\n  uVar7 = 0;\n  if (param_4 == (int *)0x0) goto LAB_00010bc8;\n  pcVar25 = __mips_gp0_value;\n  if (pbVar11 != (byte *)0x0) {\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }\n  unaff_s2 = 0;\n  (*pcVar25)(0,0,0x3c);\nLAB_00010bc8:\n  (*__mips_gp0_value)(0,uVar7,0x3b);\n  pcVar25 = __mips_gp0_value;\n  piVar24 = (int *)0x0;\n  iVar17 = 0;\n  local_19c = *(int *)__mips_gp0_value;\n  local_198 = unaff_s0;\n  local_194 = pcVar23;\n  local_190 = unaff_s2;\n  do {\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  } while (iVar17 != 3);\n  if (local_19c == *(int *)pcVar25) {\n    return iVar27;\n  }\n  (*__mips_gp0_value)();\n  if (piVar14 == (int *)0x0) {\n    (*__mips_gp0_value)(0,0,0x132);\n                    \n    halt_baddata();\n  }\n  if (*piVar14 < 8) {\n    return 3;\n  }\n  if (*piVar14 < 0x81) {\n    return 0;\n  }\n  *piVar14 = 0x80;\n  return 0;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "uint *puVar3;" (type_identifier "uint") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "uint *puVar4;" (type_identifier "uint") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "uint *puVar5;" (type_identifier "uint") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint *puVar10;" (type_identifier "uint") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "byte *pbVar11;" (type_identifier "byte") (pointer_declarator "*pbVar11" (* "*") (identifier "pbVar11")) (; ";")) (declaration "byte *pbVar12;" (type_identifier "byte") (pointer_declarator "*pbVar12" (* "*") (identifier "pbVar12")) (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "uint *puVar15;" (type_identifier "uint") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "uint *in_t0;" (type_identifier "uint") (pointer_declarator "*in_t0" (* "*") (identifier "in_t0")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "uint *puVar22;" (type_identifier "uint") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "code *unaff_s0;" (type_identifier "code") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")) (; ";")) (declaration "code *pcVar23;" (type_identifier "code") (pointer_declarator "*pcVar23" (* "*") (identifier "pcVar23")) (; ";")) (declaration "undefined4 unaff_s2;" (type_identifier "undefined4") (identifier "unaff_s2") (; ";")) (declaration "int *piVar24;" (primitive_type "int") (pointer_declarator "*piVar24" (* "*") (identifier "piVar24")) (; ";")) (declaration "undefined1 *in_t8;" (type_identifier "undefined1") (pointer_declarator "*in_t8" (* "*") (identifier "in_t8")) (; ";")) (declaration "code *pcVar25;" (type_identifier "code") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "uint uVar28;" (type_identifier "uint") (identifier "uVar28") (; ";")) (declaration "undefined4 local_1250;" (type_identifier "undefined4") (identifier "local_1250") (; ";")) (declaration "undefined4 local_124c;" (type_identifier "undefined4") (identifier "local_124c") (; ";")) (declaration "int aiStack_1248 [2];" (primitive_type "int") (array_declarator "aiStack_1248 [2]" (identifier "aiStack_1248") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "undefined1 auStack_1240 [4260];" (type_identifier "undefined1") (array_declarator "auStack_1240 [4260]" (identifier "auStack_1240") ([ "[") (number_literal "4260") (] "]")) (; ";")) (declaration "int local_19c;" (primitive_type "int") (identifier "local_19c") (; ";")) (declaration "code *local_198;" (type_identifier "code") (pointer_declarator "*local_198" (* "*") (identifier "local_198")) (; ";")) (declaration "code *local_194;" (type_identifier "code") (pointer_declarator "*local_194" (* "*") (identifier "local_194")) (; ";")) (declaration "undefined4 local_190;" (type_identifier "undefined4") (identifier "local_190") (; ";")) (declaration "uint local_154 [64];" (type_identifier "uint") (array_declarator "local_154 [64]" (identifier "local_154") ([ "[") (number_literal "64") (] "]")) (; ";")) (declaration "code *local_54;" (type_identifier "code") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (if_statement "if (param_3 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }\n  else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }" (if "if") (parenthesized_expression "(param_3 == (uint *)0x0)" (( "(") (binary_expression "param_3 == (uint *)0x0" (identifier "param_3") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*__mips_gp0_value)(0,0,0x86);\nLAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);\n  }" ({ "{") (expression_statement "(*__mips_gp0_value)(0,0,0x86);" (call_expression "(*__mips_gp0_value)(0,0,0x86)" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "(0,0,0x86)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x86") () ")"))) (; ";")) (labeled_statement "LAB_000103ac:\n    (*__mips_gp0_value)(0,0,0x88);" (statement_identifier "LAB_000103ac") (: ":") (expression_statement "(*__mips_gp0_value)(0,0,0x88);" (call_expression "(*__mips_gp0_value)(0,0,0x88)" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "(0,0,0x88)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x88") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }" (else "else") (compound_statement "{\n    in_t8 = (undefined1 *)0x0;\n    if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }\n  }" ({ "{") (expression_statement "in_t8 = (undefined1 *)0x0;" (assignment_expression "in_t8 = (undefined1 *)0x0" (identifier "in_t8") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (param_1 != (uint *)0x0) {\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }" (if "if") (parenthesized_expression "(param_1 != (uint *)0x0)" (( "(") (binary_expression "param_1 != (uint *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      in_t0 = param_3 + 3;\n      if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }\n      goto LAB_000103ac;\n    }" ({ "{") (expression_statement "in_t0 = param_3 + 3;" (assignment_expression "in_t0 = param_3 + 3" (identifier "in_t0") (= "=") (binary_expression "param_3 + 3" (identifier "param_3") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (param_2 != (undefined1 *)0x0) {\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }" (if "if") (parenthesized_expression "(param_2 != (undefined1 *)0x0)" (( "(") (binary_expression "param_2 != (undefined1 *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar7 = *param_1;\n        uVar9 = param_1[1];\n        uVar16 = *param_3;\n        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];\n        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];\n        if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }\nLAB_00010274:\n        *param_2 = (char)uVar26;\n        param_2[4] = (char)uVar7;\n        param_2[3] = (char)(uVar26 >> 0x18);\n        param_2[2] = (char)(uVar26 >> 0x10);\n        param_2[1] = (char)(uVar26 >> 8);\n        param_2[7] = (char)(uVar7 >> 0x18);\n        param_2[6] = (char)(uVar7 >> 0x10);\n        param_2[5] = (char)(uVar7 >> 8);\n        return 0;\n      }" ({ "{") (expression_statement "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" (identifier "uVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar9 = param_1[1];" (assignment_expression "uVar9 = param_1[1]" (identifier "uVar9") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar16 = *param_3;" (assignment_expression "uVar16 = *param_3" (identifier "uVar16") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];" (assignment_expression "uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1]" (identifier "uVar26") (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1]" (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) (+ "+") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];" (assignment_expression "uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2]" (identifier "uVar7") (= "=") (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2]" (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" (( "(") (binary_expression "uVar9 >> 0x10" (identifier "uVar9") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" (( "(") (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" (( "(") (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" (( "(") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) (+ "+") (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if ((uVar16 & 1) == 0) {\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }\n        else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" (if "if") (parenthesized_expression "((uVar16 & 1) == 0)" (( "(") (binary_expression "(uVar16 & 1) == 0" (parenthesized_expression "(uVar16 & 1)" (( "(") (binary_expression "uVar16 & 1" (identifier "uVar16") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }\n        }" ({ "{") (if_statement "if (0 < (int)uVar16) {\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }" (if "if") (parenthesized_expression "(0 < (int)uVar16)" (( "(") (binary_expression "0 < (int)uVar16" (number_literal "0") (< "<") (cast_expression "(int)uVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar16"))) () ")")) (compound_statement "{\n            iVar17 = 2;\n            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;\n            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];\n            puVar10 = param_3 + 7;\n            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];\n            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];\n            if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }\n          }" ({ "{") (expression_statement "iVar17 = 2;" (assignment_expression "iVar17 = 2" (identifier "iVar17") (= "=") (number_literal "2")) (; ";")) (expression_statement "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0;" (assignment_expression "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0" (identifier "uVar9") (= "=") (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                    *in_t0" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" (( "(") (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*in_t0" (* "*") (identifier "in_t0")))) (; ";")) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4];" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4]" (identifier "uVar7") (= "=") (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                    param_3[4]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" (( "(") (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "puVar10 = param_3 + 7;" (assignment_expression "puVar10 = param_3 + 7" (identifier "puVar10") (= "=") (binary_expression "param_3 + 7" (identifier "param_3") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5];" (assignment_expression "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5]" (identifier "uVar26") (= "=") (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                     param_3[5]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" (( "(") (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (subscript_expression "param_3[5]" (identifier "param_3") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6];" (assignment_expression "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6]" (identifier "uVar7") (= "=") (binary_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +\n                    param_3[6]" (parenthesized_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))" (( "(") (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)" (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" (( "(") (binary_expression "uVar7 ^ uVar26" (identifier "uVar7") (^ "^") (identifier "uVar26")) () ")")) (>> ">>") (parenthesized_expression "(-uVar26 & 0x1f)" (( "(") (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" (- "-") (identifier "uVar26")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar7 ^ uVar26) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" (( "(") (binary_expression "uVar7 ^ uVar26" (identifier "uVar7") (^ "^") (identifier "uVar26")) () ")")) (<< "<<") (parenthesized_expression "(uVar26 & 0x1f)" (( "(") (binary_expression "uVar26 & 0x1f" (identifier "uVar26") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (subscript_expression "param_3[6]" (identifier "param_3") ([ "[") (number_literal "6") (] "]")))) (; ";")) (if_statement "if (2 < (int)uVar16) {\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }" (if "if") (parenthesized_expression "(2 < (int)uVar16)" (( "(") (binary_expression "2 < (int)uVar16" (number_literal "2") (< "<") (cast_expression "(int)uVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar16"))) () ")")) (compound_statement "{\n              if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }\n              do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);\n            }" ({ "{") (if_statement "if ((int)((uVar16 - 1) * 0x40000000) < 0) {\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }" (if "if") (parenthesized_expression "((int)((uVar16 - 1) * 0x40000000) < 0)" (( "(") (binary_expression "(int)((uVar16 - 1) * 0x40000000) < 0" (cast_expression "(int)((uVar16 - 1) * 0x40000000)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uVar16 - 1) * 0x40000000)" (( "(") (binary_expression "(uVar16 - 1) * 0x40000000" (parenthesized_expression "(uVar16 - 1)" (( "(") (binary_expression "uVar16 - 1" (identifier "uVar16") (- "-") (number_literal "1")) () ")")) (* "*") (number_literal "0x40000000")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                iVar17 = 4;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar10 = param_3 + 0xb;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];\n                if ((int)uVar16 < 5) goto LAB_00010274;\n              }" ({ "{") (expression_statement "iVar17 = 4;" (assignment_expression "iVar17 = 4" (identifier "iVar17") (= "=") (number_literal "4")) (; ";")) (expression_statement "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;" (assignment_expression "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" (identifier "uVar9") (= "=") (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" (( "(") (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (expression_statement "puVar10 = param_3 + 0xb;" (assignment_expression "puVar10 = param_3 + 0xb" (identifier "puVar10") (= "=") (binary_expression "param_3 + 0xb" (identifier "param_3") (+ "+") (number_literal "0xb"))) (; ";")) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8];" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8]" (identifier "uVar7") (= "=") (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        param_3[8]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" (( "(") (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (subscript_expression "param_3[8]" (identifier "param_3") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9];" (assignment_expression "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9]" (identifier "uVar26") (= "=") (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         param_3[9]" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" (( "(") (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (subscript_expression "param_3[9]" (identifier "param_3") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10];" (assignment_expression "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10]" (identifier "uVar7") (= "=") (binary_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + param_3[10]" (parenthesized_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))" (( "(") (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)" (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" (( "(") (binary_expression "uVar7 ^ uVar26" (identifier "uVar7") (^ "^") (identifier "uVar26")) () ")")) (>> ">>") (parenthesized_expression "(-uVar26 & 0x1f)" (( "(") (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" (- "-") (identifier "uVar26")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar7 ^ uVar26) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" (( "(") (binary_expression "uVar7 ^ uVar26" (identifier "uVar7") (^ "^") (identifier "uVar26")) () ")")) (<< "<<") (parenthesized_expression "(uVar26 & 0x1f)" (( "(") (binary_expression "uVar26 & 0x1f" (identifier "uVar26") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (subscript_expression "param_3[10]" (identifier "param_3") ([ "[") (number_literal "10") (] "]")))) (; ";")) (if_statement "if ((int)uVar16 < 5) goto LAB_00010274;" (if "if") (parenthesized_expression "((int)uVar16 < 5)" (( "(") (binary_expression "(int)uVar16 < 5" (cast_expression "(int)uVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar16")) (< "<") (number_literal "5")) () ")")) (goto_statement "goto LAB_00010274;" (goto "goto") (statement_identifier "LAB_00010274") (; ";"))) (} "}"))) (do_statement "do {\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              } while (iVar17 < (int)uVar16);" (do "do") (compound_statement "{\n                puVar15 = puVar10 + 1;\n                puVar22 = puVar10 + 2;\n                puVar1 = puVar10 + 3;\n                puVar2 = puVar10 + 4;\n                iVar17 = iVar17 + 4;\n                puVar3 = puVar10 + 5;\n                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;\n                puVar4 = puVar10 + 6;\n                puVar5 = puVar10 + 7;\n                puVar10 = puVar10 + 8;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;\n                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;\n                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;\n                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;\n                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;\n                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;\n              }" ({ "{") (expression_statement "puVar15 = puVar10 + 1;" (assignment_expression "puVar15 = puVar10 + 1" (identifier "puVar15") (= "=") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar22 = puVar10 + 2;" (assignment_expression "puVar22 = puVar10 + 2" (identifier "puVar22") (= "=") (binary_expression "puVar10 + 2" (identifier "puVar10") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar1 = puVar10 + 3;" (assignment_expression "puVar1 = puVar10 + 3" (identifier "puVar1") (= "=") (binary_expression "puVar10 + 3" (identifier "puVar10") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "puVar2 = puVar10 + 4;" (assignment_expression "puVar2 = puVar10 + 4" (identifier "puVar2") (= "=") (binary_expression "puVar10 + 4" (identifier "puVar10") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "iVar17 = iVar17 + 4;" (assignment_expression "iVar17 = iVar17 + 4" (identifier "iVar17") (= "=") (binary_expression "iVar17 + 4" (identifier "iVar17") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar3 = puVar10 + 5;" (assignment_expression "puVar3 = puVar10 + 5" (identifier "puVar3") (= "=") (binary_expression "puVar10 + 5" (identifier "puVar10") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10;" (assignment_expression "uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" (identifier "uVar9") (= "=") (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar10" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" (( "(") (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (expression_statement "puVar4 = puVar10 + 6;" (assignment_expression "puVar4 = puVar10 + 6" (identifier "puVar4") (= "=") (binary_expression "puVar10 + 6" (identifier "puVar10") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "puVar5 = puVar10 + 7;" (assignment_expression "puVar5 = puVar10 + 7" (identifier "puVar5") (= "=") (binary_expression "puVar10 + 7" (identifier "puVar10") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "puVar10 = puVar10 + 8;" (assignment_expression "puVar10 = puVar10 + 8" (identifier "puVar10") (= "=") (binary_expression "puVar10 + 8" (identifier "puVar10") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15;" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15" (identifier "uVar7") (= "=") (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar15" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" (( "(") (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")))) (; ";")) (expression_statement "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22;" (assignment_expression "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22" (identifier "uVar9") (= "=") (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar22" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" (( "(") (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar22" (* "*") (identifier "puVar22")))) (; ";")) (expression_statement "uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1;" (assignment_expression "uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1" (identifier "uVar7") (= "=") (binary_expression "((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +\n                        *puVar1" (parenthesized_expression "((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f))" (( "(") (binary_expression "(uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)" (binary_expression "(uVar7 ^ uVar9) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar9)" (( "(") (binary_expression "uVar7 ^ uVar9" (identifier "uVar7") (^ "^") (identifier "uVar9")) () ")")) (>> ">>") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar7 ^ uVar9) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar9)" (( "(") (binary_expression "uVar7 ^ uVar9" (identifier "uVar7") (^ "^") (identifier "uVar9")) () ")")) (<< "<<") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")))) (; ";")) (expression_statement "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2;" (assignment_expression "uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2" (identifier "uVar9") (= "=") (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                        *puVar2" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" (( "(") (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar2" (* "*") (identifier "puVar2")))) (; ";")) (expression_statement "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3;" (assignment_expression "uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3" (identifier "uVar7") (= "=") (binary_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +\n                        *puVar3" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f))" (( "(") (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar9 ^ uVar7) << (uVar9 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")))) (; ";")) (expression_statement "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4;" (assignment_expression "uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4" (identifier "uVar26") (= "=") (binary_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +\n                         *puVar4" (parenthesized_expression "((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f))" (( "(") (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar9 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar9 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar9 ^ uVar7)" (( "(") (binary_expression "uVar9 ^ uVar7" (identifier "uVar9") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")))) (; ";")) (expression_statement "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5;" (assignment_expression "uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5" (identifier "uVar7") (= "=") (binary_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))\n                        + *puVar5" (parenthesized_expression "((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))" (( "(") (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)" (binary_expression "(uVar7 ^ uVar26) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" (( "(") (binary_expression "uVar7 ^ uVar26" (identifier "uVar7") (^ "^") (identifier "uVar26")) () ")")) (>> ">>") (parenthesized_expression "(-uVar26 & 0x1f)" (( "(") (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" (- "-") (identifier "uVar26")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar7 ^ uVar26) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar7 ^ uVar26)" (( "(") (binary_expression "uVar7 ^ uVar26" (identifier "uVar7") (^ "^") (identifier "uVar26")) () ")")) (<< "<<") (parenthesized_expression "(uVar26 & 0x1f)" (( "(") (binary_expression "uVar26 & 0x1f" (identifier "uVar26") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar17 < (int)uVar16)" (( "(") (binary_expression "iVar17 < (int)uVar16" (identifier "iVar17") (< "<") (cast_expression "(int)uVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar16"))) () ")")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" (else "else") (if_statement "if (0 < (int)uVar16) {\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" (if "if") (parenthesized_expression "(0 < (int)uVar16)" (( "(") (binary_expression "0 < (int)uVar16" (number_literal "0") (< "<") (cast_expression "(int)uVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar16"))) () ")")) (compound_statement "{\n          uVar9 = 0;\n          if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }\n          do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);\n        }" ({ "{") (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((uVar16 & 1) != 0) {\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }" (if "if") (parenthesized_expression "((uVar16 & 1) != 0)" (( "(") (binary_expression "(uVar16 & 1) != 0" (parenthesized_expression "(uVar16 & 1)" (( "(") (binary_expression "uVar16 & 1" (identifier "uVar16") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar9 = 1;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = param_3 + 5;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];\n            if (uVar16 == 1) goto LAB_00010274;\n          }" ({ "{") (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" (identifier "uVar9") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;" (assignment_expression "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" (identifier "uVar26") (= "=") (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" (( "(") (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*in_t0" (* "*") (identifier "in_t0")))) (; ";")) (expression_statement "in_t0 = param_3 + 5;" (assignment_expression "in_t0 = param_3 + 5" (identifier "in_t0") (= "=") (binary_expression "param_3 + 5" (identifier "param_3") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4];" (assignment_expression "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4]" (identifier "uVar7") (= "=") (binary_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    param_3[4]" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f))" (( "(") (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar26 & 0x1f)" (( "(") (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" (- "-") (identifier "uVar26")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar26 ^ uVar7) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar26 & 0x1f)" (( "(") (binary_expression "uVar26 & 0x1f" (identifier "uVar26") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (uVar16 == 1) goto LAB_00010274;" (if "if") (parenthesized_expression "(uVar16 == 1)" (( "(") (binary_expression "uVar16 == 1" (identifier "uVar16") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_00010274;" (goto "goto") (statement_identifier "LAB_00010274") (; ";"))) (} "}"))) (do_statement "do {\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          } while (uVar16 != uVar9);" (do "do") (compound_statement "{\n            puVar10 = in_t0 + 1;\n            puVar15 = in_t0 + 2;\n            puVar22 = in_t0 + 3;\n            uVar9 = uVar9 + 2;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;\n            in_t0 = in_t0 + 4;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;\n            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;\n            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;\n          }" ({ "{") (expression_statement "puVar10 = in_t0 + 1;" (assignment_expression "puVar10 = in_t0 + 1" (identifier "puVar10") (= "=") (binary_expression "in_t0 + 1" (identifier "in_t0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar15 = in_t0 + 2;" (assignment_expression "puVar15 = in_t0 + 2" (identifier "puVar15") (= "=") (binary_expression "in_t0 + 2" (identifier "in_t0") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar22 = in_t0 + 3;" (assignment_expression "puVar22 = in_t0 + 3" (identifier "puVar22") (= "=") (binary_expression "in_t0 + 3" (identifier "in_t0") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "uVar9 = uVar9 + 2;" (assignment_expression "uVar9 = uVar9 + 2" (identifier "uVar9") (= "=") (binary_expression "uVar9 + 2" (identifier "uVar9") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0;" (assignment_expression "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" (identifier "uVar26") (= "=") (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *in_t0" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" (( "(") (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*in_t0" (* "*") (identifier "in_t0")))) (; ";")) (expression_statement "in_t0 = in_t0 + 4;" (assignment_expression "in_t0 = in_t0 + 4" (identifier "in_t0") (= "=") (binary_expression "in_t0 + 4" (identifier "in_t0") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10;" (assignment_expression "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10" (identifier "uVar7") (= "=") (binary_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar10" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f))" (( "(") (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar26 & 0x1f)" (( "(") (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" (- "-") (identifier "uVar26")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar26 ^ uVar7) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar26 & 0x1f)" (( "(") (binary_expression "uVar26 & 0x1f" (identifier "uVar26") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (expression_statement "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15;" (assignment_expression "uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15" (identifier "uVar26") (= "=") (binary_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +\n                     *puVar15" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f))" (( "(") (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar26 ^ uVar7) << (uVar7 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")))) (; ";")) (expression_statement "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22;" (assignment_expression "uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22" (identifier "uVar7") (= "=") (binary_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +\n                    *puVar22" (parenthesized_expression "((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f))" (( "(") (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)" (binary_expression "(uVar26 ^ uVar7) >> (-uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (>> ">>") (parenthesized_expression "(-uVar26 & 0x1f)" (( "(") (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" (- "-") (identifier "uVar26")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "(uVar26 ^ uVar7) << (uVar26 & 0x1f)" (parenthesized_expression "(uVar26 ^ uVar7)" (( "(") (binary_expression "uVar26 ^ uVar7" (identifier "uVar26") (^ "^") (identifier "uVar7")) () ")")) (<< "<<") (parenthesized_expression "(uVar26 & 0x1f)" (( "(") (binary_expression "uVar26 & 0x1f" (identifier "uVar26") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (+ "+") (pointer_expression "*puVar22" (* "*") (identifier "puVar22")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar16 != uVar9)" (( "(") (binary_expression "uVar16 != uVar9" (identifier "uVar16") (!= "!=") (identifier "uVar9")) () ")")) (; ";")) (} "}"))))) (labeled_statement "LAB_00010274:\n        *param_2 = (char)uVar26;" (statement_identifier "LAB_00010274") (: ":") (expression_statement "*param_2 = (char)uVar26;" (assignment_expression "*param_2 = (char)uVar26" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (cast_expression "(char)uVar26" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar26"))) (; ";"))) (expression_statement "param_2[4] = (char)uVar7;" (assignment_expression "param_2[4] = (char)uVar7" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(char)uVar7" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar7"))) (; ";")) (expression_statement "param_2[3] = (char)(uVar26 >> 0x18);" (assignment_expression "param_2[3] = (char)(uVar26 >> 0x18)" (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(char)(uVar26 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(uVar26 >> 0x18)" (( "(") (binary_expression "uVar26 >> 0x18" (identifier "uVar26") (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "param_2[2] = (char)(uVar26 >> 0x10);" (assignment_expression "param_2[2] = (char)(uVar26 >> 0x10)" (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(char)(uVar26 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(uVar26 >> 0x10)" (( "(") (binary_expression "uVar26 >> 0x10" (identifier "uVar26") (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "param_2[1] = (char)(uVar26 >> 8);" (assignment_expression "param_2[1] = (char)(uVar26 >> 8)" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(char)(uVar26 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(uVar26 >> 8)" (( "(") (binary_expression "uVar26 >> 8" (identifier "uVar26") (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "param_2[7] = (char)(uVar7 >> 0x18);" (assignment_expression "param_2[7] = (char)(uVar7 >> 0x18)" (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(char)(uVar7 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "param_2[6] = (char)(uVar7 >> 0x10);" (assignment_expression "param_2[6] = (char)(uVar7 >> 0x10)" (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(char)(uVar7 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "param_2[5] = (char)(uVar7 >> 8);" (assignment_expression "param_2[5] = (char)(uVar7 >> 8)" (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(char)(uVar7 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "(uVar7 >> 8)" (( "(") (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) () ")")))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (goto_statement "goto LAB_000103ac;" (goto "goto") (statement_identifier "LAB_000103ac") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar15 = (uint *)&DAT_00000087;" (assignment_expression "puVar15 = (uint *)&DAT_00000087" (identifier "puVar15") (= "=") (cast_expression "(uint *)&DAT_00000087" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000087" (& "&") (identifier "DAT_00000087")))) (; ";")) (expression_statement "puVar10 = (uint *)0x0;" (assignment_expression "puVar10 = (uint *)0x0" (identifier "puVar10") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puVar15 == (uint *)0x0) {\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }\n  else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }" (if "if") (parenthesized_expression "(puVar15 == (uint *)0x0)" (( "(") (binary_expression "puVar15 == (uint *)0x0" (identifier "puVar15") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*__mips_gp0_value)(0,0,0xbd);\nLAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);\n  }" ({ "{") (expression_statement "(*__mips_gp0_value)(0,0,0xbd);" (call_expression "(*__mips_gp0_value)(0,0,0xbd)" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "(0,0,0xbd)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0xbd") () ")"))) (; ";")) (labeled_statement "LAB_00010768:\n    (*__mips_gp0_value)(0,0,0xbf);" (statement_identifier "LAB_00010768") (: ":") (expression_statement "(*__mips_gp0_value)(0,0,0xbf);" (call_expression "(*__mips_gp0_value)(0,0,0xbf)" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "(0,0,0xbf)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0xbf") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }" (else "else") (compound_statement "{\n    in_t0 = (uint *)0x0;\n    if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }\n  }" ({ "{") (expression_statement "in_t0 = (uint *)0x0;" (assignment_expression "in_t0 = (uint *)0x0" (identifier "in_t0") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (in_t8 != (undefined1 *)0x0) {\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }" (if "if") (parenthesized_expression "(in_t8 != (undefined1 *)0x0)" (( "(") (binary_expression "in_t8 != (undefined1 *)0x0" (identifier "in_t8") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }\n      goto LAB_00010768;\n    }" ({ "{") (if_statement "if (puVar10 != (uint *)0x0) {\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }" (if "if") (parenthesized_expression "(puVar10 != (uint *)0x0)" (( "(") (binary_expression "puVar10 != (uint *)0x0" (identifier "puVar10") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar7 = *puVar10;\n        uVar9 = puVar10[1];\n        uVar26 = *puVar15;\n        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;\n        puVar10 = puVar15 + uVar26 * 2 + 1;\n        uVar7 = uVar26 - 1;\n        if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }\nLAB_000104fc:\n        uVar7 = puVar15[1];\nLAB_00010500:\n        iVar17 = uVar16 - uVar7;\n        iVar27 = uVar9 - puVar15[2];\n        *in_t8 = (char)iVar17;\n        in_t8[4] = (char)iVar27;\n        in_t8[3] = (char)((uint)iVar17 >> 0x18);\n        in_t8[7] = (char)((uint)iVar27 >> 0x18);\n        in_t8[6] = (char)((uint)iVar27 >> 0x10);\n        in_t8[5] = (char)((uint)iVar27 >> 8);\n        in_t8[2] = (char)((uint)iVar17 >> 0x10);\n        in_t8[1] = (char)((uint)iVar17 >> 8);\n        return 0;\n      }" ({ "{") (expression_statement "uVar7 = *puVar10;" (assignment_expression "uVar7 = *puVar10" (identifier "uVar7") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (expression_statement "uVar9 = puVar10[1];" (assignment_expression "uVar9 = puVar10[1]" (identifier "uVar9") (= "=") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar26 = *puVar15;" (assignment_expression "uVar26 = *puVar15" (identifier "uVar26") (= "=") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))) (; ";")) (expression_statement "uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (identifier "uVar16") (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (identifier "uVar9") (= "=") (binary_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10" (binary_expression "(uVar9 >> 0x10) << 0x18" (parenthesized_expression "(uVar9 >> 0x10)" (( "(") (binary_expression "uVar9 >> 0x10" (identifier "uVar9") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 >> 0x18) << 0x10" (parenthesized_expression "(uVar9 >> 0x18)" (( "(") (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff)" (( "(") (binary_expression "(uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff" (binary_expression "(uVar9 & 0xff) << 8" (parenthesized_expression "(uVar9 & 0xff)" (( "(") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar9 >> 8 & 0xff" (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "puVar10 = puVar15 + uVar26 * 2 + 1;" (assignment_expression "puVar10 = puVar15 + uVar26 * 2 + 1" (identifier "puVar10") (= "=") (binary_expression "puVar15 + uVar26 * 2 + 1" (binary_expression "puVar15 + uVar26 * 2" (identifier "puVar15") (+ "+") (binary_expression "uVar26 * 2" (identifier "uVar26") (* "*") (number_literal "2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = uVar26 - 1;" (assignment_expression "uVar7 = uVar26 - 1" (identifier "uVar7") (= "=") (binary_expression "uVar26 - 1" (identifier "uVar26") (- "-") (number_literal "1"))) (; ";")) (if_statement "if ((uVar26 & 1) == 0) {\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }\n        else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" (if "if") (parenthesized_expression "((uVar26 & 1) == 0)" (( "(") (binary_expression "(uVar26 & 1) == 0" (parenthesized_expression "(uVar26 & 1)" (( "(") (binary_expression "uVar26 & 1" (identifier "uVar26") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }\n        }" ({ "{") (if_statement "if (-1 < (int)uVar7) {\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }" (if "if") (parenthesized_expression "(-1 < (int)uVar7)" (( "(") (binary_expression "-1 < (int)uVar7" (number_literal "-1") (< "<") (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7"))) () ")")) (compound_statement "{\n            iVar17 = uVar26 - 3;\n            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;\n            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;\n            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;\n            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n            if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }\n          }" ({ "{") (expression_statement "iVar17 = uVar26 - 3;" (assignment_expression "iVar17 = uVar26 - 3" (identifier "iVar17") (= "=") (binary_expression "uVar26 - 3" (identifier "uVar26") (- "-") (number_literal "3"))) (; ";")) (expression_statement "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16;" (assignment_expression "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16" (identifier "uVar9") (= "=") (binary_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))\n                    ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))" (( "(") (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar16 & 0x1f)" (( "(") (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" (- "-") (identifier "uVar16")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]"))) (>> ">>") (parenthesized_expression "(uVar16 & 0x1f)" (( "(") (binary_expression "uVar16 & 0x1f" (identifier "uVar16") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar16"))) (; ";")) (expression_statement "uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9;" (assignment_expression "uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9" (identifier "uVar16") (= "=") (binary_expression "(uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^\n                     uVar9" (parenthesized_expression "(uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f))" (( "(") (binary_expression "uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)" (binary_expression "uVar16 - *puVar10 << (-uVar9 & 0x1f)" (binary_expression "uVar16 - *puVar10" (identifier "uVar16") (- "-") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (<< "<<") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar16 - *puVar10 >> (uVar9 & 0x1f)" (binary_expression "uVar16 - *puVar10" (identifier "uVar16") (- "-") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (>> ">>") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;" (assignment_expression "uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16" (identifier "uVar9") (= "=") (binary_expression "(uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f))" (( "(") (binary_expression "uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |\n                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-1]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[-1]" (identifier "puVar10") ([ "[") (number_literal "-1") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar16 & 0x1f)" (( "(") (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" (- "-") (identifier "uVar16")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar9 - puVar10[-1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-1]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[-1]" (identifier "puVar10") ([ "[") (number_literal "-1") (] "]"))) (>> ">>") (parenthesized_expression "(uVar16 & 0x1f)" (( "(") (binary_expression "uVar16 & 0x1f" (identifier "uVar16") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar16"))) (; ";")) (expression_statement "uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9" (identifier "uVar16") (= "=") (binary_expression "(uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f))" (( "(") (binary_expression "uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |\n                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar16 - puVar10[-2] << (-uVar9 & 0x1f)" (binary_expression "uVar16 - puVar10[-2]" (identifier "uVar16") (- "-") (subscript_expression "puVar10[-2]" (identifier "puVar10") ([ "[") (number_literal "-2") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar16 - puVar10[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar16 - puVar10[-2]" (identifier "uVar16") (- "-") (subscript_expression "puVar10[-2]" (identifier "puVar10") ([ "[") (number_literal "-2") (] "]"))) (>> ">>") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar9"))) (; ";")) (if_statement "if (-1 < iVar17) {\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }" (if "if") (parenthesized_expression "(-1 < iVar17)" (( "(") (binary_expression "-1 < iVar17" (number_literal "-1") (< "<") (identifier "iVar17")) () ")")) (compound_statement "{\n              puVar22 = puVar10 + -6;\n              if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }\n              do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);\n              uVar7 = puVar15[1];\n              goto LAB_00010500;\n            }" ({ "{") (expression_statement "puVar22 = puVar10 + -6;" (assignment_expression "puVar22 = puVar10 + -6" (identifier "puVar22") (= "=") (binary_expression "puVar10 + -6" (identifier "puVar10") (+ "+") (number_literal "-6"))) (; ";")) (if_statement "if ((int)(uVar7 * 0x40000000) < 0) {\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }" (if "if") (parenthesized_expression "((int)(uVar7 * 0x40000000) < 0)" (( "(") (binary_expression "(int)(uVar7 * 0x40000000) < 0" (cast_expression "(int)(uVar7 * 0x40000000)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar7 * 0x40000000)" (( "(") (binary_expression "uVar7 * 0x40000000" (identifier "uVar7") (* "*") (number_literal "0x40000000")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                iVar17 = uVar26 - 5;\n                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = uVar9 - puVar10[-6];\n                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar10 + -10;\n                if (iVar17 < 0) goto LAB_000104fc;\n              }" ({ "{") (expression_statement "iVar17 = uVar26 - 5;" (assignment_expression "iVar17 = uVar26 - 5" (identifier "iVar17") (= "=") (binary_expression "uVar26 - 5" (identifier "uVar26") (- "-") (number_literal "5"))) (; ";")) (expression_statement "uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;" (assignment_expression "uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16" (identifier "uVar7") (= "=") (binary_expression "(uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f))" (( "(") (binary_expression "uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-3] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-3]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[-3]" (identifier "puVar10") ([ "[") (number_literal "-3") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar16 & 0x1f)" (( "(") (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" (- "-") (identifier "uVar16")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar9 - puVar10[-3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[-3]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[-3]" (identifier "puVar10") ([ "[") (number_literal "-3") (] "]"))) (>> ">>") (parenthesized_expression "(uVar16 & 0x1f)" (( "(") (binary_expression "uVar16 & 0x1f" (identifier "uVar16") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar16"))) (; ";")) (expression_statement "uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7" (identifier "uVar9") (= "=") (binary_expression "(uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f))" (( "(") (binary_expression "uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar10[-4] << (-uVar7 & 0x1f)" (binary_expression "uVar16 - puVar10[-4]" (identifier "uVar16") (- "-") (subscript_expression "puVar10[-4]" (identifier "puVar10") ([ "[") (number_literal "-4") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar16 - puVar10[-4] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar10[-4]" (identifier "uVar16") (- "-") (subscript_expression "puVar10[-4]" (identifier "puVar10") ([ "[") (number_literal "-4") (] "]"))) (>> ">>") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar16 = uVar9 - puVar10[-6];" (assignment_expression "uVar16 = uVar9 - puVar10[-6]" (identifier "uVar16") (= "=") (binary_expression "uVar9 - puVar10[-6]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[-6]" (identifier "puVar10") ([ "[") (number_literal "-6") (] "]")))) (; ";")) (expression_statement "uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9" (identifier "uVar9") (= "=") (binary_expression "(uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f))" (( "(") (binary_expression "uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar10[-5] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar10[-5]" (identifier "uVar7") (- "-") (subscript_expression "puVar10[-5]" (identifier "puVar10") ([ "[") (number_literal "-5") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar7 - puVar10[-5] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar10[-5]" (identifier "uVar7") (- "-") (subscript_expression "puVar10[-5]" (identifier "puVar10") ([ "[") (number_literal "-5") (] "]"))) (>> ">>") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9" (identifier "uVar16") (= "=") (binary_expression "(uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f))" (( "(") (binary_expression "uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)" (binary_expression "uVar16 << (-uVar9 & 0x1f)" (identifier "uVar16") (<< "<<") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar16 >> (uVar9 & 0x1f)" (identifier "uVar16") (>> ">>") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "puVar22 = puVar10 + -10;" (assignment_expression "puVar22 = puVar10 + -10" (identifier "puVar22") (= "=") (binary_expression "puVar10 + -10" (identifier "puVar10") (+ "+") (number_literal "-10"))) (; ";")) (if_statement "if (iVar17 < 0) goto LAB_000104fc;" (if "if") (parenthesized_expression "(iVar17 < 0)" (( "(") (binary_expression "iVar17 < 0" (identifier "iVar17") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_000104fc;" (goto "goto") (statement_identifier "LAB_000104fc") (; ";"))) (} "}"))) (do_statement "do {\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              } while (-1 < iVar17);" (do "do") (compound_statement "{\n                iVar17 = iVar17 + -4;\n                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;\n                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;\n                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;\n                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;\n                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;\n                puVar22 = puVar22 + -8;\n              }" ({ "{") (expression_statement "iVar17 = iVar17 + -4;" (assignment_expression "iVar17 = iVar17 + -4" (identifier "iVar17") (= "=") (binary_expression "iVar17 + -4" (identifier "iVar17") (+ "+") (number_literal "-4"))) (; ";")) (expression_statement "uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;" (assignment_expression "uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16" (identifier "uVar7") (= "=") (binary_expression "(uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16" (parenthesized_expression "(uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f))" (( "(") (binary_expression "uVar9 - puVar22[3] << (-uVar16 & 0x1f) |\n                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar22[3] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar22[3]" (identifier "uVar9") (- "-") (subscript_expression "puVar22[3]" (identifier "puVar22") ([ "[") (number_literal "3") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar16 & 0x1f)" (( "(") (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" (- "-") (identifier "uVar16")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar9 - puVar22[3] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar22[3]" (identifier "uVar9") (- "-") (subscript_expression "puVar22[3]" (identifier "puVar22") ([ "[") (number_literal "3") (] "]"))) (>> ">>") (parenthesized_expression "(uVar16 & 0x1f)" (( "(") (binary_expression "uVar16 & 0x1f" (identifier "uVar16") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar16"))) (; ";")) (expression_statement "uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7" (identifier "uVar9") (= "=") (binary_expression "(uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f))" (( "(") (binary_expression "uVar16 - puVar22[2] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[2] << (-uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[2]" (identifier "uVar16") (- "-") (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar16 - puVar22[2] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[2]" (identifier "uVar16") (- "-") (subscript_expression "puVar22[2]" (identifier "puVar22") ([ "[") (number_literal "2") (] "]"))) (>> ">>") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9" (identifier "uVar16") (= "=") (binary_expression "(uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f))" (( "(") (binary_expression "uVar7 - puVar22[1] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[1] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[1]" (identifier "uVar7") (- "-") (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar7 - puVar22[1] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[1]" (identifier "uVar7") (- "-") (subscript_expression "puVar22[1]" (identifier "puVar22") ([ "[") (number_literal "1") (] "]"))) (>> ">>") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16;" (assignment_expression "uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16" (identifier "uVar7") (= "=") (binary_expression "(uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))\n                        ^ uVar16" (parenthesized_expression "(uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))" (( "(") (binary_expression "uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f)" (binary_expression "uVar9 - *puVar22 << (-uVar16 & 0x1f)" (binary_expression "uVar9 - *puVar22" (identifier "uVar9") (- "-") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) (<< "<<") (parenthesized_expression "(-uVar16 & 0x1f)" (( "(") (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" (- "-") (identifier "uVar16")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar9 - *puVar22 >> (uVar16 & 0x1f)" (binary_expression "uVar9 - *puVar22" (identifier "uVar9") (- "-") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) (>> ">>") (parenthesized_expression "(uVar16 & 0x1f)" (( "(") (binary_expression "uVar16 & 0x1f" (identifier "uVar16") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar16"))) (; ";")) (expression_statement "uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7" (identifier "uVar9") (= "=") (binary_expression "(uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f))" (( "(") (binary_expression "uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |\n                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[-1] << (-uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[-1]" (identifier "uVar16") (- "-") (subscript_expression "puVar22[-1]" (identifier "puVar22") ([ "[") (number_literal "-1") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar16 - puVar22[-1] >> (uVar7 & 0x1f)" (binary_expression "uVar16 - puVar22[-1]" (identifier "uVar16") (- "-") (subscript_expression "puVar22[-1]" (identifier "puVar22") ([ "[") (number_literal "-1") (] "]"))) (>> ">>") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9" (identifier "uVar7") (= "=") (binary_expression "(uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f))" (( "(") (binary_expression "uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |\n                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-2] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-2]" (identifier "uVar7") (- "-") (subscript_expression "puVar22[-2]" (identifier "puVar22") ([ "[") (number_literal "-2") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar7 - puVar22[-2] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-2]" (identifier "uVar7") (- "-") (subscript_expression "puVar22[-2]" (identifier "puVar22") ([ "[") (number_literal "-2") (] "]"))) (>> ">>") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;" (assignment_expression "uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7" (identifier "uVar9") (= "=") (binary_expression "(uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7" (parenthesized_expression "(uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f))" (( "(") (binary_expression "uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |\n                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)" (binary_expression "uVar9 - puVar22[-3] << (-uVar7 & 0x1f)" (binary_expression "uVar9 - puVar22[-3]" (identifier "uVar9") (- "-") (subscript_expression "puVar22[-3]" (identifier "puVar22") ([ "[") (number_literal "-3") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar7 & 0x1f)" (( "(") (binary_expression "-uVar7 & 0x1f" (unary_expression "-uVar7" (- "-") (identifier "uVar7")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar9 - puVar22[-3] >> (uVar7 & 0x1f)" (binary_expression "uVar9 - puVar22[-3]" (identifier "uVar9") (- "-") (subscript_expression "puVar22[-3]" (identifier "puVar22") ([ "[") (number_literal "-3") (] "]"))) (>> ">>") (parenthesized_expression "(uVar7 & 0x1f)" (( "(") (binary_expression "uVar7 & 0x1f" (identifier "uVar7") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar7"))) (; ";")) (expression_statement "uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9" (identifier "uVar16") (= "=") (binary_expression "(uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f))" (( "(") (binary_expression "uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |\n                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-4] << (-uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-4]" (identifier "uVar7") (- "-") (subscript_expression "puVar22[-4]" (identifier "puVar22") ([ "[") (number_literal "-4") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar7 - puVar22[-4] >> (uVar9 & 0x1f)" (binary_expression "uVar7 - puVar22[-4]" (identifier "uVar7") (- "-") (subscript_expression "puVar22[-4]" (identifier "puVar22") ([ "[") (number_literal "-4") (] "]"))) (>> ">>") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "puVar22 = puVar22 + -8;" (assignment_expression "puVar22 = puVar22 + -8" (identifier "puVar22") (= "=") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(-1 < iVar17)" (( "(") (binary_expression "-1 < iVar17" (number_literal "-1") (< "<") (identifier "iVar17")) () ")")) (; ";")) (expression_statement "uVar7 = puVar15[1];" (assignment_expression "uVar7 = puVar15[1]" (identifier "uVar7") (= "=") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]"))) (; ";")) (goto_statement "goto LAB_00010500;" (goto "goto") (statement_identifier "LAB_00010500") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" (else "else") (if_statement "if (-1 < (int)uVar7) {\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" (if "if") (parenthesized_expression "(-1 < (int)uVar7)" (( "(") (binary_expression "-1 < (int)uVar7" (number_literal "-1") (< "<") (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7"))) () ")")) (compound_statement "{\n          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;\n          puVar22 = puVar10 + -2;\n          uVar8 = uVar16 - *puVar10;\n          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;\n          uVar7 = uVar26;\n          while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }\n        }" ({ "{") (if_statement "if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;" (if "if") (parenthesized_expression "((int)(uVar7 * -0x80000000) < 0)" (( "(") (binary_expression "(int)(uVar7 * -0x80000000) < 0" (cast_expression "(int)(uVar7 * -0x80000000)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar7 * -0x80000000)" (( "(") (binary_expression "uVar7 * -0x80000000" (identifier "uVar7") (* "*") (number_literal "-0x80000000")) () ")"))) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_00010480;" (goto "goto") (statement_identifier "LAB_00010480") (; ";"))) (expression_statement "puVar22 = puVar10 + -2;" (assignment_expression "puVar22 = puVar10 + -2" (identifier "puVar22") (= "=") (binary_expression "puVar10 + -2" (identifier "puVar10") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "uVar8 = uVar16 - *puVar10;" (assignment_expression "uVar8 = uVar16 - *puVar10" (identifier "uVar8") (= "=") (binary_expression "uVar16 - *puVar10" (identifier "uVar16") (- "-") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (expression_statement "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16;" (assignment_expression "uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16" (identifier "uVar9") (= "=") (binary_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^\n                  uVar16" (parenthesized_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))" (( "(") (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar16 & 0x1f)" (( "(") (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" (- "-") (identifier "uVar16")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]"))) (>> ">>") (parenthesized_expression "(uVar16 & 0x1f)" (( "(") (binary_expression "uVar16 & 0x1f" (identifier "uVar16") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar16"))) (; ";")) (expression_statement "uVar7 = uVar26;" (assignment_expression "uVar7 = uVar26" (identifier "uVar7") (= "=") (identifier "uVar26")) (; ";")) (while_statement "while( true ) {\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            uVar7 = uVar7 - 2;\n            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;\n            puVar10 = puVar22;\n            if (uVar7 == 0xffffffff) break;\nLAB_00010480:\n            puVar22 = puVar10 + -4;\n            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;\n            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;\n            uVar8 = uVar9 - puVar10[-2];\n            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;\n          }" ({ "{") (expression_statement "uVar7 = uVar7 - 2;" (assignment_expression "uVar7 = uVar7 - 2" (identifier "uVar7") (= "=") (binary_expression "uVar7 - 2" (identifier "uVar7") (- "-") (number_literal "2"))) (; ";")) (expression_statement "uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9" (identifier "uVar16") (= "=") (binary_expression "(uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f))" (( "(") (binary_expression "uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)" (binary_expression "uVar8 << (-uVar9 & 0x1f)" (identifier "uVar8") (<< "<<") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar8 >> (uVar9 & 0x1f)" (identifier "uVar8") (>> ">>") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar9"))) (; ";")) (expression_statement "puVar10 = puVar22;" (assignment_expression "puVar10 = puVar22" (identifier "puVar10") (= "=") (identifier "puVar22")) (; ";")) (if_statement "if (uVar7 == 0xffffffff) break;" (if "if") (parenthesized_expression "(uVar7 == 0xffffffff)" (( "(") (binary_expression "uVar7 == 0xffffffff" (identifier "uVar7") (== "==") (number_literal "0xffffffff")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_00010480:\n            puVar22 = puVar10 + -4;" (statement_identifier "LAB_00010480") (: ":") (expression_statement "puVar22 = puVar10 + -4;" (assignment_expression "puVar22 = puVar10 + -4" (identifier "puVar22") (= "=") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4"))) (; ";"))) (expression_statement "uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16;" (assignment_expression "uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16" (identifier "uVar26") (= "=") (binary_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     ) ^ uVar16" (parenthesized_expression "(uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)\n                     )" (( "(") (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1] << (-uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar16 & 0x1f)" (( "(") (binary_expression "-uVar16 & 0x1f" (unary_expression "-uVar16" (- "-") (identifier "uVar16")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar9 - puVar10[1] >> (uVar16 & 0x1f)" (binary_expression "uVar9 - puVar10[1]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]"))) (>> ">>") (parenthesized_expression "(uVar16 & 0x1f)" (( "(") (binary_expression "uVar16 & 0x1f" (identifier "uVar16") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar16"))) (; ";")) (expression_statement "uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26;" (assignment_expression "uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26" (identifier "uVar9") (= "=") (binary_expression "(uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^\n                    uVar26" (parenthesized_expression "(uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f))" (( "(") (binary_expression "uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)" (binary_expression "uVar16 - *puVar10 << (-uVar26 & 0x1f)" (binary_expression "uVar16 - *puVar10" (identifier "uVar16") (- "-") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (<< "<<") (parenthesized_expression "(-uVar26 & 0x1f)" (( "(") (binary_expression "-uVar26 & 0x1f" (unary_expression "-uVar26" (- "-") (identifier "uVar26")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar16 - *puVar10 >> (uVar26 & 0x1f)" (binary_expression "uVar16 - *puVar10" (identifier "uVar16") (- "-") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (>> ">>") (parenthesized_expression "(uVar26 & 0x1f)" (( "(") (binary_expression "uVar26 & 0x1f" (identifier "uVar26") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar26"))) (; ";")) (expression_statement "uVar8 = uVar9 - puVar10[-2];" (assignment_expression "uVar8 = uVar9 - puVar10[-2]" (identifier "uVar8") (= "=") (binary_expression "uVar9 - puVar10[-2]" (identifier "uVar9") (- "-") (subscript_expression "puVar10[-2]" (identifier "puVar10") ([ "[") (number_literal "-2") (] "]")))) (; ";")) (expression_statement "uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;" (assignment_expression "uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9" (identifier "uVar9") (= "=") (binary_expression "(uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9" (parenthesized_expression "(uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f))" (( "(") (binary_expression "uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |\n                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)" (binary_expression "uVar26 - puVar10[-1] << (-uVar9 & 0x1f)" (binary_expression "uVar26 - puVar10[-1]" (identifier "uVar26") (- "-") (subscript_expression "puVar10[-1]" (identifier "puVar10") ([ "[") (number_literal "-1") (] "]"))) (<< "<<") (parenthesized_expression "(-uVar9 & 0x1f)" (( "(") (binary_expression "-uVar9 & 0x1f" (unary_expression "-uVar9" (- "-") (identifier "uVar9")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar26 - puVar10[-1] >> (uVar9 & 0x1f)" (binary_expression "uVar26 - puVar10[-1]" (identifier "uVar26") (- "-") (subscript_expression "puVar10[-1]" (identifier "puVar10") ([ "[") (number_literal "-1") (] "]"))) (>> ">>") (parenthesized_expression "(uVar9 & 0x1f)" (( "(") (binary_expression "uVar9 & 0x1f" (identifier "uVar9") (& "&") (number_literal "0x1f")) () ")")))) () ")")) (^ "^") (identifier "uVar9"))) (; ";")) (} "}"))) (} "}"))))) (labeled_statement "LAB_000104fc:\n        uVar7 = puVar15[1];" (statement_identifier "LAB_000104fc") (: ":") (expression_statement "uVar7 = puVar15[1];" (assignment_expression "uVar7 = puVar15[1]" (identifier "uVar7") (= "=") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (labeled_statement "LAB_00010500:\n        iVar17 = uVar16 - uVar7;" (statement_identifier "LAB_00010500") (: ":") (expression_statement "iVar17 = uVar16 - uVar7;" (assignment_expression "iVar17 = uVar16 - uVar7" (identifier "iVar17") (= "=") (binary_expression "uVar16 - uVar7" (identifier "uVar16") (- "-") (identifier "uVar7"))) (; ";"))) (expression_statement "iVar27 = uVar9 - puVar15[2];" (assignment_expression "iVar27 = uVar9 - puVar15[2]" (identifier "iVar27") (= "=") (binary_expression "uVar9 - puVar15[2]" (identifier "uVar9") (- "-") (subscript_expression "puVar15[2]" (identifier "puVar15") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "*in_t8 = (char)iVar17;" (assignment_expression "*in_t8 = (char)iVar17" (pointer_expression "*in_t8" (* "*") (identifier "in_t8")) (= "=") (cast_expression "(char)iVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar17"))) (; ";")) (expression_statement "in_t8[4] = (char)iVar27;" (assignment_expression "in_t8[4] = (char)iVar27" (subscript_expression "in_t8[4]" (identifier "in_t8") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(char)iVar27" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar27"))) (; ";")) (expression_statement "in_t8[3] = (char)((uint)iVar17 >> 0x18);" (assignment_expression "in_t8[3] = (char)((uint)iVar17 >> 0x18)" (subscript_expression "in_t8[3]" (identifier "in_t8") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(char)((uint)iVar17 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar17 >> 0x18)" (( "(") (binary_expression "(uint)iVar17 >> 0x18" (cast_expression "(uint)iVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar17")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "in_t8[7] = (char)((uint)iVar27 >> 0x18);" (assignment_expression "in_t8[7] = (char)((uint)iVar27 >> 0x18)" (subscript_expression "in_t8[7]" (identifier "in_t8") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(char)((uint)iVar27 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar27 >> 0x18)" (( "(") (binary_expression "(uint)iVar27 >> 0x18" (cast_expression "(uint)iVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar27")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "in_t8[6] = (char)((uint)iVar27 >> 0x10);" (assignment_expression "in_t8[6] = (char)((uint)iVar27 >> 0x10)" (subscript_expression "in_t8[6]" (identifier "in_t8") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(char)((uint)iVar27 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar27 >> 0x10)" (( "(") (binary_expression "(uint)iVar27 >> 0x10" (cast_expression "(uint)iVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar27")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "in_t8[5] = (char)((uint)iVar27 >> 8);" (assignment_expression "in_t8[5] = (char)((uint)iVar27 >> 8)" (subscript_expression "in_t8[5]" (identifier "in_t8") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(char)((uint)iVar27 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar27 >> 8)" (( "(") (binary_expression "(uint)iVar27 >> 8" (cast_expression "(uint)iVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar27")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "in_t8[2] = (char)((uint)iVar17 >> 0x10);" (assignment_expression "in_t8[2] = (char)((uint)iVar17 >> 0x10)" (subscript_expression "in_t8[2]" (identifier "in_t8") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(char)((uint)iVar17 >> 0x10)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar17 >> 0x10)" (( "(") (binary_expression "(uint)iVar17 >> 0x10" (cast_expression "(uint)iVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar17")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "in_t8[1] = (char)((uint)iVar17 >> 8);" (assignment_expression "in_t8[1] = (char)((uint)iVar17 >> 8)" (subscript_expression "in_t8[1]" (identifier "in_t8") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(char)((uint)iVar17 >> 8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar17 >> 8)" (( "(") (binary_expression "(uint)iVar17 >> 8" (cast_expression "(uint)iVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar17")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (goto_statement "goto LAB_00010768;" (goto "goto") (statement_identifier "LAB_00010768") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar17 = 0xbe;" (assignment_expression "iVar17 = 0xbe" (identifier "iVar17") (= "=") (number_literal "0xbe")) (; ";")) (expression_statement "pbVar11 = (byte *)0x0;" (assignment_expression "pbVar11 = (byte *)0x0" (identifier "pbVar11") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar23 = __mips_gp0_value;" (assignment_expression "pcVar23 = __mips_gp0_value" (identifier "pcVar23") (= "=") (identifier "__mips_gp0_value")) (; ";")) (expression_statement "local_54 = *(code **)__mips_gp0_value;" (assignment_expression "local_54 = *(code **)__mips_gp0_value" (identifier "local_54") (= "=") (pointer_expression "*(code **)__mips_gp0_value" (* "*") (cast_expression "(code **)__mips_gp0_value" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "__mips_gp0_value")))) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_4 == (int *)0x0) goto LAB_00010bc8;" (if "if") (parenthesized_expression "(param_4 == (int *)0x0)" (( "(") (binary_expression "param_4 == (int *)0x0" (identifier "param_4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00010bc8;" (goto "goto") (statement_identifier "LAB_00010bc8") (; ";"))) (expression_statement "pcVar25 = __mips_gp0_value;" (assignment_expression "pcVar25 = __mips_gp0_value" (identifier "pcVar25") (= "=") (identifier "__mips_gp0_value")) (; ";")) (if_statement "if (pbVar11 != (byte *)0x0) {\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }" (if "if") (parenthesized_expression "(pbVar11 != (byte *)0x0)" (( "(") (binary_expression "pbVar11 != (byte *)0x0" (identifier "pbVar11") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }\n    unaff_s0 = local_54;\n    pcVar23 = *(code **)pcVar23;\n    if (local_54 == pcVar23) {\n      return iVar27;\n    }\n    pcVar25 = __mips_gp0_value;\n    (*__mips_gp0_value)();\n  }" ({ "{") (if_statement "if (iVar17 == 0) {\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }\n    else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }" (if "if") (parenthesized_expression "(iVar17 == 0)" (( "(") (binary_expression "iVar17 == 0" (identifier "iVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar17 = 0xc;\nLAB_00010814:\n      puVar10 = (uint *)0x1;\n      if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }\n    }" ({ "{") (expression_statement "iVar17 = 0xc;" (assignment_expression "iVar17 = 0xc" (identifier "iVar17") (= "=") (number_literal "0xc")) (; ";")) (labeled_statement "LAB_00010814:\n      puVar10 = (uint *)0x1;" (statement_identifier "LAB_00010814") (: ":") (expression_statement "puVar10 = (uint *)0x1;" (assignment_expression "puVar10 = (uint *)0x1" (identifier "puVar10") (= "=") (cast_expression "(uint *)0x1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";"))) (if_statement "if (in_t0 + -2 < (uint *)0x79) {\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }\n      else {\n        iVar27 = 3;\n      }" (if "if") (parenthesized_expression "(in_t0 + -2 < (uint *)0x79)" (( "(") (binary_expression "in_t0 + -2 < (uint *)0x79" (binary_expression "in_t0 + -2" (identifier "in_t0") (+ "+") (number_literal "-2")) (< "<") (cast_expression "(uint *)0x79" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x79"))) () ")")) (compound_statement "{\n        *param_4 = iVar17;\n        uVar7 = (uint)*pbVar11;\n        pbVar12 = pbVar11 + 1;\n        uVar16 = (int)in_t0 - 1U & 3;\n        uVar9 = 0;\n        if (uVar16 == 0) goto LAB_000108e4;\n        if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }\n        puVar10 = (uint *)((int)puVar10 + 1);\n        uVar8 = uVar7 << 8;\n        uVar26 = *pbVar12 | uVar8;\n        uVar16 = uVar9;\n        if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }\n        pbVar12 = pbVar12 + 1;\n        uVar7 = uVar26;\n        uVar9 = uVar16;\n        while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }\n        uVar16 = uVar9;\n        if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }\n        uVar9 = (iVar17 + 1) * 2;\n        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);\n        uVar7 = uVar9;\n        if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }\n        uVar7 = uVar7 * 3;\n        if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }\nLAB_00010b84:\n        iVar27 = 0;\n      }" ({ "{") (expression_statement "*param_4 = iVar17;" (assignment_expression "*param_4 = iVar17" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "iVar17")) (; ";")) (expression_statement "uVar7 = (uint)*pbVar11;" (assignment_expression "uVar7 = (uint)*pbVar11" (identifier "uVar7") (= "=") (binary_expression "(uint)*pbVar11" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar11"))) (; ";")) (expression_statement "pbVar12 = pbVar11 + 1;" (assignment_expression "pbVar12 = pbVar11 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar11 + 1" (identifier "pbVar11") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar16 = (int)in_t0 - 1U & 3;" (assignment_expression "uVar16 = (int)in_t0 - 1U & 3" (identifier "uVar16") (= "=") (binary_expression "(int)in_t0 - 1U & 3" (binary_expression "(int)in_t0 - 1U" (cast_expression "(int)in_t0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "in_t0")) (- "-") (number_literal "1U")) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar16 == 0) goto LAB_000108e4;" (if "if") (parenthesized_expression "(uVar16 == 0)" (( "(") (binary_expression "uVar16 == 0" (identifier "uVar16") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000108e4;" (goto "goto") (statement_identifier "LAB_000108e4") (; ";"))) (if_statement "if (uVar16 != 1) {\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }" (if "if") (parenthesized_expression "(uVar16 != 1)" (( "(") (binary_expression "uVar16 != 1" (identifier "uVar16") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n          puVar10 = (uint *)0x2;\n          uVar9 = uVar7;\n          if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }\n          uVar7 = (uint)*pbVar12 | uVar9 << 8;\n          if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }\n          uVar9 = (uint)(puVar10 == (uint *)0x0);\n          pbVar12 = pbVar12 + 1;\n        }" ({ "{") (expression_statement "puVar10 = (uint *)0x2;" (assignment_expression "puVar10 = (uint *)0x2" (identifier "puVar10") (= "=") (cast_expression "(uint *)0x2" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "uVar9 = uVar7;" (assignment_expression "uVar9 = uVar7" (identifier "uVar9") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (uVar16 != 2) {\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }" (if "if") (parenthesized_expression "(uVar16 != 2)" (( "(") (binary_expression "uVar16 != 2" (identifier "uVar16") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n            bVar6 = *pbVar12;\n            pbVar12 = pbVar11 + 2;\n            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);\n            puVar10 = (uint *)0x3;\n          }" ({ "{") (expression_statement "bVar6 = *pbVar12;" (assignment_expression "bVar6 = *pbVar12" (identifier "bVar6") (= "=") (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12"))) (; ";")) (expression_statement "pbVar12 = pbVar11 + 2;" (assignment_expression "pbVar12 = pbVar11 + 2" (identifier "pbVar12") (= "=") (binary_expression "pbVar11 + 2" (identifier "pbVar11") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar9 = (uint)CONCAT11(*pbVar11,bVar6);" (assignment_expression "uVar9 = (uint)CONCAT11(*pbVar11,bVar6)" (identifier "uVar9") (= "=") (cast_expression "(uint)CONCAT11(*pbVar11,bVar6)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CONCAT11(*pbVar11,bVar6)" (identifier "CONCAT11") (argument_list "(*pbVar11,bVar6)" (( "(") (pointer_expression "*pbVar11" (* "*") (identifier "pbVar11")) (, ",") (identifier "bVar6") () ")"))))) (; ";")) (expression_statement "puVar10 = (uint *)0x3;" (assignment_expression "puVar10 = (uint *)0x3" (identifier "puVar10") (= "=") (cast_expression "(uint *)0x3" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (} "}"))) (expression_statement "uVar7 = (uint)*pbVar12 | uVar9 << 8;" (assignment_expression "uVar7 = (uint)*pbVar12 | uVar9 << 8" (identifier "uVar7") (= "=") (binary_expression "(uint)*pbVar12 | uVar9 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar12")) (| "|") (binary_expression "uVar9 << 8" (identifier "uVar9") (<< "<<") (number_literal "8")))) (; ";")) (if_statement "if (puVar10 == (uint *)0x0) {\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }" (if "if") (parenthesized_expression "(puVar10 == (uint *)0x0)" (( "(") (binary_expression "puVar10 == (uint *)0x0" (identifier "puVar10") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;\n            uVar7 = 0;\n          }" ({ "{") (expression_statement "local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;" (assignment_expression "local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000" (subscript_expression "local_154[0]" (identifier "local_154") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +\n                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10)" (( "(") (binary_expression "(((uVar9 << 8) >> 0x10) << 0x18) >> 0x10" (parenthesized_expression "(((uVar9 << 8) >> 0x10) << 0x18)" (( "(") (binary_expression "((uVar9 << 8) >> 0x10) << 0x18" (parenthesized_expression "((uVar9 << 8) >> 0x10)" (( "(") (binary_expression "(uVar9 << 8) >> 0x10" (parenthesized_expression "(uVar9 << 8)" (( "(") (binary_expression "uVar9 << 8" (identifier "uVar9") (<< "<<") (number_literal "8")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "((uint)*pbVar12 << 8 | uVar9 & 0xff)" (( "(") (binary_expression "(uint)*pbVar12 << 8 | uVar9 & 0xff" (binary_expression "(uint)*pbVar12 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar12")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar9 = (uint)(puVar10 == (uint *)0x0);" (assignment_expression "uVar9 = (uint)(puVar10 == (uint *)0x0)" (identifier "uVar9") (= "=") (call_expression "(uint)(puVar10 == (uint *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar10 == (uint *)0x0)" (( "(") (binary_expression "puVar10 == (uint *)0x0" (identifier "puVar10") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")))) (; ";")) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 1" (identifier "pbVar12") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "puVar10 = (uint *)((int)puVar10 + 1);" (assignment_expression "puVar10 = (uint *)((int)puVar10 + 1)" (identifier "puVar10") (= "=") (cast_expression "(uint *)((int)puVar10 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar10 + 1)" (( "(") (binary_expression "(int)puVar10 + 1" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar8 = uVar7 << 8;" (assignment_expression "uVar8 = uVar7 << 8" (identifier "uVar8") (= "=") (binary_expression "uVar7 << 8" (identifier "uVar7") (<< "<<") (number_literal "8"))) (; ";")) (expression_statement "uVar26 = *pbVar12 | uVar8;" (assignment_expression "uVar26 = *pbVar12 | uVar8" (identifier "uVar26") (= "=") (binary_expression "*pbVar12 | uVar8" (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")) (| "|") (identifier "uVar8"))) (; ";")) (expression_statement "uVar16 = uVar9;" (assignment_expression "uVar16 = uVar9" (identifier "uVar16") (= "=") (identifier "uVar9")) (; ";")) (if_statement "if (((uint)puVar10 & 3) == 0) {\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }" (if "if") (parenthesized_expression "(((uint)puVar10 & 3) == 0)" (( "(") (binary_expression "((uint)puVar10 & 3) == 0" (parenthesized_expression "((uint)puVar10 & 3)" (( "(") (binary_expression "(uint)puVar10 & 3" (cast_expression "(uint)puVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar10")) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar16 = uVar9 + 1;\n          uVar26 = 0;\n          local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n        }" ({ "{") (expression_statement "uVar16 = uVar9 + 1;" (assignment_expression "uVar16 = uVar9 + 1" (identifier "uVar16") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar9] =\n               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (subscript_expression "local_154[uVar9]" (identifier "local_154") ([ "[") (identifier "uVar9") (] "]")) (= "=") (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" (( "(") (binary_expression "uVar8 >> 0x10" (identifier "uVar8") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" (( "(") (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff)" (( "(") (binary_expression "(uint)*pbVar12 << 8 | uVar7 & 0xff" (binary_expression "(uint)*pbVar12 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar12")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (} "}"))) (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 1" (identifier "pbVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = uVar26;" (assignment_expression "uVar7 = uVar26" (identifier "uVar7") (= "=") (identifier "uVar26")) (; ";")) (expression_statement "uVar9 = uVar16;" (assignment_expression "uVar9 = uVar16" (identifier "uVar9") (= "=") (identifier "uVar16")) (; ";")) (while_statement "while (in_t0 != puVar10) {\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }" (while "while") (parenthesized_expression "(in_t0 != puVar10)" (( "(") (binary_expression "in_t0 != puVar10" (identifier "in_t0") (!= "!=") (identifier "puVar10")) () ")")) (compound_statement "{\nLAB_000108e4:\n          uVar26 = uVar7 << 8;\n          uVar8 = *pbVar12 | uVar26;\n          uVar16 = uVar9;\n          if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }\n          uVar26 = uVar8 << 8;\n          uVar9 = pbVar12[1] | uVar26;\n          uVar7 = uVar16;\n          if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }\n          uVar8 = uVar9 << 8;\n          uVar26 = pbVar12[2] | uVar8;\n          uVar16 = uVar7;\n          if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }\n          puVar10 = puVar10 + 1;\n          uVar8 = uVar26 << 8;\n          uVar7 = pbVar12[3] | uVar8;\n          uVar9 = uVar16;\n          if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }\n          pbVar12 = pbVar12 + 4;\n        }" ({ "{") (labeled_statement "LAB_000108e4:\n          uVar26 = uVar7 << 8;" (statement_identifier "LAB_000108e4") (: ":") (expression_statement "uVar26 = uVar7 << 8;" (assignment_expression "uVar26 = uVar7 << 8" (identifier "uVar26") (= "=") (binary_expression "uVar7 << 8" (identifier "uVar7") (<< "<<") (number_literal "8"))) (; ";"))) (expression_statement "uVar8 = *pbVar12 | uVar26;" (assignment_expression "uVar8 = *pbVar12 | uVar26" (identifier "uVar8") (= "=") (binary_expression "*pbVar12 | uVar26" (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")) (| "|") (identifier "uVar26"))) (; ";")) (expression_statement "uVar16 = uVar9;" (assignment_expression "uVar16 = uVar9" (identifier "uVar16") (= "=") (identifier "uVar9")) (; ";")) (if_statement "if (((int)puVar10 + 1U & 3) == 0) {\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }" (if "if") (parenthesized_expression "(((int)puVar10 + 1U & 3) == 0)" (( "(") (binary_expression "((int)puVar10 + 1U & 3) == 0" (parenthesized_expression "((int)puVar10 + 1U & 3)" (( "(") (binary_expression "(int)puVar10 + 1U & 3" (binary_expression "(int)puVar10 + 1U" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (+ "+") (number_literal "1U")) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar16 = uVar9 + 1;\n            uVar8 = 0;\n            local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;\n          }" ({ "{") (expression_statement "uVar16 = uVar9 + 1;" (assignment_expression "uVar16 = uVar9 + 1" (identifier "uVar16") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar9] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (subscript_expression "local_154[uVar9]" (identifier "local_154") ([ "[") (identifier "uVar9") (] "]")) (= "=") (binary_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10" (binary_expression "(uVar26 >> 0x10) << 0x18" (parenthesized_expression "(uVar26 >> 0x10)" (( "(") (binary_expression "uVar26 >> 0x10" (identifier "uVar26") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar26 >> 0x18) << 0x10" (parenthesized_expression "(uVar26 >> 0x18)" (( "(") (binary_expression "uVar26 >> 0x18" (identifier "uVar26") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000" (parenthesized_expression "((uint)*pbVar12 << 8 | uVar7 & 0xff)" (( "(") (binary_expression "(uint)*pbVar12 << 8 | uVar7 & 0xff" (binary_expression "(uint)*pbVar12 << 8" (binary_expression "(uint)*pbVar12" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar12")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (} "}"))) (expression_statement "uVar26 = uVar8 << 8;" (assignment_expression "uVar26 = uVar8 << 8" (identifier "uVar26") (= "=") (binary_expression "uVar8 << 8" (identifier "uVar8") (<< "<<") (number_literal "8"))) (; ";")) (expression_statement "uVar9 = pbVar12[1] | uVar26;" (assignment_expression "uVar9 = pbVar12[1] | uVar26" (identifier "uVar9") (= "=") (binary_expression "pbVar12[1] | uVar26" (subscript_expression "pbVar12[1]" (identifier "pbVar12") ([ "[") (number_literal "1") (] "]")) (| "|") (identifier "uVar26"))) (; ";")) (expression_statement "uVar7 = uVar16;" (assignment_expression "uVar7 = uVar16" (identifier "uVar7") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (((int)puVar10 + 2U & 3) == 0) {\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }" (if "if") (parenthesized_expression "(((int)puVar10 + 2U & 3) == 0)" (( "(") (binary_expression "((int)puVar10 + 2U & 3) == 0" (parenthesized_expression "((int)puVar10 + 2U & 3)" (( "(") (binary_expression "(int)puVar10 + 2U & 3" (binary_expression "(int)puVar10 + 2U" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (+ "+") (number_literal "2U")) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar7 = uVar16 + 1;\n            uVar9 = 0;\n            local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;\n          }" ({ "{") (expression_statement "uVar7 = uVar16 + 1;" (assignment_expression "uVar7 = uVar16 + 1" (identifier "uVar7") (= "=") (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar16] =\n                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000" (subscript_expression "local_154[uVar16]" (identifier "local_154") ([ "[") (identifier "uVar16") (] "]")) (= "=") (binary_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10" (binary_expression "(uVar26 >> 0x10) << 0x18" (parenthesized_expression "(uVar26 >> 0x10)" (( "(") (binary_expression "uVar26 >> 0x10" (identifier "uVar26") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar26 >> 0x18) << 0x10" (parenthesized_expression "(uVar26 >> 0x18)" (( "(") (binary_expression "uVar26 >> 0x18" (identifier "uVar26") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000" (parenthesized_expression "((uint)pbVar12[1] << 8 | uVar8 & 0xff)" (( "(") (binary_expression "(uint)pbVar12[1] << 8 | uVar8 & 0xff" (binary_expression "(uint)pbVar12[1] << 8" (cast_expression "(uint)pbVar12[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar12[1]" (identifier "pbVar12") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (} "}"))) (expression_statement "uVar8 = uVar9 << 8;" (assignment_expression "uVar8 = uVar9 << 8" (identifier "uVar8") (= "=") (binary_expression "uVar9 << 8" (identifier "uVar9") (<< "<<") (number_literal "8"))) (; ";")) (expression_statement "uVar26 = pbVar12[2] | uVar8;" (assignment_expression "uVar26 = pbVar12[2] | uVar8" (identifier "uVar26") (= "=") (binary_expression "pbVar12[2] | uVar8" (subscript_expression "pbVar12[2]" (identifier "pbVar12") ([ "[") (number_literal "2") (] "]")) (| "|") (identifier "uVar8"))) (; ";")) (expression_statement "uVar16 = uVar7;" (assignment_expression "uVar16 = uVar7" (identifier "uVar16") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (((int)puVar10 + 3U & 3) == 0) {\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }" (if "if") (parenthesized_expression "(((int)puVar10 + 3U & 3) == 0)" (( "(") (binary_expression "((int)puVar10 + 3U & 3) == 0" (parenthesized_expression "((int)puVar10 + 3U & 3)" (( "(") (binary_expression "(int)puVar10 + 3U & 3" (binary_expression "(int)puVar10 + 3U" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (+ "+") (number_literal "3U")) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar16 = uVar7 + 1;\n            uVar26 = 0;\n            local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;\n          }" ({ "{") (expression_statement "uVar16 = uVar7 + 1;" (assignment_expression "uVar16 = uVar7 + 1" (identifier "uVar16") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar7] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000" (subscript_expression "local_154[uVar7]" (identifier "local_154") ([ "[") (identifier "uVar7") (] "]")) (= "=") (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" (( "(") (binary_expression "uVar8 >> 0x10" (identifier "uVar8") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" (( "(") (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000" (parenthesized_expression "((uint)pbVar12[2] << 8 | uVar9 & 0xff)" (( "(") (binary_expression "(uint)pbVar12[2] << 8 | uVar9 & 0xff" (binary_expression "(uint)pbVar12[2] << 8" (cast_expression "(uint)pbVar12[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar12[2]" (identifier "pbVar12") ([ "[") (number_literal "2") (] "]"))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar9 & 0xff" (identifier "uVar9") (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (} "}"))) (expression_statement "puVar10 = puVar10 + 1;" (assignment_expression "puVar10 = puVar10 + 1" (identifier "puVar10") (= "=") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar8 = uVar26 << 8;" (assignment_expression "uVar8 = uVar26 << 8" (identifier "uVar8") (= "=") (binary_expression "uVar26 << 8" (identifier "uVar26") (<< "<<") (number_literal "8"))) (; ";")) (expression_statement "uVar7 = pbVar12[3] | uVar8;" (assignment_expression "uVar7 = pbVar12[3] | uVar8" (identifier "uVar7") (= "=") (binary_expression "pbVar12[3] | uVar8" (subscript_expression "pbVar12[3]" (identifier "pbVar12") ([ "[") (number_literal "3") (] "]")) (| "|") (identifier "uVar8"))) (; ";")) (expression_statement "uVar9 = uVar16;" (assignment_expression "uVar9 = uVar16" (identifier "uVar9") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (((uint)puVar10 & 3) == 0) {\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }" (if "if") (parenthesized_expression "(((uint)puVar10 & 3) == 0)" (( "(") (binary_expression "((uint)puVar10 & 3) == 0" (parenthesized_expression "((uint)puVar10 & 3)" (( "(") (binary_expression "(uint)puVar10 & 3" (cast_expression "(uint)puVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar10")) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar9 = uVar16 + 1;\n            uVar7 = 0;\n            local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;\n          }" ({ "{") (expression_statement "uVar9 = uVar16 + 1;" (assignment_expression "uVar9 = uVar16 + 1" (identifier "uVar9") (= "=") (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar16] =\n                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000" (subscript_expression "local_154[uVar16]" (identifier "local_154") ([ "[") (identifier "uVar16") (] "]")) (= "=") (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" (( "(") (binary_expression "uVar8 >> 0x10" (identifier "uVar8") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" (( "(") (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000" (parenthesized_expression "((uint)pbVar12[3] << 8 | uVar26 & 0xff)" (( "(") (binary_expression "(uint)pbVar12[3] << 8 | uVar26 & 0xff" (binary_expression "(uint)pbVar12[3] << 8" (cast_expression "(uint)pbVar12[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar12[3]" (identifier "pbVar12") ([ "[") (number_literal "3") (] "]"))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar26 & 0xff" (identifier "uVar26") (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (} "}"))) (expression_statement "pbVar12 = pbVar12 + 4;" (assignment_expression "pbVar12 = pbVar12 + 4" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 4" (identifier "pbVar12") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (expression_statement "uVar16 = uVar9;" (assignment_expression "uVar16 = uVar9" (identifier "uVar16") (= "=") (identifier "uVar9")) (; ";")) (if_statement "if (((uint)in_t0 & 3) != 0) {\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" (if "if") (parenthesized_expression "(((uint)in_t0 & 3) != 0)" (( "(") (binary_expression "((uint)in_t0 & 3) != 0" (parenthesized_expression "((uint)in_t0 & 3)" (( "(") (binary_expression "(uint)in_t0 & 3" (cast_expression "(uint)in_t0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "in_t0")) (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);\n          uVar16 = uVar9 + 1;\n          local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n        }" ({ "{") (expression_statement "uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);" (assignment_expression "uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f)" (identifier "uVar7") (= "=") (binary_expression "uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f)" (identifier "uVar7") (<< "<<") (parenthesized_expression "((4 - ((uint)in_t0 & 3)) * 8 & 0x1f)" (( "(") (binary_expression "(4 - ((uint)in_t0 & 3)) * 8 & 0x1f" (binary_expression "(4 - ((uint)in_t0 & 3)) * 8" (parenthesized_expression "(4 - ((uint)in_t0 & 3))" (( "(") (binary_expression "4 - ((uint)in_t0 & 3)" (number_literal "4") (- "-") (parenthesized_expression "((uint)in_t0 & 3)" (( "(") (binary_expression "(uint)in_t0 & 3" (cast_expression "(uint)in_t0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "in_t0")) (& "&") (number_literal "3")) () ")"))) () ")")) (* "*") (number_literal "8")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "uVar16 = uVar9 + 1;" (assignment_expression "uVar16 = uVar9 + 1" (identifier "uVar16") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "local_154[uVar9] =\n               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (subscript_expression "local_154[uVar9]" (identifier "local_154") ([ "[") (identifier "uVar9") (] "]")) (= "=") (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" (( "(") (binary_expression "uVar7 >> 0x10" (identifier "uVar7") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" (( "(") (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" (( "(") (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" (( "(") (binary_expression "uVar7 & 0xff" (identifier "uVar7") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" (identifier "uVar7") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (} "}"))) (expression_statement "uVar9 = (iVar17 + 1) * 2;" (assignment_expression "uVar9 = (iVar17 + 1) * 2" (identifier "uVar9") (= "=") (binary_expression "(iVar17 + 1) * 2" (parenthesized_expression "(iVar17 + 1)" (( "(") (binary_expression "iVar17 + 1" (identifier "iVar17") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "2"))) (; ";")) (expression_statement "puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);" (assignment_expression "puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8)" (identifier "puVar10") (= "=") (cast_expression "(uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8)" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "(param_4 + 1,0x60,(iVar17 + 1) * 8)" (( "(") (binary_expression "param_4 + 1" (identifier "param_4") (+ "+") (number_literal "1")) (, ",") (number_literal "0x60") (, ",") (binary_expression "(iVar17 + 1) * 8" (parenthesized_expression "(iVar17 + 1)" (( "(") (binary_expression "iVar17 + 1" (identifier "iVar17") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar7 = uVar9;" (assignment_expression "uVar7 = uVar9" (identifier "uVar7") (= "=") (identifier "uVar9")) (; ";")) (if_statement "if (uVar9 <= uVar16) {\n          uVar7 = uVar16;\n        }" (if "if") (parenthesized_expression "(uVar9 <= uVar16)" (( "(") (binary_expression "uVar9 <= uVar16" (identifier "uVar9") (<= "<=") (identifier "uVar16")) () ")")) (compound_statement "{\n          uVar7 = uVar16;\n        }" ({ "{") (expression_statement "uVar7 = uVar16;" (assignment_expression "uVar7 = uVar16" (identifier "uVar7") (= "=") (identifier "uVar16")) (; ";")) (} "}"))) (expression_statement "uVar7 = uVar7 * 3;" (assignment_expression "uVar7 = uVar7 * 3" (identifier "uVar7") (= "=") (binary_expression "uVar7 * 3" (identifier "uVar7") (* "*") (number_literal "3"))) (; ";")) (if_statement "if (uVar7 != 0) {\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar19 = 0;\n          uVar8 = 0;\n          uVar20 = 0;\n          uVar26 = 0;\n          uVar18 = 0;\n          if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }\n          do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);\n        }" ({ "{") (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" (identifier "uVar18") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((uVar7 & 1) != 0) {\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }" (if "if") (parenthesized_expression "((uVar7 & 1) != 0)" (( "(") (binary_expression "(uVar7 & 1) != 0" (parenthesized_expression "(uVar7 & 1)" (( "(") (binary_expression "uVar7 & 1" (identifier "uVar7") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;\n            *puVar10 = uVar18;\n            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);\n            local_154[0] = uVar26;\n            uVar20 = (uint)(uVar9 != 1);\n            uVar8 = (uint)(uVar16 != 1);\n            uVar19 = 1;\n            if (uVar7 == 1) goto LAB_00010b84;\n          }" ({ "{") (expression_statement "uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;" (assignment_expression "uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8" (identifier "uVar18") (= "=") (binary_expression "(*puVar10 >> 0x1d) + *puVar10 * 8" (parenthesized_expression "(*puVar10 >> 0x1d)" (( "(") (binary_expression "*puVar10 >> 0x1d" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (>> ">>") (number_literal "0x1d")) () ")")) (+ "+") (binary_expression "*puVar10 * 8" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "*puVar10 = uVar18;" (assignment_expression "*puVar10 = uVar18" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f);" (assignment_expression "uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f)" (identifier "uVar26") (= "=") (binary_expression "local_154[0] + uVar18 >> (-uVar18 & 0x1f) |\n                     local_154[0] + uVar18 << (uVar18 & 0x1f)" (binary_expression "local_154[0] + uVar18 >> (-uVar18 & 0x1f)" (binary_expression "local_154[0] + uVar18" (subscript_expression "local_154[0]" (identifier "local_154") ([ "[") (number_literal "0") (] "]")) (+ "+") (identifier "uVar18")) (>> ">>") (parenthesized_expression "(-uVar18 & 0x1f)" (( "(") (binary_expression "-uVar18 & 0x1f" (unary_expression "-uVar18" (- "-") (identifier "uVar18")) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "local_154[0] + uVar18 << (uVar18 & 0x1f)" (binary_expression "local_154[0] + uVar18" (subscript_expression "local_154[0]" (identifier "local_154") ([ "[") (number_literal "0") (] "]")) (+ "+") (identifier "uVar18")) (<< "<<") (parenthesized_expression "(uVar18 & 0x1f)" (( "(") (binary_expression "uVar18 & 0x1f" (identifier "uVar18") (& "&") (number_literal "0x1f")) () ")"))))) (; ";")) (expression_statement "local_154[0] = uVar26;" (assignment_expression "local_154[0] = uVar26" (subscript_expression "local_154[0]" (identifier "local_154") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "uVar26")) (; ";")) (expression_statement "uVar20 = (uint)(uVar9 != 1);" (assignment_expression "uVar20 = (uint)(uVar9 != 1)" (identifier "uVar20") (= "=") (call_expression "(uint)(uVar9 != 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 != 1)" (( "(") (binary_expression "uVar9 != 1" (identifier "uVar9") (!= "!=") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar8 = (uint)(uVar16 != 1);" (assignment_expression "uVar8 = (uint)(uVar16 != 1)" (identifier "uVar8") (= "=") (call_expression "(uint)(uVar16 != 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 != 1)" (( "(") (binary_expression "uVar16 != 1" (identifier "uVar16") (!= "!=") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" (identifier "uVar19") (= "=") (number_literal "1")) (; ";")) (if_statement "if (uVar7 == 1) goto LAB_00010b84;" (if "if") (parenthesized_expression "(uVar7 == 1)" (( "(") (binary_expression "uVar7 == 1" (identifier "uVar7") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_00010b84;" (goto "goto") (statement_identifier "LAB_00010b84") (; ";"))) (} "}"))) (do_statement "do {\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          } while (uVar7 != uVar19);" (do "do") (compound_statement "{\n            uVar21 = uVar20 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar20] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar20] = uVar18;\n            uVar20 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar20 = uVar21 + 1;\n            uVar28 = local_154[uVar8];\n            uVar18 = uVar26 + puVar10[uVar21] + uVar18;\n            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;\n            puVar10[uVar21] = uVar18;\n            uVar21 = uVar26 + uVar28 + uVar18;\n            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);\n            local_154[uVar8] = uVar26;\n            if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }\n            uVar8 = uVar8 + 1;\n            if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }\n            uVar19 = uVar19 + 2;\n          }" ({ "{") (expression_statement "uVar21 = uVar20 + 1;" (assignment_expression "uVar21 = uVar20 + 1" (identifier "uVar21") (= "=") (binary_expression "uVar20 + 1" (identifier "uVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar28 = local_154[uVar8];" (assignment_expression "uVar28 = local_154[uVar8]" (identifier "uVar28") (= "=") (subscript_expression "local_154[uVar8]" (identifier "local_154") ([ "[") (identifier "uVar8") (] "]"))) (; ";")) (expression_statement "uVar18 = uVar26 + puVar10[uVar20] + uVar18;" (assignment_expression "uVar18 = uVar26 + puVar10[uVar20] + uVar18" (identifier "uVar18") (= "=") (binary_expression "uVar26 + puVar10[uVar20] + uVar18" (binary_expression "uVar26 + puVar10[uVar20]" (identifier "uVar26") (+ "+") (subscript_expression "puVar10[uVar20]" (identifier "puVar10") ([ "[") (identifier "uVar20") (] "]"))) (+ "+") (identifier "uVar18"))) (; ";")) (expression_statement "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;" (assignment_expression "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8" (identifier "uVar18") (= "=") (binary_expression "(uVar18 >> 0x1d) + uVar18 * 8" (parenthesized_expression "(uVar18 >> 0x1d)" (( "(") (binary_expression "uVar18 >> 0x1d" (identifier "uVar18") (>> ">>") (number_literal "0x1d")) () ")")) (+ "+") (binary_expression "uVar18 * 8" (identifier "uVar18") (* "*") (number_literal "8")))) (; ";")) (expression_statement "puVar10[uVar20] = uVar18;" (assignment_expression "puVar10[uVar20] = uVar18" (subscript_expression "puVar10[uVar20]" (identifier "puVar10") ([ "[") (identifier "uVar20") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "uVar20 = uVar26 + uVar28 + uVar18;" (assignment_expression "uVar20 = uVar26 + uVar28 + uVar18" (identifier "uVar20") (= "=") (binary_expression "uVar26 + uVar28 + uVar18" (binary_expression "uVar26 + uVar28" (identifier "uVar26") (+ "+") (identifier "uVar28")) (+ "+") (identifier "uVar18"))) (; ";")) (expression_statement "uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);" (assignment_expression "uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f)" (identifier "uVar26") (= "=") (binary_expression "uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f)" (binary_expression "uVar20 >> (-(uVar18 + uVar26) & 0x1f)" (identifier "uVar20") (>> ">>") (parenthesized_expression "(-(uVar18 + uVar26) & 0x1f)" (( "(") (binary_expression "-(uVar18 + uVar26) & 0x1f" (unary_expression "-(uVar18 + uVar26)" (- "-") (parenthesized_expression "(uVar18 + uVar26)" (( "(") (binary_expression "uVar18 + uVar26" (identifier "uVar18") (+ "+") (identifier "uVar26")) () ")"))) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar20 << (uVar18 + uVar26 & 0x1f)" (identifier "uVar20") (<< "<<") (parenthesized_expression "(uVar18 + uVar26 & 0x1f)" (( "(") (binary_expression "uVar18 + uVar26 & 0x1f" (binary_expression "uVar18 + uVar26" (identifier "uVar18") (+ "+") (identifier "uVar26")) (& "&") (number_literal "0x1f")) () ")"))))) (; ";")) (expression_statement "local_154[uVar8] = uVar26;" (assignment_expression "local_154[uVar8] = uVar26" (subscript_expression "local_154[uVar8]" (identifier "local_154") ([ "[") (identifier "uVar8") (] "]")) (= "=") (identifier "uVar26")) (; ";")) (if_statement "if (uVar9 == uVar21) {\n              uVar21 = 0;\n            }" (if "if") (parenthesized_expression "(uVar9 == uVar21)" (( "(") (binary_expression "uVar9 == uVar21" (identifier "uVar9") (== "==") (identifier "uVar21")) () ")")) (compound_statement "{\n              uVar21 = 0;\n            }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }" (if "if") (parenthesized_expression "(uVar16 == uVar8)" (( "(") (binary_expression "uVar16 == uVar8" (identifier "uVar16") (== "==") (identifier "uVar8")) () ")")) (compound_statement "{\n              uVar8 = 0;\n            }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar20 = uVar21 + 1;" (assignment_expression "uVar20 = uVar21 + 1" (identifier "uVar20") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar28 = local_154[uVar8];" (assignment_expression "uVar28 = local_154[uVar8]" (identifier "uVar28") (= "=") (subscript_expression "local_154[uVar8]" (identifier "local_154") ([ "[") (identifier "uVar8") (] "]"))) (; ";")) (expression_statement "uVar18 = uVar26 + puVar10[uVar21] + uVar18;" (assignment_expression "uVar18 = uVar26 + puVar10[uVar21] + uVar18" (identifier "uVar18") (= "=") (binary_expression "uVar26 + puVar10[uVar21] + uVar18" (binary_expression "uVar26 + puVar10[uVar21]" (identifier "uVar26") (+ "+") (subscript_expression "puVar10[uVar21]" (identifier "puVar10") ([ "[") (identifier "uVar21") (] "]"))) (+ "+") (identifier "uVar18"))) (; ";")) (expression_statement "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;" (assignment_expression "uVar18 = (uVar18 >> 0x1d) + uVar18 * 8" (identifier "uVar18") (= "=") (binary_expression "(uVar18 >> 0x1d) + uVar18 * 8" (parenthesized_expression "(uVar18 >> 0x1d)" (( "(") (binary_expression "uVar18 >> 0x1d" (identifier "uVar18") (>> ">>") (number_literal "0x1d")) () ")")) (+ "+") (binary_expression "uVar18 * 8" (identifier "uVar18") (* "*") (number_literal "8")))) (; ";")) (expression_statement "puVar10[uVar21] = uVar18;" (assignment_expression "puVar10[uVar21] = uVar18" (subscript_expression "puVar10[uVar21]" (identifier "puVar10") ([ "[") (identifier "uVar21") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "uVar21 = uVar26 + uVar28 + uVar18;" (assignment_expression "uVar21 = uVar26 + uVar28 + uVar18" (identifier "uVar21") (= "=") (binary_expression "uVar26 + uVar28 + uVar18" (binary_expression "uVar26 + uVar28" (identifier "uVar26") (+ "+") (identifier "uVar28")) (+ "+") (identifier "uVar18"))) (; ";")) (expression_statement "uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);" (assignment_expression "uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f)" (identifier "uVar26") (= "=") (binary_expression "uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f)" (binary_expression "uVar21 >> (-(uVar18 + uVar26) & 0x1f)" (identifier "uVar21") (>> ">>") (parenthesized_expression "(-(uVar18 + uVar26) & 0x1f)" (( "(") (binary_expression "-(uVar18 + uVar26) & 0x1f" (unary_expression "-(uVar18 + uVar26)" (- "-") (parenthesized_expression "(uVar18 + uVar26)" (( "(") (binary_expression "uVar18 + uVar26" (identifier "uVar18") (+ "+") (identifier "uVar26")) () ")"))) (& "&") (number_literal "0x1f")) () ")"))) (| "|") (binary_expression "uVar21 << (uVar18 + uVar26 & 0x1f)" (identifier "uVar21") (<< "<<") (parenthesized_expression "(uVar18 + uVar26 & 0x1f)" (( "(") (binary_expression "uVar18 + uVar26 & 0x1f" (binary_expression "uVar18 + uVar26" (identifier "uVar18") (+ "+") (identifier "uVar26")) (& "&") (number_literal "0x1f")) () ")"))))) (; ";")) (expression_statement "local_154[uVar8] = uVar26;" (assignment_expression "local_154[uVar8] = uVar26" (subscript_expression "local_154[uVar8]" (identifier "local_154") ([ "[") (identifier "uVar8") (] "]")) (= "=") (identifier "uVar26")) (; ";")) (if_statement "if (uVar9 == uVar20) {\n              uVar20 = 0;\n            }" (if "if") (parenthesized_expression "(uVar9 == uVar20)" (( "(") (binary_expression "uVar9 == uVar20" (identifier "uVar9") (== "==") (identifier "uVar20")) () ")")) (compound_statement "{\n              uVar20 = 0;\n            }" ({ "{") (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" (identifier "uVar20") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar16 == uVar8) {\n              uVar8 = 0;\n            }" (if "if") (parenthesized_expression "(uVar16 == uVar8)" (( "(") (binary_expression "uVar16 == uVar8" (identifier "uVar16") (== "==") (identifier "uVar8")) () ")")) (compound_statement "{\n              uVar8 = 0;\n            }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar19 = uVar19 + 2;" (assignment_expression "uVar19 = uVar19 + 2" (identifier "uVar19") (= "=") (binary_expression "uVar19 + 2" (identifier "uVar19") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar7 != uVar19)" (( "(") (binary_expression "uVar7 != uVar19" (identifier "uVar7") (!= "!=") (identifier "uVar19")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00010b84:\n        iVar27 = 0;" (statement_identifier "LAB_00010b84") (: ":") (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n        iVar27 = 3;\n      }" (else "else") (compound_statement "{\n        iVar27 = 3;\n      }" ({ "{") (expression_statement "iVar27 = 3;" (assignment_expression "iVar27 = 3" (identifier "iVar27") (= "=") (number_literal "3")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }" (else "else") (compound_statement "{\n      iVar27 = 4;\n      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;\n    }" ({ "{") (expression_statement "iVar27 = 4;" (assignment_expression "iVar27 = 4" (identifier "iVar27") (= "=") (number_literal "4")) (; ";")) (if_statement "if (iVar17 - 0xcU < 0xd) goto LAB_00010814;" (if "if") (parenthesized_expression "(iVar17 - 0xcU < 0xd)" (( "(") (binary_expression "iVar17 - 0xcU < 0xd" (binary_expression "iVar17 - 0xcU" (identifier "iVar17") (- "-") (number_literal "0xcU")) (< "<") (number_literal "0xd")) () ")")) (goto_statement "goto LAB_00010814;" (goto "goto") (statement_identifier "LAB_00010814") (; ";"))) (} "}")))) (expression_statement "unaff_s0 = local_54;" (assignment_expression "unaff_s0 = local_54" (identifier "unaff_s0") (= "=") (identifier "local_54")) (; ";")) (expression_statement "pcVar23 = *(code **)pcVar23;" (assignment_expression "pcVar23 = *(code **)pcVar23" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)pcVar23" (* "*") (cast_expression "(code **)pcVar23" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar23")))) (; ";")) (if_statement "if (local_54 == pcVar23) {\n      return iVar27;\n    }" (if "if") (parenthesized_expression "(local_54 == pcVar23)" (( "(") (binary_expression "local_54 == pcVar23" (identifier "local_54") (== "==") (identifier "pcVar23")) () ")")) (compound_statement "{\n      return iVar27;\n    }" ({ "{") (return_statement "return iVar27;" (return "return") (identifier "iVar27") (; ";")) (} "}"))) (expression_statement "pcVar25 = __mips_gp0_value;" (assignment_expression "pcVar25 = __mips_gp0_value" (identifier "pcVar25") (= "=") (identifier "__mips_gp0_value")) (; ";")) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "unaff_s2 = 0;" (assignment_expression "unaff_s2 = 0" (identifier "unaff_s2") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*pcVar25)(0,0,0x3c);" (call_expression "(*pcVar25)(0,0,0x3c)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(0,0,0x3c)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x3c") () ")"))) (; ";")) (labeled_statement "LAB_00010bc8:\n  (*__mips_gp0_value)(0,uVar7,0x3b);" (statement_identifier "LAB_00010bc8") (: ":") (expression_statement "(*__mips_gp0_value)(0,uVar7,0x3b);" (call_expression "(*__mips_gp0_value)(0,uVar7,0x3b)" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "(0,uVar7,0x3b)" (( "(") (number_literal "0") (, ",") (identifier "uVar7") (, ",") (number_literal "0x3b") () ")"))) (; ";"))) (expression_statement "pcVar25 = __mips_gp0_value;" (assignment_expression "pcVar25 = __mips_gp0_value" (identifier "pcVar25") (= "=") (identifier "__mips_gp0_value")) (; ";")) (expression_statement "piVar24 = (int *)0x0;" (assignment_expression "piVar24 = (int *)0x0" (identifier "piVar24") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" (identifier "iVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_19c = *(int *)__mips_gp0_value;" (assignment_expression "local_19c = *(int *)__mips_gp0_value" (identifier "local_19c") (= "=") (pointer_expression "*(int *)__mips_gp0_value" (* "*") (cast_expression "(int *)__mips_gp0_value" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__mips_gp0_value")))) (; ";")) (expression_statement "local_198 = unaff_s0;" (assignment_expression "local_198 = unaff_s0" (identifier "local_198") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "local_194 = pcVar23;" (assignment_expression "local_194 = pcVar23" (identifier "local_194") (= "=") (identifier "pcVar23")) (; ";")) (expression_statement "local_190 = unaff_s2;" (assignment_expression "local_190 = unaff_s2" (identifier "local_190") (= "=") (identifier "unaff_s2")) (; ";")) (do_statement "do {\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  } while (iVar17 != 3);" (do "do") (compound_statement "{\n    piVar14 = piVar24;\n    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);\n    if (iVar27 != 0) break;\n    piVar13 = aiStack_1248;\n    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);\n    func_0x00000000(&local_1250,piVar13,auStack_1240);\n    piVar14 = &local_1250;\n    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);\n    if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }\n    iVar27 = 1000;\n    local_1250 = 0;\n    local_124c = 0;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    iVar27 = 1000;\n    do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);\n    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);\n    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;\n    iVar17 = iVar17 + 1;\n    piVar24 = piVar24 + 8;\n    iVar27 = 0;\n  }" ({ "{") (expression_statement "piVar14 = piVar24;" (assignment_expression "piVar14 = piVar24" (identifier "piVar14") (= "=") (identifier "piVar24")) (; ";")) (expression_statement "iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);" (assignment_expression "iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240)" (identifier "iVar27") (= "=") (call_expression "func_0x00000000(piVar24,0x10,0xc,auStack_1240)" (identifier "func_0x00000000") (argument_list "(piVar24,0x10,0xc,auStack_1240)" (( "(") (identifier "piVar24") (, ",") (number_literal "0x10") (, ",") (number_literal "0xc") (, ",") (identifier "auStack_1240") () ")")))) (; ";")) (if_statement "if (iVar27 != 0) break;" (if "if") (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar13 = aiStack_1248;" (assignment_expression "piVar13 = aiStack_1248" (identifier "piVar13") (= "=") (identifier "aiStack_1248")) (; ";")) (expression_statement "func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);" (call_expression "func_0x00000000(piVar24 + 4,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(piVar24 + 4,&local_1250,auStack_1240)" (( "(") (binary_expression "piVar24 + 4" (identifier "piVar24") (+ "+") (number_literal "4")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,piVar13,auStack_1240);" (call_expression "func_0x00000000(&local_1250,piVar13,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,piVar13,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "piVar13") (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "piVar14 = &local_1250;" (assignment_expression "piVar14 = &local_1250" (identifier "piVar14") (= "=") (pointer_expression "&local_1250" (& "&") (identifier "local_1250"))) (; ";")) (expression_statement "iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);" (assignment_expression "iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17)" (identifier "iVar27") (= "=") (call_expression "(*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17)" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "(&local_1250,8,piVar24 + 6,8,0,iVar17)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (number_literal "8") (, ",") (binary_expression "piVar24 + 6" (identifier "piVar24") (+ "+") (number_literal "6")) (, ",") (number_literal "8") (, ",") (number_literal "0") (, ",") (identifier "iVar17") () ")")))) (; ";")) (if_statement "if ((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)) {\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }" (if "if") (parenthesized_expression "((iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0))" (( "(") (binary_expression "(iVar27 != 0) ||\n       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)" (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0)" (( "(") (comma_expression "iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,\n       iVar27 != 0" (assignment_expression "iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17)" (identifier "iVar27") (= "=") (call_expression "(*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17)" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "(piVar13,8,piVar24 + 4,8,0,iVar17)" (( "(") (identifier "piVar13") (, ",") (number_literal "8") (, ",") (binary_expression "piVar24 + 4" (identifier "piVar24") (+ "+") (number_literal "4")) (, ",") (number_literal "8") (, ",") (number_literal "0") (, ",") (identifier "iVar17") () ")")))) (, ",") (comma_expression "piVar14 = piVar13,\n       iVar27 != 0" (assignment_expression "piVar14 = piVar13" (identifier "piVar14") (= "=") (identifier "piVar13")) (, ",") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\nLAB_00010ea0:\n      iVar27 = 5;\n      break;\n    }" ({ "{") (labeled_statement "LAB_00010ea0:\n      iVar27 = 5;" (statement_identifier "LAB_00010ea0") (: ":") (expression_statement "iVar27 = 5;" (assignment_expression "iVar27 = 5" (identifier "iVar27") (= "=") (number_literal "5")) (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "iVar27 = 1000;" (assignment_expression "iVar27 = 1000" (identifier "iVar27") (= "=") (number_literal "1000")) (; ";")) (expression_statement "local_1250 = 0;" (assignment_expression "local_1250 = 0" (identifier "local_1250") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_124c = 0;" (assignment_expression "local_124c = 0" (identifier "local_124c") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);" (do "do") (compound_statement "{\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    }" ({ "{") (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "iVar27 = iVar27 + -8;" (assignment_expression "iVar27 = iVar27 + -8" (identifier "iVar27") (= "=") (binary_expression "iVar27 + -8" (identifier "iVar27") (+ "+") (number_literal "-8"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "iVar27 = 1000;" (assignment_expression "iVar27 = 1000" (identifier "iVar27") (= "=") (number_literal "1000")) (; ";")) (do_statement "do {\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    } while (iVar27 != 0);" (do "do") (compound_statement "{\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      iVar27 = iVar27 + -8;\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n      func_0x00000000(&local_1250,&local_1250,auStack_1240);\n    }" ({ "{") (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "iVar27 = iVar27 + -8;" (assignment_expression "iVar27 = iVar27 + -8" (identifier "iVar27") (= "=") (binary_expression "iVar27 + -8" (identifier "iVar27") (+ "+") (number_literal "-8"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (expression_statement "func_0x00000000(&local_1250,&local_1250,auStack_1240);" (call_expression "func_0x00000000(&local_1250,&local_1250,auStack_1240)" (identifier "func_0x00000000") (argument_list "(&local_1250,&local_1250,auStack_1240)" (( "(") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (pointer_expression "&local_1250" (& "&") (identifier "local_1250")) (, ",") (identifier "auStack_1240") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar27 != 0)" (( "(") (binary_expression "iVar27 != 0" (identifier "iVar27") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "piVar14 = (int *)(local_1250 >> 0x10 & 0xff);" (assignment_expression "piVar14 = (int *)(local_1250 >> 0x10 & 0xff)" (identifier "piVar14") (= "=") (cast_expression "(int *)(local_1250 >> 0x10 & 0xff)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_1250 >> 0x10 & 0xff)" (( "(") (binary_expression "local_1250 >> 0x10 & 0xff" (binary_expression "local_1250 >> 0x10" (identifier "local_1250") (>> ">>") (number_literal "0x10")) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (if_statement "if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))\n    goto LAB_00010ea0;" (if "if") (parenthesized_expression "(((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))" (( "(") (binary_expression "((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||\n       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))))" (parenthesized_expression "((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0'))))" (( "(") (binary_expression "(((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||\n        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))" (parenthesized_expression "(((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0'))" (( "(") (binary_expression "((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')" (parenthesized_expression "((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0))" (( "(") (binary_expression "(local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)" (parenthesized_expression "(local_1250._0_1_ != '\0')" (( "(") (binary_expression "local_1250._0_1_ != '\0'" (field_expression "local_1250._0_1_" (identifier "local_1250") (. ".") (field_identifier "_0_1_")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(local_1250._2_1_ != '\0')" (( "(") (binary_expression "local_1250._2_1_ != '\0'" (field_expression "local_1250._2_1_" (identifier "local_1250") (. ".") (field_identifier "_2_1_")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))" (( "(") (parenthesized_expression "((char)local_1250 != '\0' || (local_124c._0_1_ != '\0'))" (( "(") (binary_expression "(char)local_1250 != '\0' || (local_124c._0_1_ != '\0')" (binary_expression "(char)local_1250 != '\0'" (cast_expression "(char)local_1250" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_1250")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (|| "||") (parenthesized_expression "(local_124c._0_1_ != '\0')" (( "(") (binary_expression "local_124c._0_1_ != '\0'" (field_expression "local_124c._0_1_" (identifier "local_124c") (. ".") (field_identifier "_0_1_")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))))" (( "(") (parenthesized_expression "(local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))" (( "(") (binary_expression "local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))" (binary_expression "local_124c._1_1_ != '\0'" (field_expression "local_124c._1_1_" (identifier "local_124c") (. ".") (field_identifier "_1_1_")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (|| "||") (parenthesized_expression "((local_124c._2_1_ != '\0' || ((char)local_124c != '\0')))" (( "(") (parenthesized_expression "(local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))" (( "(") (binary_expression "local_124c._2_1_ != '\0' || ((char)local_124c != '\0')" (binary_expression "local_124c._2_1_ != '\0'" (field_expression "local_124c._2_1_" (identifier "local_124c") (. ".") (field_identifier "_2_1_")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (|| "||") (parenthesized_expression "((char)local_124c != '\0')" (( "(") (binary_expression "(char)local_124c != '\0'" (cast_expression "(char)local_124c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_124c")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00010ea0;" (goto "goto") (statement_identifier "LAB_00010ea0") (; ";"))) (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" (identifier "iVar17") (= "=") (binary_expression "iVar17 + 1" (identifier "iVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar24 = piVar24 + 8;" (assignment_expression "piVar24 = piVar24 + 8" (identifier "piVar24") (= "=") (binary_expression "piVar24 + 8" (identifier "piVar24") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "iVar27 = 0;" (assignment_expression "iVar27 = 0" (identifier "iVar27") (= "=") (number_literal "0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar17 != 3)" (( "(") (binary_expression "iVar17 != 3" (identifier "iVar17") (!= "!=") (number_literal "3")) () ")")) (; ";")) (if_statement "if (local_19c == *(int *)pcVar25) {\n    return iVar27;\n  }" (if "if") (parenthesized_expression "(local_19c == *(int *)pcVar25)" (( "(") (binary_expression "local_19c == *(int *)pcVar25" (identifier "local_19c") (== "==") (pointer_expression "*(int *)pcVar25" (* "*") (cast_expression "(int *)pcVar25" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar25")))) () ")")) (compound_statement "{\n    return iVar27;\n  }" ({ "{") (return_statement "return iVar27;" (return "return") (identifier "iVar27") (; ";")) (} "}"))) (expression_statement "(*__mips_gp0_value)();" (call_expression "(*__mips_gp0_value)()" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (piVar14 == (int *)0x0) {\n    (*__mips_gp0_value)(0,0,0x132);\n                    \n    halt_baddata();\n  }" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*__mips_gp0_value)(0,0,0x132);\n                    \n    halt_baddata();\n  }" ({ "{") (expression_statement "(*__mips_gp0_value)(0,0,0x132);" (call_expression "(*__mips_gp0_value)(0,0,0x132)" (parenthesized_expression "(*__mips_gp0_value)" (( "(") (pointer_expression "*__mips_gp0_value" (* "*") (identifier "__mips_gp0_value")) () ")")) (argument_list "(0,0,0x132)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0x132") () ")"))) (; ";")) (expression_statement "halt_baddata();" (call_expression "halt_baddata()" (identifier "halt_baddata") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*piVar14 < 8) {\n    return 3;\n  }" (if "if") (parenthesized_expression "(*piVar14 < 8)" (( "(") (binary_expression "*piVar14 < 8" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (< "<") (number_literal "8")) () ")")) (compound_statement "{\n    return 3;\n  }" ({ "{") (return_statement "return 3;" (return "return") (number_literal "3") (; ";")) (} "}"))) (if_statement "if (*piVar14 < 0x81) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(*piVar14 < 0x81)" (( "(") (binary_expression "*piVar14 < 0x81" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (< "<") (number_literal "0x81")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "*piVar14 = 0x80;" (assignment_expression "*piVar14 = 0x80" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (= "=") (number_literal "0x80")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

int function_1(type_1 *var_3,type_1 *var_4,type_2 *var_1)

{
  type_3 *puVar1;
  type_3 *puVar2;
  type_3 *puVar3;
  type_3 *puVar4;
  type_3 *puVar5;
  type_3 *puVar6;
  type_3 *puVar7;
  type_4 var_5;
  type_4 var_6;
  type_4 var_7;
  type_3 *var_9;
  int var_10;
  type_4 var_8;
  
  if (var_1 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("skey != NULL","src/ciphers/rc5.c",0x86);
  }
  if (var_3 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("pt != NULL","src/ciphers/rc5.c",0x87);
  }
  var_9 = (var_1->des3).ek[0] + 3;
  if (var_4 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("ct != NULL","src/ciphers/rc5.c",0x88);
  }
  var_5 = *(type_4 *)var_3;
  var_6 = *(type_4 *)(var_3 + 4);
  var_7 = (var_1->rc5).rounds;
  var_8 = (((var_5 >> 0x10) << 0x18 | (var_5 >> 0x18) << 0x10) >> 0x10) +
           ((var_5 & 0xff) << 8 | var_5 >> 8 & 0xff) * 0x10000 + (var_1->des).ek[1];
  var_5 = (((var_6 >> 0x10) << 0x18 | (var_6 >> 0x18) << 0x10) >> 0x10) +
          ((var_6 & 0xff) << 8 | var_6 >> 8 & 0xff) * 0x10000 + (var_1->des).ek[2];
  if ((var_7 & 1) == 0) {
    if (0 < (int)var_7) {
      var_10 = 2;
      var_6 = ((var_8 ^ var_5) >> (-var_5 & 0x1f) | (var_8 ^ var_5) << (var_5 & 0x1f)) + *var_9;
      var_5 = ((var_6 ^ var_5) >> (-var_6 & 0x1f) | (var_6 ^ var_5) << (var_6 & 0x1f)) +
              (var_1->des).ek[4];
      var_9 = (var_1->des3).ek[0] + 7;
      var_8 = ((var_6 ^ var_5) >> (-var_5 & 0x1f) | (var_6 ^ var_5) << (var_5 & 0x1f)) +
               (var_1->des).ek[5];
      var_5 = ((var_5 ^ var_8) >> (-var_8 & 0x1f) | (var_5 ^ var_8) << (var_8 & 0x1f)) +
              (var_1->des).ek[6];
      if (2 < (int)var_7) {
        if ((int)((var_7 - 1) * 0x40000000) < 0) {
          var_10 = 4;
          var_6 = ((var_8 ^ var_5) >> (-var_5 & 0x1f) | (var_8 ^ var_5) << (var_5 & 0x1f)) +
                  *var_9;
          var_9 = (var_1->des3).ek[0] + 0xb;
          var_5 = ((var_6 ^ var_5) >> (-var_6 & 0x1f) | (var_6 ^ var_5) << (var_6 & 0x1f)) +
                  (var_1->des).ek[8];
          var_8 = ((var_6 ^ var_5) >> (-var_5 & 0x1f) | (var_6 ^ var_5) << (var_5 & 0x1f)) +
                   (var_1->des).ek[9];
          var_5 = ((var_5 ^ var_8) >> (-var_8 & 0x1f) | (var_5 ^ var_8) << (var_8 & 0x1f)) +
                  (var_1->des).ek[10];
          if ((int)var_7 < 5) goto LAB_00010274;
        }
        do {
          puVar1 = var_9 + 1;
          puVar2 = var_9 + 2;
          puVar3 = var_9 + 3;
          puVar4 = var_9 + 4;
          var_10 = var_10 + 4;
          puVar5 = var_9 + 5;
          var_6 = ((var_8 ^ var_5) >> (-var_5 & 0x1f) | (var_8 ^ var_5) << (var_5 & 0x1f)) +
                  *var_9;
          puVar6 = var_9 + 6;
          puVar7 = var_9 + 7;
          var_9 = var_9 + 8;
          var_5 = ((var_6 ^ var_5) >> (-var_6 & 0x1f) | (var_6 ^ var_5) << (var_6 & 0x1f)) + *puVar1
          ;
          var_6 = ((var_6 ^ var_5) >> (-var_5 & 0x1f) | (var_6 ^ var_5) << (var_5 & 0x1f)) + *puVar2
          ;
          var_5 = ((var_5 ^ var_6) >> (-var_6 & 0x1f) | (var_5 ^ var_6) << (var_6 & 0x1f)) + *puVar3
          ;
          var_6 = ((var_6 ^ var_5) >> (-var_5 & 0x1f) | (var_6 ^ var_5) << (var_5 & 0x1f)) + *puVar4
          ;
          var_5 = ((var_6 ^ var_5) >> (-var_6 & 0x1f) | (var_6 ^ var_5) << (var_6 & 0x1f)) + *puVar5
          ;
          var_8 = ((var_6 ^ var_5) >> (-var_5 & 0x1f) | (var_6 ^ var_5) << (var_5 & 0x1f)) +
                   *puVar6;
          var_5 = ((var_5 ^ var_8) >> (-var_8 & 0x1f) | (var_5 ^ var_8) << (var_8 & 0x1f)) +
                  *puVar7;
        } while (var_10 < (int)var_7);
      }
    }
  }
  else if (0 < (int)var_7) {
    var_6 = 0;
    if ((var_7 & 1) != 0) {
      var_6 = 1;
      var_8 = ((var_8 ^ var_5) >> (-var_5 & 0x1f) | (var_8 ^ var_5) << (var_5 & 0x1f)) + *var_9
      ;
      var_9 = (var_1->des3).ek[0] + 5;
      var_5 = ((var_8 ^ var_5) >> (-var_8 & 0x1f) | (var_8 ^ var_5) << (var_8 & 0x1f)) +
              (var_1->des).ek[4];
      if (var_7 == 1) goto LAB_00010274;
    }
    do {
      puVar1 = var_9 + 1;
      puVar2 = var_9 + 2;
      puVar3 = var_9 + 3;
      var_6 = var_6 + 2;
      var_8 = ((var_8 ^ var_5) >> (-var_5 & 0x1f) | (var_8 ^ var_5) << (var_5 & 0x1f)) + *var_9
      ;
      var_9 = var_9 + 4;
      var_5 = ((var_8 ^ var_5) >> (-var_8 & 0x1f) | (var_8 ^ var_5) << (var_8 & 0x1f)) + *puVar1
      ;
      var_8 = ((var_8 ^ var_5) >> (-var_5 & 0x1f) | (var_8 ^ var_5) << (var_5 & 0x1f)) + *puVar2;
      var_5 = ((var_8 ^ var_5) >> (-var_8 & 0x1f) | (var_8 ^ var_5) << (var_8 & 0x1f)) + *puVar3
      ;
    } while (var_7 != var_6);
  }
LAB_00010274:
  *var_4 = (type_1)var_8;
  var_4[4] = (type_1)var_5;
  var_4[3] = (type_1)(var_8 >> 0x18);
  var_4[2] = (type_1)(var_8 >> 0x10);
  var_4[1] = (type_1)(var_8 >> 8);
  var_4[7] = (type_1)(var_5 >> 0x18);
  var_4[6] = (type_1)(var_5 >> 0x10);
  var_4[5] = (type_1)(var_5 >> 8);
  return 0;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (number_literal) (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (number_literal) (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (number_literal)))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (number_literal) (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (number_literal) (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier)))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (return_statement (number_literal)))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) right: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (identifier)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (identifier))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (unary_expression argument: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (number_literal)))) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (number_literal) (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))) right: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (char_literal (escape_sequence))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (number_literal) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (number_literal)))))

/* WARNING: Control flow encountered bad instruction data */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int MASKED(uint *param_1,undefined1 *param_2,uint *param_3,int *param_4)

{
  uint *puVar1;
  uint *puVar2;
  uint *puVar3;
  uint *puVar4;
  uint *puVar5;
  byte bVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint *puVar10;
  byte *pbVar11;
  byte *pbVar12;
  int *piVar13;
  int *piVar14;
  uint *puVar15;
  uint uVar16;
  uint *in_t0;
  int iVar17;
  uint uVar18;
  uint uVar19;
  uint uVar20;
  uint uVar21;
  uint *puVar22;
  code *unaff_s0;
  code *pcVar23;
  undefined4 unaff_s2;
  int *piVar24;
  undefined1 *in_t8;
  code *pcVar25;
  uint uVar26;
  int iVar27;
  uint uVar28;
  undefined4 local_1250;
  undefined4 local_124c;
  int aiStack_1248 [2];
  undefined1 auStack_1240 [4260];
  int local_19c;
  code *local_198;
  code *local_194;
  undefined4 local_190;
  uint local_154 [64];
  code *local_54;
  
  if (param_3 == (uint *)0x0) {
    (*__mips_gp0_value)(0,0,0x86);
LAB_000103ac:
    (*__mips_gp0_value)(0,0,0x88);
  }
  else {
    in_t8 = (undefined1 *)0x0;
    if (param_1 != (uint *)0x0) {
      in_t0 = param_3 + 3;
      if (param_2 != (undefined1 *)0x0) {
        uVar7 = *param_1;
        uVar9 = param_1[1];
        uVar16 = *param_3;
        uVar26 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 + param_3[1];
        uVar7 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000 + param_3[2];
        if ((uVar16 & 1) == 0) {
          if (0 < (int)uVar16) {
            iVar17 = 2;
            uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                    *in_t0;
            uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +
                    param_3[4];
            puVar10 = param_3 + 7;
            uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +
                     param_3[5];
            uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f)) +
                    param_3[6];
            if (2 < (int)uVar16) {
              if ((int)((uVar16 - 1) * 0x40000000) < 0) {
                iVar17 = 4;
                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                        *puVar10;
                puVar10 = param_3 + 0xb;
                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +
                        param_3[8];
                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +
                         param_3[9];
                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))
                        + param_3[10];
                if ((int)uVar16 < 5) goto LAB_00010274;
              }
              do {
                puVar15 = puVar10 + 1;
                puVar22 = puVar10 + 2;
                puVar1 = puVar10 + 3;
                puVar2 = puVar10 + 4;
                iVar17 = iVar17 + 4;
                puVar3 = puVar10 + 5;
                uVar9 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                        *puVar10;
                puVar4 = puVar10 + 6;
                puVar5 = puVar10 + 7;
                puVar10 = puVar10 + 8;
                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +
                        *puVar15;
                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +
                        *puVar22;
                uVar7 = ((uVar7 ^ uVar9) >> (-uVar9 & 0x1f) | (uVar7 ^ uVar9) << (uVar9 & 0x1f)) +
                        *puVar1;
                uVar9 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +
                        *puVar2;
                uVar7 = ((uVar9 ^ uVar7) >> (-uVar9 & 0x1f) | (uVar9 ^ uVar7) << (uVar9 & 0x1f)) +
                        *puVar3;
                uVar26 = ((uVar9 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar9 ^ uVar7) << (uVar7 & 0x1f)) +
                         *puVar4;
                uVar7 = ((uVar7 ^ uVar26) >> (-uVar26 & 0x1f) | (uVar7 ^ uVar26) << (uVar26 & 0x1f))
                        + *puVar5;
              } while (iVar17 < (int)uVar16);
            }
          }
        }
        else if (0 < (int)uVar16) {
          uVar9 = 0;
          if ((uVar16 & 1) != 0) {
            uVar9 = 1;
            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                     *in_t0;
            in_t0 = param_3 + 5;
            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +
                    param_3[4];
            if (uVar16 == 1) goto LAB_00010274;
          }
          do {
            puVar10 = in_t0 + 1;
            puVar15 = in_t0 + 2;
            puVar22 = in_t0 + 3;
            uVar9 = uVar9 + 2;
            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                     *in_t0;
            in_t0 = in_t0 + 4;
            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +
                    *puVar10;
            uVar26 = ((uVar26 ^ uVar7) >> (-uVar7 & 0x1f) | (uVar26 ^ uVar7) << (uVar7 & 0x1f)) +
                     *puVar15;
            uVar7 = ((uVar26 ^ uVar7) >> (-uVar26 & 0x1f) | (uVar26 ^ uVar7) << (uVar26 & 0x1f)) +
                    *puVar22;
          } while (uVar16 != uVar9);
        }
LAB_00010274:
        *param_2 = (char)uVar26;
        param_2[4] = (char)uVar7;
        param_2[3] = (char)(uVar26 >> 0x18);
        param_2[2] = (char)(uVar26 >> 0x10);
        param_2[1] = (char)(uVar26 >> 8);
        param_2[7] = (char)(uVar7 >> 0x18);
        param_2[6] = (char)(uVar7 >> 0x10);
        param_2[5] = (char)(uVar7 >> 8);
        return 0;
      }
      goto LAB_000103ac;
    }
  }
  puVar15 = (uint *)&DAT_00000087;
  puVar10 = (uint *)0x0;
  (*__mips_gp0_value)();
  if (puVar15 == (uint *)0x0) {
    (*__mips_gp0_value)(0,0,0xbd);
LAB_00010768:
    (*__mips_gp0_value)(0,0,0xbf);
  }
  else {
    in_t0 = (uint *)0x0;
    if (in_t8 != (undefined1 *)0x0) {
      if (puVar10 != (uint *)0x0) {
        uVar7 = *puVar10;
        uVar9 = puVar10[1];
        uVar26 = *puVar15;
        uVar16 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                 ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
        uVar9 = (((uVar9 >> 0x10) << 0x18 | (uVar9 >> 0x18) << 0x10) >> 0x10) +
                ((uVar9 & 0xff) << 8 | uVar9 >> 8 & 0xff) * 0x10000;
        puVar10 = puVar15 + uVar26 * 2 + 1;
        uVar7 = uVar26 - 1;
        if ((uVar26 & 1) == 0) {
          if (-1 < (int)uVar7) {
            iVar17 = uVar26 - 3;
            uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f))
                    ^ uVar16;
            uVar16 = (uVar16 - *puVar10 << (-uVar9 & 0x1f) | uVar16 - *puVar10 >> (uVar9 & 0x1f)) ^
                     uVar9;
            uVar9 = (uVar9 - puVar10[-1] << (-uVar16 & 0x1f) |
                    uVar9 - puVar10[-1] >> (uVar16 & 0x1f)) ^ uVar16;
            uVar16 = (uVar16 - puVar10[-2] << (-uVar9 & 0x1f) |
                     uVar16 - puVar10[-2] >> (uVar9 & 0x1f)) ^ uVar9;
            if (-1 < iVar17) {
              puVar22 = puVar10 + -6;
              if ((int)(uVar7 * 0x40000000) < 0) {
                iVar17 = uVar26 - 5;
                uVar7 = (uVar9 - puVar10[-3] << (-uVar16 & 0x1f) |
                        uVar9 - puVar10[-3] >> (uVar16 & 0x1f)) ^ uVar16;
                uVar9 = (uVar16 - puVar10[-4] << (-uVar7 & 0x1f) |
                        uVar16 - puVar10[-4] >> (uVar7 & 0x1f)) ^ uVar7;
                uVar16 = uVar9 - puVar10[-6];
                uVar9 = (uVar7 - puVar10[-5] << (-uVar9 & 0x1f) |
                        uVar7 - puVar10[-5] >> (uVar9 & 0x1f)) ^ uVar9;
                uVar16 = (uVar16 << (-uVar9 & 0x1f) | uVar16 >> (uVar9 & 0x1f)) ^ uVar9;
                puVar22 = puVar10 + -10;
                if (iVar17 < 0) goto LAB_000104fc;
              }
              do {
                iVar17 = iVar17 + -4;
                uVar7 = (uVar9 - puVar22[3] << (-uVar16 & 0x1f) |
                        uVar9 - puVar22[3] >> (uVar16 & 0x1f)) ^ uVar16;
                uVar9 = (uVar16 - puVar22[2] << (-uVar7 & 0x1f) |
                        uVar16 - puVar22[2] >> (uVar7 & 0x1f)) ^ uVar7;
                uVar16 = (uVar7 - puVar22[1] << (-uVar9 & 0x1f) |
                         uVar7 - puVar22[1] >> (uVar9 & 0x1f)) ^ uVar9;
                uVar7 = (uVar9 - *puVar22 << (-uVar16 & 0x1f) | uVar9 - *puVar22 >> (uVar16 & 0x1f))
                        ^ uVar16;
                uVar9 = (uVar16 - puVar22[-1] << (-uVar7 & 0x1f) |
                        uVar16 - puVar22[-1] >> (uVar7 & 0x1f)) ^ uVar7;
                uVar7 = (uVar7 - puVar22[-2] << (-uVar9 & 0x1f) |
                        uVar7 - puVar22[-2] >> (uVar9 & 0x1f)) ^ uVar9;
                uVar9 = (uVar9 - puVar22[-3] << (-uVar7 & 0x1f) |
                        uVar9 - puVar22[-3] >> (uVar7 & 0x1f)) ^ uVar7;
                uVar16 = (uVar7 - puVar22[-4] << (-uVar9 & 0x1f) |
                         uVar7 - puVar22[-4] >> (uVar9 & 0x1f)) ^ uVar9;
                puVar22 = puVar22 + -8;
              } while (-1 < iVar17);
              uVar7 = puVar15[1];
              goto LAB_00010500;
            }
          }
        }
        else if (-1 < (int)uVar7) {
          if ((int)(uVar7 * -0x80000000) < 0) goto LAB_00010480;
          puVar22 = puVar10 + -2;
          uVar8 = uVar16 - *puVar10;
          uVar9 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)) ^
                  uVar16;
          uVar7 = uVar26;
          while( true ) {
            uVar7 = uVar7 - 2;
            uVar16 = (uVar8 << (-uVar9 & 0x1f) | uVar8 >> (uVar9 & 0x1f)) ^ uVar9;
            puVar10 = puVar22;
            if (uVar7 == 0xffffffff) break;
LAB_00010480:
            puVar22 = puVar10 + -4;
            uVar26 = (uVar9 - puVar10[1] << (-uVar16 & 0x1f) | uVar9 - puVar10[1] >> (uVar16 & 0x1f)
                     ) ^ uVar16;
            uVar9 = (uVar16 - *puVar10 << (-uVar26 & 0x1f) | uVar16 - *puVar10 >> (uVar26 & 0x1f)) ^
                    uVar26;
            uVar8 = uVar9 - puVar10[-2];
            uVar9 = (uVar26 - puVar10[-1] << (-uVar9 & 0x1f) |
                    uVar26 - puVar10[-1] >> (uVar9 & 0x1f)) ^ uVar9;
          }
        }
LAB_000104fc:
        uVar7 = puVar15[1];
LAB_00010500:
        iVar17 = uVar16 - uVar7;
        iVar27 = uVar9 - puVar15[2];
        *in_t8 = (char)iVar17;
        in_t8[4] = (char)iVar27;
        in_t8[3] = (char)((uint)iVar17 >> 0x18);
        in_t8[7] = (char)((uint)iVar27 >> 0x18);
        in_t8[6] = (char)((uint)iVar27 >> 0x10);
        in_t8[5] = (char)((uint)iVar27 >> 8);
        in_t8[2] = (char)((uint)iVar17 >> 0x10);
        in_t8[1] = (char)((uint)iVar17 >> 8);
        return 0;
      }
      goto LAB_00010768;
    }
  }
  iVar17 = 0xbe;
  pbVar11 = (byte *)0x0;
  (*__mips_gp0_value)();
  pcVar23 = __mips_gp0_value;
  local_54 = *(code **)__mips_gp0_value;
  uVar7 = 0;
  if (param_4 == (int *)0x0) goto LAB_00010bc8;
  pcVar25 = __mips_gp0_value;
  if (pbVar11 != (byte *)0x0) {
    if (iVar17 == 0) {
      iVar17 = 0xc;
LAB_00010814:
      puVar10 = (uint *)0x1;
      if (in_t0 + -2 < (uint *)0x79) {
        *param_4 = iVar17;
        uVar7 = (uint)*pbVar11;
        pbVar12 = pbVar11 + 1;
        uVar16 = (int)in_t0 - 1U & 3;
        uVar9 = 0;
        if (uVar16 == 0) goto LAB_000108e4;
        if (uVar16 != 1) {
          puVar10 = (uint *)0x2;
          uVar9 = uVar7;
          if (uVar16 != 2) {
            bVar6 = *pbVar12;
            pbVar12 = pbVar11 + 2;
            uVar9 = (uint)CONCAT11(*pbVar11,bVar6);
            puVar10 = (uint *)0x3;
          }
          uVar7 = (uint)*pbVar12 | uVar9 << 8;
          if (puVar10 == (uint *)0x0) {
            local_154[0] = ((((uVar9 << 8) >> 0x10) << 0x18) >> 0x10) +
                           ((uint)*pbVar12 << 8 | uVar9 & 0xff) * 0x10000;
            uVar7 = 0;
          }
          uVar9 = (uint)(puVar10 == (uint *)0x0);
          pbVar12 = pbVar12 + 1;
        }
        puVar10 = (uint *)((int)puVar10 + 1);
        uVar8 = uVar7 << 8;
        uVar26 = *pbVar12 | uVar8;
        uVar16 = uVar9;
        if (((uint)puVar10 & 3) == 0) {
          uVar16 = uVar9 + 1;
          uVar26 = 0;
          local_154[uVar9] =
               (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
               ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;
        }
        pbVar12 = pbVar12 + 1;
        uVar7 = uVar26;
        uVar9 = uVar16;
        while (in_t0 != puVar10) {
LAB_000108e4:
          uVar26 = uVar7 << 8;
          uVar8 = *pbVar12 | uVar26;
          uVar16 = uVar9;
          if (((int)puVar10 + 1U & 3) == 0) {
            uVar16 = uVar9 + 1;
            uVar8 = 0;
            local_154[uVar9] =
                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +
                 ((uint)*pbVar12 << 8 | uVar7 & 0xff) * 0x10000;
          }
          uVar26 = uVar8 << 8;
          uVar9 = pbVar12[1] | uVar26;
          uVar7 = uVar16;
          if (((int)puVar10 + 2U & 3) == 0) {
            uVar7 = uVar16 + 1;
            uVar9 = 0;
            local_154[uVar16] =
                 (((uVar26 >> 0x10) << 0x18 | (uVar26 >> 0x18) << 0x10) >> 0x10) +
                 ((uint)pbVar12[1] << 8 | uVar8 & 0xff) * 0x10000;
          }
          uVar8 = uVar9 << 8;
          uVar26 = pbVar12[2] | uVar8;
          uVar16 = uVar7;
          if (((int)puVar10 + 3U & 3) == 0) {
            uVar16 = uVar7 + 1;
            uVar26 = 0;
            local_154[uVar7] =
                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
                 ((uint)pbVar12[2] << 8 | uVar9 & 0xff) * 0x10000;
          }
          puVar10 = puVar10 + 1;
          uVar8 = uVar26 << 8;
          uVar7 = pbVar12[3] | uVar8;
          uVar9 = uVar16;
          if (((uint)puVar10 & 3) == 0) {
            uVar9 = uVar16 + 1;
            uVar7 = 0;
            local_154[uVar16] =
                 (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
                 ((uint)pbVar12[3] << 8 | uVar26 & 0xff) * 0x10000;
          }
          pbVar12 = pbVar12 + 4;
        }
        uVar16 = uVar9;
        if (((uint)in_t0 & 3) != 0) {
          uVar7 = uVar7 << ((4 - ((uint)in_t0 & 3)) * 8 & 0x1f);
          uVar16 = uVar9 + 1;
          local_154[uVar9] =
               (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
               ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
        }
        uVar9 = (iVar17 + 1) * 2;
        puVar10 = (uint *)(*__mips_gp0_value)(param_4 + 1,0x60,(iVar17 + 1) * 8);
        uVar7 = uVar9;
        if (uVar9 <= uVar16) {
          uVar7 = uVar16;
        }
        uVar7 = uVar7 * 3;
        if (uVar7 != 0) {
          uVar19 = 0;
          uVar8 = 0;
          uVar20 = 0;
          uVar26 = 0;
          uVar18 = 0;
          if ((uVar7 & 1) != 0) {
            uVar18 = (*puVar10 >> 0x1d) + *puVar10 * 8;
            *puVar10 = uVar18;
            uVar26 = local_154[0] + uVar18 >> (-uVar18 & 0x1f) |
                     local_154[0] + uVar18 << (uVar18 & 0x1f);
            local_154[0] = uVar26;
            uVar20 = (uint)(uVar9 != 1);
            uVar8 = (uint)(uVar16 != 1);
            uVar19 = 1;
            if (uVar7 == 1) goto LAB_00010b84;
          }
          do {
            uVar21 = uVar20 + 1;
            uVar28 = local_154[uVar8];
            uVar18 = uVar26 + puVar10[uVar20] + uVar18;
            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;
            puVar10[uVar20] = uVar18;
            uVar20 = uVar26 + uVar28 + uVar18;
            uVar26 = uVar20 >> (-(uVar18 + uVar26) & 0x1f) | uVar20 << (uVar18 + uVar26 & 0x1f);
            local_154[uVar8] = uVar26;
            if (uVar9 == uVar21) {
              uVar21 = 0;
            }
            uVar8 = uVar8 + 1;
            if (uVar16 == uVar8) {
              uVar8 = 0;
            }
            uVar20 = uVar21 + 1;
            uVar28 = local_154[uVar8];
            uVar18 = uVar26 + puVar10[uVar21] + uVar18;
            uVar18 = (uVar18 >> 0x1d) + uVar18 * 8;
            puVar10[uVar21] = uVar18;
            uVar21 = uVar26 + uVar28 + uVar18;
            uVar26 = uVar21 >> (-(uVar18 + uVar26) & 0x1f) | uVar21 << (uVar18 + uVar26 & 0x1f);
            local_154[uVar8] = uVar26;
            if (uVar9 == uVar20) {
              uVar20 = 0;
            }
            uVar8 = uVar8 + 1;
            if (uVar16 == uVar8) {
              uVar8 = 0;
            }
            uVar19 = uVar19 + 2;
          } while (uVar7 != uVar19);
        }
LAB_00010b84:
        iVar27 = 0;
      }
      else {
        iVar27 = 3;
      }
    }
    else {
      iVar27 = 4;
      if (iVar17 - 0xcU < 0xd) goto LAB_00010814;
    }
    unaff_s0 = local_54;
    pcVar23 = *(code **)pcVar23;
    if (local_54 == pcVar23) {
      return iVar27;
    }
    pcVar25 = __mips_gp0_value;
    (*__mips_gp0_value)();
  }
  unaff_s2 = 0;
  (*pcVar25)(0,0,0x3c);
LAB_00010bc8:
  (*__mips_gp0_value)(0,uVar7,0x3b);
  pcVar25 = __mips_gp0_value;
  piVar24 = (int *)0x0;
  iVar17 = 0;
  local_19c = *(int *)__mips_gp0_value;
  local_198 = unaff_s0;
  local_194 = pcVar23;
  local_190 = unaff_s2;
  do {
    piVar14 = piVar24;
    iVar27 = func_0x00000000(piVar24,0x10,0xc,auStack_1240);
    if (iVar27 != 0) break;
    piVar13 = aiStack_1248;
    func_0x00000000(piVar24 + 4,&local_1250,auStack_1240);
    func_0x00000000(&local_1250,piVar13,auStack_1240);
    piVar14 = &local_1250;
    iVar27 = (*__mips_gp0_value)(&local_1250,8,piVar24 + 6,8,0,iVar17);
    if ((iVar27 != 0) ||
       (iVar27 = (*__mips_gp0_value)(piVar13,8,piVar24 + 4,8,0,iVar17), piVar14 = piVar13,
       iVar27 != 0)) {
LAB_00010ea0:
      iVar27 = 5;
      break;
    }
    iVar27 = 1000;
    local_1250 = 0;
    local_124c = 0;
    do {
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      iVar27 = iVar27 + -8;
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
    } while (iVar27 != 0);
    iVar27 = 1000;
    do {
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      iVar27 = iVar27 + -8;
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
      func_0x00000000(&local_1250,&local_1250,auStack_1240);
    } while (iVar27 != 0);
    piVar14 = (int *)(local_1250 >> 0x10 & 0xff);
    if (((((local_1250._0_1_ != '\0') || (piVar14 != (int *)0x0)) || (local_1250._2_1_ != '\0')) ||
        (((char)local_1250 != '\0' || (local_124c._0_1_ != '\0')))) ||
       ((local_124c._1_1_ != '\0' || ((local_124c._2_1_ != '\0' || ((char)local_124c != '\0'))))))
    goto LAB_00010ea0;
    iVar17 = iVar17 + 1;
    piVar24 = piVar24 + 8;
    iVar27 = 0;
  } while (iVar17 != 3);
  if (local_19c == *(int *)pcVar25) {
    return iVar27;
  }
  (*__mips_gp0_value)();
  if (piVar14 == (int *)0x0) {
    (*__mips_gp0_value)(0,0,0x132);
                    /* WARNING: Bad instruction - Truncating control flow here */
    halt_baddata();
  }
  if (*piVar14 < 8) {
    return 3;
  }
  if (*piVar14 < 0x81) {
    return 0;
  }
  *piVar14 = 0x80;
  return 0;
}

