
int utimecmpat(int dfd,char *dst_name,stat *dst_stat,stat *src_stat,int options)

{
  uint uVar1;
  char *dst_name_00;
  fs_res *pfVar2;
  int iVar3;
  int iVar4;
  stat *dst_stat_00;
  stat *hasher;
  uint uVar5;
  int iVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  int iVar11;
  int iVar12;
  uint uVar13;
  Hash_table *pHVar14;
  int iVar15;
  fs_res tmp_dst_res;
  timespec timespec [2];
  stat dst_status;
  
  dst_name_00 = *(char **)PTR___stack_chk_guard_00045630;
  uVar10 = (dst_stat->st_mtim).tv_sec;
  uVar9 = (src_stat->st_mtim).tv_sec;
  iVar12 = (dst_stat->st_mtim).tv_nsec;
  uVar8 = options & 1;
  iVar11 = (src_stat->st_mtim).tv_nsec;
  dst_stat_00 = (stat *)dst_name;
  hasher = dst_stat;
  if (uVar8 != 0) {
    if (uVar10 == uVar9) {
      if (iVar11 == iVar12) {
        uVar8 = 0;
        goto LAB_00027074;
      }
      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);
    }
    else {
      if ((int)uVar10 < (int)(uVar9 - 1)) {
        uVar8 = 0xffffffff;
        goto LAB_00027074;
      }
      if ((int)uVar9 < (int)(uVar10 - 1)) goto LAB_00027074;
      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);
    }
    if (pHVar14 == (Hash_table *)0x0) {
      src_stat = (stat *)(PTR_LAB_0004521c + 0x6948);
      hasher = (stat *)(PTR_LAB_0004521c + 0x6900);
      pHVar14 = hash_initialize(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,
                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c);
      *(Hash_table **)(PTR_DAT_00045118 + 0x5c64) = pHVar14;
      if (pHVar14 != (Hash_table *)0x0) goto LAB_00026a18;
LAB_00026b00:
      uVar5 = 2000000000;
      tmp_dst_res.resolution = 2000000000;
      tmp_dst_res.exact = false;
      pfVar2 = &tmp_dst_res;
LAB_00026b10:
      iVar6 = (dst_stat->st_atim).tv_nsec;
      hasher = (stat *)(dst_stat->st_ctim).tv_nsec;
      dst_stat_00 = (stat *)((int)hasher / 10);
      uVar1 = uVar8;
      if ((iVar6 % 10 == 0 && (int)hasher % 10 == 0) && iVar12 % 10 == 0) {
        uVar7 = (dst_stat->st_atim).tv_sec;
        iVar15 = iVar6 / 10;
        dst_stat_00 = (stat *)((int)hasher / 10);
        iVar4 = iVar12 / 10;
        if ((int)uVar5 < 0xb) {
          uVar13 = 10;
          hasher = (stat *)((int)hasher >> 0x1f);
        }
        else {
          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);
          src_stat = (stat *)((iVar4 / 10) * 4);
          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {
            uVar13 = 10;
            src_stat = (stat *)0x66666667;
            iVar3 = 0x28;
            do {
              iVar3 = iVar3 + uVar13;
              uVar13 = iVar3 * 2;
              iVar15 = iVar15 / 10;
              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);
              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));
              iVar4 = (int)hasher - (iVar4 >> 0x1f);
              if ((int)uVar5 <= (int)uVar13) {
                pfVar2->resolution = uVar13;
                goto LAB_00026d7c;
              }
              hasher = (stat *)(iVar4 % 10);
              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {
                pfVar2->resolution = uVar13;
                uVar1 = uVar13;
                if ((int)uVar13 < 2) goto LAB_00026ec8;
                goto LAB_00026d7c;
              }
              iVar3 = iVar3 * 8;
            } while (uVar13 != 1000000000);
            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {
              uVar13 = 2000000000;
            }
          }
          else {
            uVar13 = 10;
          }
        }
        pfVar2->resolution = uVar13;
LAB_00026d7c:
        dst_stat = hasher;
        if (((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))
        goto LAB_00027074;
        uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9;
        if ((int)uVar10 < (int)uVar5) {
          uVar8 = 0xffffffff;
          goto LAB_00027074;
        }
        if (uVar10 == uVar5) {
          if (uVar13 == 0) {
            trap(7);
          }
          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {
            uVar8 = 0xffffffff;
            goto LAB_00027074;
          }
        }
        timespec[1].tv_sec = uVar13 == 2000000000 | uVar10;
        timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12;
        src_stat = (stat *)&DAT_00000100;
        dst_stat = (stat *)timespec;
        dst_stat_00 = (stat *)dst_name;
        timespec[0].tv_sec = uVar7;
        timespec[0].tv_nsec = iVar6;
        iVar6 = (*(code *)PTR_utimensat_00045680)(dfd);
        if (iVar6 != 0) {
          uVar8 = 0xfffffffe;
          goto LAB_00027074;
        }
        hasher = (stat *)dst_name;
        iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100);
        src_stat = (stat *)&DAT_00000100;
        if ((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||
            iVar6 != 0) {
          hasher = (stat *)timespec;
          timespec[1].tv_sec = uVar10;
          timespec[1].tv_nsec = iVar12;
          (*(code *)PTR_utimensat_00045680)(dfd);
          if (iVar6 != 0) {
            uVar8 = 0xfffffffe;
            dst_stat_00 = (stat *)dst_name;
            dst_stat = hasher;
            goto LAB_00027074;
          }
        }
        dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000);
        iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4;
        uVar1 = uVar8;
        if ((iVar6 == (iVar6 / 10) * 10) &&
           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)) {
          uVar8 = 10;
          dst_stat_00 = (stat *)0x66666667;
          hasher = (stat *)0x3b9aca00;
          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);
          do {
            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);
            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);
            uVar1 = uVar8;
            if (iVar6 != (iVar6 / 10) * 10) break;
            if (uVar8 == 1000000000) {
              uVar1 = 2000000000;
              break;
            }
            uVar8 = uVar8 * 10;
            uVar1 = uVar13;
          } while (uVar8 != uVar13);
        }
      }
LAB_00026ec8:
      uVar5 = uVar1;
      pfVar2->resolution = uVar5;
      pfVar2->exact = true;
    }
    else {
LAB_00026a18:
      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {
        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);
        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;
        if (iVar6 != 0) {
          *(undefined4 *)(iVar6 + 8) = 2000000000;
          *(undefined1 *)(iVar6 + 0xc) = 0;
          goto LAB_00026a28;
        }
        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);
LAB_00026e84:
        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;
        tmp_dst_res.dev._0_4_ = 0;
        dst_stat_00 = (stat *)&tmp_dst_res;
        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);
        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;
      }
      else {
LAB_00026a28:
        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);
        dst_stat_00->st_pad1[0] = dst_stat->st_dev;
        dst_stat_00->st_dev = 0;
        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);
        if (pfVar2 == (fs_res *)0x0) {
          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);
          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;
          goto LAB_00026e84;
        }
        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {
          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;
        }
      }
      uVar5 = pfVar2->resolution;
      if (pfVar2->exact == false) goto LAB_00026b10;
    }
    uVar9 = uVar9 & ~(uint)(uVar5 == 2000000000);
    if (uVar5 == 0) {
      trap(7);
    }
    iVar11 = iVar11 - iVar11 % (int)uVar5;
  }
  dst_stat = hasher;
  if ((int)uVar10 < (int)uVar9) {
    uVar8 = 0xffffffff;
  }
  else if (uVar9 == uVar10) {
    if (iVar12 < iVar11) {
      uVar8 = 0xffffffff;
    }
    else {
      uVar8 = (uint)(iVar11 < iVar12);
    }
  }
  else {
    uVar8 = 1;
  }
LAB_00027074:
  if (dst_name_00 != *(char **)PTR___stack_chk_guard_00045630) {
    (*(code *)PTR___stack_chk_fail_00045600)();
    iVar11 = utimecmpat(-100,dst_name_00,dst_stat_00,dst_stat,(int)src_stat);
    return iVar11;
  }
  return uVar8;
}



uint utimecmpat(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)

{
  uint uVar1;
  uint *puVar2;
  int iVar3;
  int iVar4;
  uint *puVar5;
  uint *puVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  int iVar15;
  uint local_f0;
  uint local_ec;
  undefined4 local_e8;
  undefined1 local_e4;
  uint local_e0;
  uint local_dc;
  uint local_d8;
  uint local_d4;
  undefined1 auStack_d0 [72];
  uint local_88;
  uint local_84;
  int local_2c;
  
  local_2c = *(int *)PTR___stack_chk_guard_00045630;
  uVar11 = param_3[0x12];
  uVar10 = *(uint *)(param_4 + 0x48);
  uVar13 = param_3[0x13];
  param_5 = param_5 & 1;
  uVar12 = *(uint *)(param_4 + 0x4c);
  puVar5 = param_2;
  puVar6 = param_3;
  if (param_5 != 0) {
    if (uVar11 == uVar10) {
      if (uVar12 == uVar13) {
        param_5 = 0;
        goto LAB_00027074;
      }
      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);
    }
    else {
      if ((int)uVar11 < (int)(uVar10 - 1)) {
        param_5 = 0xffffffff;
        goto LAB_00027074;
      }
      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;
      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);
    }
    if (iVar15 == 0) {
      param_4 = PTR_LAB_0004521c + 0x6948;
      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);
      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);
      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;
      if (iVar15 != 0) goto LAB_00026a18;
LAB_00026b00:
      uVar7 = 2000000000;
      local_e8 = 2000000000;
      local_e4 = 0;
      puVar2 = &local_f0;
LAB_00026b10:
      uVar8 = param_3[0x11];
      puVar6 = (uint *)param_3[0x15];
      puVar5 = (uint *)((int)puVar6 / 10);
      uVar1 = param_5;
      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {
        uVar9 = param_3[0x10];
        iVar15 = (int)uVar8 / 10;
        puVar5 = (uint *)((int)puVar6 / 10);
        iVar4 = (int)uVar13 / 10;
        if ((int)uVar7 < 0xb) {
          uVar14 = 10;
          puVar6 = (uint *)((int)puVar6 >> 0x1f);
        }
        else {
          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);
          param_4 = (undefined *)((iVar4 / 10) * 4);
          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {
            uVar14 = 10;
            param_4 = (undefined *)0x66666667;
            iVar3 = 0x28;
            do {
              iVar3 = iVar3 + uVar14;
              uVar14 = iVar3 * 2;
              iVar15 = iVar15 / 10;
              puVar5 = (uint *)((int)puVar5 / 10);
              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));
              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);
              if ((int)uVar7 <= (int)uVar14) {
                puVar2[2] = uVar14;
                goto LAB_00026d7c;
              }
              puVar6 = (uint *)(iVar4 % 10);
              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {
                puVar2[2] = uVar14;
                uVar1 = uVar14;
                if ((int)uVar14 < 2) goto LAB_00026ec8;
                goto LAB_00026d7c;
              }
              iVar3 = iVar3 * 8;
            } while (uVar14 != 1000000000);
            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {
              uVar14 = 2000000000;
            }
          }
          else {
            uVar14 = 10;
          }
        }
        puVar2[2] = uVar14;
LAB_00026d7c:
        param_3 = puVar6;
        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))
        goto LAB_00027074;
        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;
        if ((int)uVar11 < (int)uVar7) {
          param_5 = 0xffffffff;
          goto LAB_00027074;
        }
        if (uVar11 == uVar7) {
          if (uVar14 == 0) {
            trap(7);
          }
          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {
            param_5 = 0xffffffff;
            goto LAB_00027074;
          }
        }
        local_d8 = uVar14 == 2000000000 | uVar11;
        local_d4 = (int)uVar14 / 9 + uVar13;
        param_4 = (undefined *)0x100;
        param_3 = &local_e0;
        puVar5 = param_2;
        local_e0 = uVar9;
        local_dc = uVar8;
        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);
        if (iVar15 != 0) {
          param_5 = 0xfffffffe;
          goto LAB_00027074;
        }
        puVar6 = param_2;
        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);
        param_4 = (undefined *)0x100;
        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {
          puVar6 = &local_e0;
          local_d8 = uVar11;
          local_d4 = uVar13;
          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);
          if (iVar15 != 0) {
            param_5 = 0xfffffffe;
            puVar5 = param_2;
            param_3 = puVar6;
            goto LAB_00027074;
          }
        }
        puVar5 = (uint *)((local_88 & 1) * 1000000000);
        iVar15 = (int)puVar5 + local_84;
        uVar1 = param_5;
        if ((iVar15 == (iVar15 / 10) * 10) &&
           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {
          uVar7 = 10;
          puVar5 = (uint *)0x66666667;
          puVar6 = (uint *)0x3b9aca00;
          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);
          do {
            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);
            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);
            uVar1 = uVar7;
            if (iVar15 != (iVar15 / 10) * 10) break;
            if (uVar7 == 1000000000) {
              uVar1 = 2000000000;
              break;
            }
            uVar7 = uVar7 * 10;
            uVar1 = uVar14;
          } while (uVar7 != uVar14);
        }
      }
LAB_00026ec8:
      uVar7 = uVar1;
      puVar2[2] = uVar7;
      *(undefined1 *)(puVar2 + 3) = 1;
    }
    else {
LAB_00026a18:
      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {
        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);
        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;
        if (iVar4 != 0) {
          *(undefined4 *)(iVar4 + 8) = 2000000000;
          *(undefined1 *)(iVar4 + 0xc) = 0;
          goto LAB_00026a28;
        }
        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);
LAB_00026e84:
        local_ec = *param_3;
        local_f0 = 0;
        puVar5 = &local_f0;
        puVar2 = (uint *)hash_lookup(iVar15,puVar5);
        if (puVar2 == (uint *)0x0) goto LAB_00026b00;
      }
      else {
LAB_00026a28:
        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);
        puVar5[1] = *param_3;
        *puVar5 = 0;
        puVar2 = (uint *)hash_insert(iVar15);
        if (puVar2 == (uint *)0x0) {
          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);
          if (iVar15 == 0) goto LAB_00026b00;
          goto LAB_00026e84;
        }
        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {
          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;
        }
      }
      uVar7 = puVar2[2];
      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;
    }
    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);
    if (uVar7 == 0) {
      trap(7);
    }
    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;
  }
  param_3 = puVar6;
  if ((int)uVar11 < (int)uVar10) {
    param_5 = 0xffffffff;
  }
  else if (uVar10 == uVar11) {
    if ((int)uVar13 < (int)uVar12) {
      param_5 = 0xffffffff;
    }
    else {
      param_5 = (uint)((int)uVar12 < (int)uVar13);
    }
  }
  else {
    param_5 = 1;
  }
LAB_00027074:
  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {
    iVar15 = local_2c;
    (*(code *)PTR___stack_chk_fail_00045600)();
    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);
    return uVar10;
  }
  return param_5;
}


lui gp,0x2
addiu gp,gp,0x6784
addu gp,gp,t9
addiu sp,sp,-0x118
sw ra,0x114(sp)
sw s8,0x110(sp)
sw s7,0x10c(sp)
sw s6,0x108(sp)
sw s5,0x104(sp)
sw s4,0x100(sp)
sw s3,0xfc(sp)
sw s2,0xf8(sp)
sw s1,0xf4(sp)
sw s0,0xf0(sp)
sw gp,0x18(sp)
lw v0,-0x7ac0(gp)
lw v0,0x0(v0)
sw v0,0xec(sp)
lw s2,0x48(a2)
lw s1,0x48(a3)
lw s4,0x4c(a2)
lw s0,0x128(sp)
andi s0,s0,0x1
beq s0,zero,0x00026a9c
_lw s3,0x4c(a3)
or s7,a0,zero
or s8,a1,zero
beq s2,s1,0x00026a04
_or s5,a2,zero
addiu v0,s1,-0x1
slt v0,s2,v0
bne v0,zero,0x0002705c
_addiu v0,s2,-0x1
slt v0,s1,v0
bne v0,zero,0x00027070
_lw v0,-0x7fd8(gp)
b 0x00026a10
_lw s6,0x5c64(v0)
beq s3,s4,0x00027054
_lw v0,-0x7fd8(gp)
lw s6,0x5c64(v0)
beq s6,zero,0x00026ac0
_lw v0,-0x7ab4(gp)
lw v0,-0x7fd8(gp)
lw v0,0x5c60(v0)
beq v0,zero,0x00026e3c
_li a0,0x10
lw v0,-0x7fd8(gp)
lw a1,0x5c60(v0)
lw v0,0x0(s5)
sw v0,0x4(a1)
sw zero,0x0(a1)
or a0,s6,zero
lw t9,-0x7e88(gp)
bal 0x00022970
_nop
lw gp,0x18(sp)
beq v0,zero,0x00026e74
_or s6,v0,zero
lw v0,-0x7fd8(gp)
lw v0,0x5c60(v0)
beq v0,s6,0x00026e6c
_lw v0,-0x7fd8(gp)
lbu v0,0xc(s6)
beq v0,zero,0x00026b10
_lw t0,0x8(s6)
lui v0,0x88ca
addiu v0,v0,0x6c00
addu v0,t0,v0
sltiu v0,v0,0x1
nor v0,zero,v0
and s1,s1,v0
teq t0,zero
div s3,t0
mfhi t0
subu s3,s3,t0
slt v0,s2,s1
bne v0,zero,0x00027064
_nop
bne s1,s2,0x0002706c
_slt v0,s4,s3
bne v0,zero,0x000270b4
_nop
b 0x00027070
_slt s0,s3,s4
sw v0,0x10(sp)
lw a3,-0x7ed4(gp)
addiu a3,a3,0x6948
lw a2,-0x7ed4(gp)
addiu a2,a2,0x6900
or a1,zero,zero
li a0,0x10
lw t9,-0x7f18(gp)
bal 0x00022100
_nop
lw gp,0x18(sp)
or s6,v0,zero
lw v0,-0x7fd8(gp)
bne s6,zero,0x00026a18
_sw s6,0x5c64(v0)
lui t0,0x7735
ori t0,t0,0x9400
sw t0,0x30(sp)
sb zero,0x34(sp)
addiu s6,sp,0x28
lw t1,0x44(s5)
lw a2,0x54(s5)
lui v1,0x6666
addiu v1,v1,0x6667
mult t1,v1
mfhi v0
sra v0,v0,0x2
sra a0,t1,0x1f
subu a0,v0,a0
sll v0,a0,0x2
addu v0,v0,a0
sll v0,v0,0x1
subu v0,t1,v0
mult a2,v1
mfhi a0
sra a0,a0,0x2
sra a1,a2,0x1f
subu a1,a0,a1
sll a0,a1,0x2
addu a0,a0,a1
sll a0,a0,0x1
subu a0,a2,a0
or v0,v0,a0
mult s4,v1
mfhi v1
sra v1,v1,0x2
sra a0,s4,0x1f
subu v1,v1,a0
sll a0,v1,0x2
addu v1,a0,v1
sll v1,v1,0x1
subu v1,s4,v1
or v0,v0,v1
bne v0,zero,0x00026ec8
_lui v0,0x6666
lw t3,0x40(s5)
addiu v0,v0,0x6667
mult t1,v0
mfhi a0
sra a0,a0,0x2
sra v1,t1,0x1f
subu a0,a0,v1
mult a2,v0
mfhi a1
sra a1,a1,0x2
sra a2,a2,0x1f
mult s4,v0
mfhi v1
sra v1,v1,0x2
sra v0,s4,0x1f
subu v1,v1,v0
slti v0,t0,0xb
bne v0,zero,0x000270bc
_subu a1,a1,a2
lui v0,0x6666
addiu v0,v0,0x6667
mult a0,v0
mfhi a2
sra a2,a2,0x2
sra a3,a0,0x1f
subu a3,a2,a3
sll a2,a3,0x2
addu a2,a2,a3
sll a2,a2,0x1
subu a2,a0,a2
mult a1,v0
mfhi a3
sra a3,a3,0x2
sra t2,a1,0x1f
subu t2,a3,t2
sll a3,t2,0x2
addu a3,a3,t2
sll a3,a3,0x1
subu a3,a1,a3
or a2,a2,a3
mult v1,v0
mfhi v0
sra v0,v0,0x2
sra a3,v1,0x1f
subu v0,v0,a3
sll a3,v0,0x2
addu v0,a3,v0
sll v0,v0,0x1
subu v0,v1,v0
or v0,a2,v0
bne v0,zero,0x00026eb4
_nop
lw t4,0x50(s5)
li s5,0xa
lui a3,0x6666
addiu a3,a3,0x6667
lui t2,0x3b9a
ori t2,t2,0xca00
sll v0,s5,0x2
addu s5,v0,s5
sll v0,s5,0x1
or s5,v0,zero
mult a0,a3
mfhi a2
sra a2,a2,0x2
sra a0,a0,0x1f
subu a0,a2,a0
mult a1,a3
mfhi a2
sra a2,a2,0x2
sra a1,a1,0x1f
subu a1,a2,a1
mult v1,a3
mfhi a2
sra a2,a2,0x2
sra v1,v1,0x1f
slt v0,v0,t0
beq v0,zero,0x000270d0
_subu v1,a2,v1
mult a0,a3
mfhi v0
sra v0,v0,0x2
sra a2,a0,0x1f
subu v0,v0,a2
sll a2,v0,0x2
addu v0,a2,v0
sll v0,v0,0x1
subu a2,a0,v0
mult a1,a3
mfhi v0
sra v0,v0,0x2
sra t5,a1,0x1f
subu t5,v0,t5
sll v0,t5,0x2
addu v0,v0,t5
sll v0,v0,0x1
subu v0,a1,v0
or v0,a2,v0
mult v1,a3
mfhi a2
sra a2,a2,0x2
sra t5,v1,0x1f
subu t5,a2,t5
sll a2,t5,0x2
addu a2,a2,t5
sll a2,a2,0x1
subu a2,v1,a2
or v0,v0,a2
bne v0,zero,0x00026ebc
_slti v0,s5,0x2
bne s5,t2,0x00026c88
_sll v0,s5,0x2
or v0,s2,t3
or t4,v0,t4
andi t4,t4,0x1
bne t4,zero,0x00026d78
_nop
lui s5,0x7735
ori s5,s5,0x9400
sw s5,0x8(s6)
slt v0,s1,s2
bne v0,zero,0x00027074
_or v0,s0,zero
beq s2,s1,0x00026edc
_slt v0,s4,s3
lui v0,0x88ca
addiu v0,v0,0x6c00
addu v0,s5,v0
sltiu v0,v0,0x1
nor v1,zero,v0
and v1,v1,s1
slt a0,s2,v1
bne a0,zero,0x00027044
_nop
bne s2,v1,0x00026dd8
_nop
teq s5,zero
div s3,s5
mfhi v1
subu v1,s3,v1
slt v1,s4,v1
bne v1,zero,0x0002704c
_nop
sw t3,0x38(sp)
sw t1,0x3c(sp)
or v0,v0,s2
sw v0,0x40(sp)
lui v0,0x38e3
ori v0,v0,0x8e39
mult s5,v0
mfhi v0
sra v0,v0,0x1
sra v1,s5,0x1f
subu v0,v0,v1
addu v0,v0,s4
sw v0,0x44(sp)
li a3,0x100
addiu a2,sp,0x38
or a1,s8,zero
or a0,s7,zero
lw t9,-0x7a70(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x00026eec
_li v0,0x100
b 0x00027070
_li s0,-0x2
lw t9,-0x7b5c(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v1,-0x7fd8(gp)
beq v0,zero,0x000270c4
_sw v0,0x5c60(v1)
lui v1,0x7735
ori v1,v1,0x9400
sw v1,0x8(v0)
b 0x00026a28
_sb zero,0xc(v0)
b 0x00026a68
_sw zero,0x5c60(v0)
lw v0,-0x7fd8(gp)
lw a0,0x5c64(v0)
beq a0,zero,0x00026b00
_lui t0,0x7735
lw v0,0x0(s5)
sw v0,0x2c(sp)
sw zero,0x28(sp)
addiu a1,sp,0x28
lw t9,-0x7e90(gp)
bal 0x00021d6c
_nop
lw gp,0x18(sp)
bne v0,zero,0x00026a68
_or s6,v0,zero
b 0x00026b00
_lui t0,0x7735
b 0x00026d78
_li s5,0xa
beq v0,zero,0x00026d7c
_sw s5,0x8(s6)
or s0,s5,zero
sw s0,0x8(s6)
li v0,0x1
sb v0,0xc(s6)
b 0x00026a74
_or t0,s0,zero
bne v0,zero,0x00026d90
_or v0,s0,zero
b 0x00027074
_nop
sw v0,0x10(sp)
addiu a3,sp,0x48
or a2,s8,zero
or a1,s7,zero
li a0,0x3
lw t9,-0x7b10(gp)
jalr t9
_nop
lw gp,0x18(sp)
or a0,v0,zero
sw v0,0x24(sp)
lw v0,0x90(sp)
xor v0,s2,v0
lw v1,0x94(sp)
xor v1,s4,v1
or v0,v0,v1
or v0,v0,a0
bne v0,zero,0x00026ff8
_li a3,0x100
lw v0,0x90(sp)
andi v1,v0,0x1
lui v0,0x3b9a
ori v0,v0,0xca00
lw a0,0x94(sp)
mul a1,v1,v0
addu v0,a1,a0
lui v1,0x6666
addiu v1,v1,0x6667
mult v0,v1
mfhi v1
sra v1,v1,0x2
sra a0,v0,0x1f
subu v1,v1,a0
sll a0,v1,0x2
addu v1,a0,v1
sll v1,v1,0x1
bne v0,v1,0x00026ec8
_li v1,0xa
beq s5,v1,0x00027030
_lui a1,0x6666
li s0,0xa
addiu a1,a1,0x6667
lui a2,0x3b9a
ori a2,a2,0xca00
mult v0,a1
mfhi v1
sra v1,v1,0x2
sra v0,v0,0x1f
subu v0,v1,v0
mult v0,a1
mfhi v1
sra v1,v1,0x2
sra a0,v0,0x1f
subu v1,v1,a0
sll a0,v1,0x2
addu v1,a0,v1
sll v1,v1,0x1
bne v0,v1,0x00026ec8
_nop
beq s0,a2,0x00027038
_sll v1,s0,0x2
addu s0,v1,s0
sll s0,s0,0x1
bne s0,s5,0x00026fa4
_mfhi v1
b 0x00026ec8
_or s0,s5,zero
sw s2,0x40(sp)
sw s4,0x44(sp)
addiu a2,sp,0x38
or a1,s8,zero
or a0,s7,zero
lw t9,-0x7a70(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v0,0x24(sp)
beq v0,zero,0x00026f3c
_lw v0,0x90(sp)
b 0x00027070
_li s0,-0x2
b 0x00026ec8
_or s0,s5,zero
lui s0,0x7735
b 0x00026ec8
_ori s0,s0,0x9400
b 0x00027070
_li s0,-0x1
b 0x00027070
_li s0,-0x1
b 0x00027070
_or s0,zero,zero
b 0x00027070
_li s0,-0x1
b 0x00027070
_li s0,-0x1
li s0,0x1
or v0,s0,zero
lw a0,0xec(sp)
lw v1,-0x7ac0(gp)
lw v1,0x0(v1)
bne a0,v1,0x000270d8
_lw ra,0x114(sp)
lw s8,0x110(sp)
lw s7,0x10c(sp)
lw s6,0x108(sp)
lw s5,0x104(sp)
lw s4,0x100(sp)
lw s3,0xfc(sp)
lw s2,0xf8(sp)
lw s1,0xf4(sp)
lw s0,0xf0(sp)
jr ra
_addiu sp,sp,0x118
b 0x00027070
_li s0,-0x1
b 0x00026d78
_li s5,0xa
lw v0,-0x7fd8(gp)
b 0x00026e84
_lw a0,0x5c64(v0)
b 0x00026d7c
_sw s5,0x8(s6)
lw t9,-0x7af0(gp)
jalr t9
_nop
(translation_unit "uint utimecmpat(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)\n\n{\n  uint uVar1;\n  uint *puVar2;\n  int iVar3;\n  int iVar4;\n  uint *puVar5;\n  uint *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint local_f0;\n  uint local_ec;\n  undefined4 local_e8;\n  undefined1 local_e4;\n  uint local_e0;\n  uint local_dc;\n  uint local_d8;\n  uint local_d4;\n  undefined1 auStack_d0 [72];\n  uint local_88;\n  uint local_84;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_00045630;\n  uVar11 = param_3[0x12];\n  uVar10 = *(uint *)(param_4 + 0x48);\n  uVar13 = param_3[0x13];\n  param_5 = param_5 & 1;\n  uVar12 = *(uint *)(param_4 + 0x4c);\n  puVar5 = param_2;\n  puVar6 = param_3;\n  if (param_5 != 0) {\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }\n  param_3 = puVar6;\n  if ((int)uVar11 < (int)uVar10) {\n    param_5 = 0xffffffff;\n  }\n  else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }\nLAB_00027074:\n  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }\n  return param_5;\n}\n\n" (function_definition "uint utimecmpat(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)\n\n{\n  uint uVar1;\n  uint *puVar2;\n  int iVar3;\n  int iVar4;\n  uint *puVar5;\n  uint *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint local_f0;\n  uint local_ec;\n  undefined4 local_e8;\n  undefined1 local_e4;\n  uint local_e0;\n  uint local_dc;\n  uint local_d8;\n  uint local_d4;\n  undefined1 auStack_d0 [72];\n  uint local_88;\n  uint local_84;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_00045630;\n  uVar11 = param_3[0x12];\n  uVar10 = *(uint *)(param_4 + 0x48);\n  uVar13 = param_3[0x13];\n  param_5 = param_5 & 1;\n  uVar12 = *(uint *)(param_4 + 0x4c);\n  puVar5 = param_2;\n  puVar6 = param_3;\n  if (param_5 != 0) {\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }\n  param_3 = puVar6;\n  if ((int)uVar11 < (int)uVar10) {\n    param_5 = 0xffffffff;\n  }\n  else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }\nLAB_00027074:\n  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }\n  return param_5;\n}" type_identifier (function_declarator "utimecmpat(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)" identifier (parameter_list "(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "uint param_5" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint *puVar2;\n  int iVar3;\n  int iVar4;\n  uint *puVar5;\n  uint *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint local_f0;\n  uint local_ec;\n  undefined4 local_e8;\n  undefined1 local_e4;\n  uint local_e0;\n  uint local_dc;\n  uint local_d8;\n  uint local_d4;\n  undefined1 auStack_d0 [72];\n  uint local_88;\n  uint local_84;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_00045630;\n  uVar11 = param_3[0x12];\n  uVar10 = *(uint *)(param_4 + 0x48);\n  uVar13 = param_3[0x13];\n  param_5 = param_5 & 1;\n  uVar12 = *(uint *)(param_4 + 0x4c);\n  puVar5 = param_2;\n  puVar6 = param_3;\n  if (param_5 != 0) {\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }\n  param_3 = puVar6;\n  if ((int)uVar11 < (int)uVar10) {\n    param_5 = 0xffffffff;\n  }\n  else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }\nLAB_00027074:\n  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }\n  return param_5;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "uint local_ec;" type_identifier identifier ;) (declaration "undefined4 local_e8;" type_identifier identifier ;) (declaration "undefined1 local_e4;" type_identifier identifier ;) (declaration "uint local_e0;" type_identifier identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "uint local_d8;" type_identifier identifier ;) (declaration "uint local_d4;" type_identifier identifier ;) (declaration "undefined1 auStack_d0 [72];" type_identifier (array_declarator "auStack_d0 [72]" identifier [ number_literal ]) ;) (declaration "uint local_88;" type_identifier identifier ;) (declaration "uint local_84;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00045630;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00045630" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00045630" * (cast_expression "(int *)PTR___stack_chk_guard_00045630" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar11 = param_3[0x12];" (assignment_expression "uVar11 = param_3[0x12]" identifier = (subscript_expression "param_3[0x12]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = *(uint *)(param_4 + 0x48);" (assignment_expression "uVar10 = *(uint *)(param_4 + 0x48)" identifier = (pointer_expression "*(uint *)(param_4 + 0x48)" * (cast_expression "(uint *)(param_4 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x48)" ( (binary_expression "param_4 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = param_3[0x13];" (assignment_expression "uVar13 = param_3[0x13]" identifier = (subscript_expression "param_3[0x13]" identifier [ number_literal ])) ;) (expression_statement "param_5 = param_5 & 1;" (assignment_expression "param_5 = param_5 & 1" identifier = (binary_expression "param_5 & 1" identifier & number_literal)) ;) (expression_statement "uVar12 = *(uint *)(param_4 + 0x4c);" (assignment_expression "uVar12 = *(uint *)(param_4 + 0x4c)" identifier = (pointer_expression "*(uint *)(param_4 + 0x4c)" * (cast_expression "(uint *)(param_4 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x4c)" ( (binary_expression "param_4 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = param_2;" (assignment_expression "puVar5 = param_2" identifier = identifier) ;) (expression_statement "puVar6 = param_3;" (assignment_expression "puVar6 = param_3" identifier = identifier) ;) (if_statement "if (param_5 != 0) {\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }" { (if_statement "if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" if (parenthesized_expression "(uVar11 == uVar10)" ( (binary_expression "uVar11 == uVar10" identifier == identifier) )) (compound_statement "{\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" { (if_statement "if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }" if (parenthesized_expression "(uVar12 == uVar13)" ( (binary_expression "uVar12 == uVar13" identifier == identifier) )) (compound_statement "{\n        param_5 = 0;\n        goto LAB_00027074;\n      }" { (expression_statement "param_5 = 0;" (assignment_expression "param_5 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" else (compound_statement "{\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" { (if_statement "if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }" if (parenthesized_expression "((int)uVar11 < (int)(uVar10 - 1))" ( (binary_expression "(int)uVar11 < (int)(uVar10 - 1)" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(uVar10 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )))) )) (compound_statement "{\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }" { (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (if_statement "if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;" if (parenthesized_expression "((int)uVar10 < (int)(uVar11 - 1))" ( (binary_expression "(int)uVar10 < (int)(uVar11 - 1)" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(uVar11 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar11 - 1)" ( (binary_expression "uVar11 - 1" identifier - number_literal) )))) )) (goto_statement "goto LAB_00027074;" goto statement_identifier ;)) (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }" { (expression_statement "param_4 = PTR_LAB_0004521c + 0x6948;" (assignment_expression "param_4 = PTR_LAB_0004521c + 0x6948" identifier = (binary_expression "PTR_LAB_0004521c + 0x6948" identifier + number_literal)) ;) (expression_statement "puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);" (assignment_expression "puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900)" identifier = (cast_expression "(uint *)(PTR_LAB_0004521c + 0x6900)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0004521c + 0x6900)" ( (binary_expression "PTR_LAB_0004521c + 0x6900" identifier + number_literal) )))) ;) (expression_statement "iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);" (assignment_expression "iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c)" identifier = (call_expression "hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c)" identifier (argument_list "(0x10,0,puVar6,param_4,PTR_free_0004563c)" ( number_literal , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "*(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;" (assignment_expression "*(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15" (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar15 != 0) goto LAB_00026a18;" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026a18;" goto statement_identifier ;)) (labeled_statement "LAB_00026b00:\n      uVar7 = 2000000000;" statement_identifier : (expression_statement "uVar7 = 2000000000;" (assignment_expression "uVar7 = 2000000000" identifier = number_literal) ;)) (expression_statement "local_e8 = 2000000000;" (assignment_expression "local_e8 = 2000000000" identifier = number_literal) ;) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" identifier = number_literal) ;) (expression_statement "puVar2 = &local_f0;" (assignment_expression "puVar2 = &local_f0" identifier = (pointer_expression "&local_f0" & identifier)) ;) (labeled_statement "LAB_00026b10:\n      uVar8 = param_3[0x11];" statement_identifier : (expression_statement "uVar8 = param_3[0x11];" (assignment_expression "uVar8 = param_3[0x11]" identifier = (subscript_expression "param_3[0x11]" identifier [ number_literal ])) ;)) (expression_statement "puVar6 = (uint *)param_3[0x15];" (assignment_expression "puVar6 = (uint *)param_3[0x15]" identifier = (cast_expression "(uint *)param_3[0x15]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[0x15]" identifier [ number_literal ]))) ;) (expression_statement "puVar5 = (uint *)((int)puVar6 / 10);" (assignment_expression "puVar5 = (uint *)((int)puVar6 / 10)" identifier = (cast_expression "(uint *)((int)puVar6 / 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 / 10)" ( (binary_expression "(int)puVar6 / 10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) )))) ;) (expression_statement "uVar1 = param_5;" (assignment_expression "uVar1 = param_5" identifier = identifier) ;) (if_statement "if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }" if (parenthesized_expression "(((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0)" ( (binary_expression "((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0" (parenthesized_expression "((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0)" ( (binary_expression "(int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0" (binary_expression "(int)uVar8 % 10 == 0" (binary_expression "(int)uVar8 % 10" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal) == number_literal) && (binary_expression "(int)puVar6 % 10 == 0" (binary_expression "(int)puVar6 % 10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal) == number_literal)) )) && (binary_expression "(int)uVar13 % 10 == 0" (binary_expression "(int)uVar13 % 10" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal) == number_literal)) )) (compound_statement "{\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }" { (expression_statement "uVar9 = param_3[0x10];" (assignment_expression "uVar9 = param_3[0x10]" identifier = (subscript_expression "param_3[0x10]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = (int)uVar8 / 10;" (assignment_expression "iVar15 = (int)uVar8 / 10" identifier = (binary_expression "(int)uVar8 / 10" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal)) ;) (expression_statement "puVar5 = (uint *)((int)puVar6 / 10);" (assignment_expression "puVar5 = (uint *)((int)puVar6 / 10)" identifier = (cast_expression "(uint *)((int)puVar6 / 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 / 10)" ( (binary_expression "(int)puVar6 / 10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) )))) ;) (expression_statement "iVar4 = (int)uVar13 / 10;" (assignment_expression "iVar4 = (int)uVar13 / 10" identifier = (binary_expression "(int)uVar13 / 10" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal)) ;) (if_statement "if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }" if (parenthesized_expression "((int)uVar7 < 0xb)" ( (binary_expression "(int)uVar7 < 0xb" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }" { (expression_statement "uVar14 = 10;" (assignment_expression "uVar14 = 10" identifier = number_literal) ;) (expression_statement "puVar6 = (uint *)((int)puVar6 >> 0x1f);" (assignment_expression "puVar6 = (uint *)((int)puVar6 >> 0x1f)" identifier = (cast_expression "(uint *)((int)puVar6 >> 0x1f)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 >> 0x1f)" ( (binary_expression "(int)puVar6 >> 0x1f" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) }) (else_clause "else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }" else (compound_statement "{\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }" { (expression_statement "puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);" (assignment_expression "puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10)" identifier = (cast_expression "(uint *)(iVar15 % 10 | (int)puVar5 % 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 % 10 | (int)puVar5 % 10)" ( (binary_expression "iVar15 % 10 | (int)puVar5 % 10" (binary_expression "iVar15 % 10" identifier % number_literal) | (binary_expression "(int)puVar5 % 10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal)) )))) ;) (expression_statement "param_4 = (undefined *)((iVar4 / 10) * 4);" (assignment_expression "param_4 = (undefined *)((iVar4 / 10) * 4)" identifier = (cast_expression "(undefined *)((iVar4 / 10) * 4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar4 / 10) * 4)" ( (binary_expression "(iVar4 / 10) * 4" (parenthesized_expression "(iVar4 / 10)" ( (binary_expression "iVar4 / 10" identifier / number_literal) )) * number_literal) )))) ;) (if_statement "if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }" if (parenthesized_expression "(puVar6 == (uint *)0x0 && iVar4 % 10 == 0)" ( (binary_expression "puVar6 == (uint *)0x0 && iVar4 % 10 == 0" (binary_expression "puVar6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "iVar4 % 10 == 0" (binary_expression "iVar4 % 10" identifier % number_literal) == number_literal)) )) (compound_statement "{\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }" { (expression_statement "uVar14 = 10;" (assignment_expression "uVar14 = 10" identifier = number_literal) ;) (expression_statement "param_4 = (undefined *)0x66666667;" (assignment_expression "param_4 = (undefined *)0x66666667" identifier = (cast_expression "(undefined *)0x66666667" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = 0x28;" (assignment_expression "iVar3 = 0x28" identifier = number_literal) ;) (do_statement "do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);" do (compound_statement "{\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            }" { (expression_statement "iVar3 = iVar3 + uVar14;" (assignment_expression "iVar3 = iVar3 + uVar14" identifier = (binary_expression "iVar3 + uVar14" identifier + identifier)) ;) (expression_statement "uVar14 = iVar3 * 2;" (assignment_expression "uVar14 = iVar3 * 2" identifier = (binary_expression "iVar3 * 2" identifier * number_literal)) ;) (expression_statement "iVar15 = iVar15 / 10;" (assignment_expression "iVar15 = iVar15 / 10" identifier = (binary_expression "iVar15 / 10" identifier / number_literal)) ;) (expression_statement "puVar5 = (uint *)((int)puVar5 / 10);" (assignment_expression "puVar5 = (uint *)((int)puVar5 / 10)" identifier = (cast_expression "(uint *)((int)puVar5 / 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 / 10)" ( (binary_expression "(int)puVar5 / 10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) )))) ;) (expression_statement "puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));" (assignment_expression "puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f))" identifier = (cast_expression "(uint *)(iVar4 / 10 + (iVar4 >> 0x1f))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 / 10 + (iVar4 >> 0x1f))" ( (binary_expression "iVar4 / 10 + (iVar4 >> 0x1f)" (binary_expression "iVar4 / 10" identifier / number_literal) + (parenthesized_expression "(iVar4 >> 0x1f)" ( (binary_expression "iVar4 >> 0x1f" identifier >> number_literal) ))) )))) ;) (expression_statement "iVar4 = (int)puVar6 - (iVar4 >> 0x1f);" (assignment_expression "iVar4 = (int)puVar6 - (iVar4 >> 0x1f)" identifier = (binary_expression "(int)puVar6 - (iVar4 >> 0x1f)" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "(iVar4 >> 0x1f)" ( (binary_expression "iVar4 >> 0x1f" identifier >> number_literal) )))) ;) (if_statement "if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }" if (parenthesized_expression "((int)uVar7 <= (int)uVar14)" ( (binary_expression "(int)uVar7 <= (int)uVar14" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }" { (expression_statement "puVar2[2] = uVar14;" (assignment_expression "puVar2[2] = uVar14" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00026d7c;" goto statement_identifier ;) })) (expression_statement "puVar6 = (uint *)(iVar4 % 10);" (assignment_expression "puVar6 = (uint *)(iVar4 % 10)" identifier = (cast_expression "(uint *)(iVar4 % 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 % 10)" ( (binary_expression "iVar4 % 10" identifier % number_literal) )))) ;) (if_statement "if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }" if (parenthesized_expression "((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0)" ( (binary_expression "(iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0" (parenthesized_expression "(iVar15 % 10 != 0 || (int)puVar5 % 10 != 0)" ( (binary_expression "iVar15 % 10 != 0 || (int)puVar5 % 10 != 0" (binary_expression "iVar15 % 10 != 0" (binary_expression "iVar15 % 10" identifier % number_literal) != number_literal) || (binary_expression "(int)puVar5 % 10 != 0" (binary_expression "(int)puVar5 % 10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal) != number_literal)) )) || (binary_expression "puVar6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }" { (expression_statement "puVar2[2] = uVar14;" (assignment_expression "puVar2[2] = uVar14" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = uVar14;" (assignment_expression "uVar1 = uVar14" identifier = identifier) ;) (if_statement "if ((int)uVar14 < 2) goto LAB_00026ec8;" if (parenthesized_expression "((int)uVar14 < 2)" ( (binary_expression "(int)uVar14 < 2" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00026ec8;" goto statement_identifier ;)) (goto_statement "goto LAB_00026d7c;" goto statement_identifier ;) })) (expression_statement "iVar3 = iVar3 * 8;" (assignment_expression "iVar3 = iVar3 * 8" identifier = (binary_expression "iVar3 * 8" identifier * number_literal)) ;) }) while (parenthesized_expression "(uVar14 != 1000000000)" ( (binary_expression "uVar14 != 1000000000" identifier != number_literal) )) ;) (if_statement "if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }" if (parenthesized_expression "(((uVar11 | uVar9 | param_3[0x14]) & 1) == 0)" ( (binary_expression "((uVar11 | uVar9 | param_3[0x14]) & 1) == 0" (parenthesized_expression "((uVar11 | uVar9 | param_3[0x14]) & 1)" ( (binary_expression "(uVar11 | uVar9 | param_3[0x14]) & 1" (parenthesized_expression "(uVar11 | uVar9 | param_3[0x14])" ( (binary_expression "uVar11 | uVar9 | param_3[0x14]" (binary_expression "uVar11 | uVar9" identifier | identifier) | (subscript_expression "param_3[0x14]" identifier [ number_literal ])) )) & number_literal) )) == number_literal) )) (compound_statement "{\n              uVar14 = 2000000000;\n            }" { (expression_statement "uVar14 = 2000000000;" (assignment_expression "uVar14 = 2000000000" identifier = number_literal) ;) })) }) (else_clause "else {\n            uVar14 = 10;\n          }" else (compound_statement "{\n            uVar14 = 10;\n          }" { (expression_statement "uVar14 = 10;" (assignment_expression "uVar14 = 10" identifier = number_literal) ;) }))) }))) (expression_statement "puVar2[2] = uVar14;" (assignment_expression "puVar2[2] = uVar14" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00026d7c:\n        param_3 = puVar6;" statement_identifier : (expression_statement "param_3 = puVar6;" (assignment_expression "param_3 = puVar6" identifier = identifier) ;)) (if_statement "if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;" if (parenthesized_expression "(((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))" ( (binary_expression "((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13)))" (parenthesized_expression "((int)uVar10 < (int)uVar11)" ( (binary_expression "(int)uVar10 < (int)uVar11" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13)))" ( (parenthesized_expression "(uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))" ( (binary_expression "uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13)" (binary_expression "uVar11 == uVar10" identifier == identifier) && (parenthesized_expression "((int)uVar12 <= (int)uVar13)" ( (binary_expression "(int)uVar12 <= (int)uVar13" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (goto_statement "goto LAB_00027074;" goto statement_identifier ;)) (expression_statement "uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;" (assignment_expression "uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10" identifier = (binary_expression "~(uint)(uVar14 == 2000000000) & uVar10" (unary_expression "~(uint)(uVar14 == 2000000000)" ~ (call_expression "(uint)(uVar14 == 2000000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 == 2000000000)" ( (binary_expression "uVar14 == 2000000000" identifier == number_literal) )))) & identifier)) ;) (if_statement "if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }" if (parenthesized_expression "((int)uVar11 < (int)uVar7)" ( (binary_expression "(int)uVar11 < (int)uVar7" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }" { (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (if_statement "if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }" if (parenthesized_expression "(uVar11 == uVar7)" ( (binary_expression "uVar11 == uVar7" identifier == identifier) )) (compound_statement "{\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }" { (if_statement "if (uVar14 == 0) {\n            trap(7);\n          }" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (compound_statement "{\n            trap(7);\n          }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (if_statement "if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }" if (parenthesized_expression "((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14))" ( (binary_expression "(int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(uVar12 - (int)uVar12 % (int)uVar14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar12 - (int)uVar12 % (int)uVar14)" ( (binary_expression "uVar12 - (int)uVar12 % (int)uVar14" identifier - (binary_expression "(int)uVar12 % (int)uVar14" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) % (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier))) )))) )) (compound_statement "{\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }" { (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) })) (expression_statement "local_d8 = uVar14 == 2000000000 | uVar11;" (assignment_expression "local_d8 = uVar14 == 2000000000 | uVar11" identifier = (binary_expression "uVar14 == 2000000000 | uVar11" (binary_expression "uVar14 == 2000000000" identifier == number_literal) | identifier)) ;) (expression_statement "local_d4 = (int)uVar14 / 9 + uVar13;" (assignment_expression "local_d4 = (int)uVar14 / 9 + uVar13" identifier = (binary_expression "(int)uVar14 / 9 + uVar13" (binary_expression "(int)uVar14 / 9" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) + identifier)) ;) (expression_statement "param_4 = (undefined *)0x100;" (assignment_expression "param_4 = (undefined *)0x100" identifier = (cast_expression "(undefined *)0x100" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_3 = &local_e0;" (assignment_expression "param_3 = &local_e0" identifier = (pointer_expression "&local_e0" & identifier)) ;) (expression_statement "puVar5 = param_2;" (assignment_expression "puVar5 = param_2" identifier = identifier) ;) (expression_statement "local_e0 = uVar9;" (assignment_expression "local_e0 = uVar9" identifier = identifier) ;) (expression_statement "local_dc = uVar8;" (assignment_expression "local_dc = uVar8" identifier = identifier) ;) (expression_statement "iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);" (assignment_expression "iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3)" identifier = (call_expression "(*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_utimensat_00045680)" ( (pointer_expression "*(code *)PTR_utimensat_00045680" * (cast_expression "(code *)PTR_utimensat_00045680" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }" { (expression_statement "param_5 = 0xfffffffe;" (assignment_expression "param_5 = 0xfffffffe" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (expression_statement "puVar6 = param_2;" (assignment_expression "puVar6 = param_2" identifier = identifier) ;) (expression_statement "iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);" (assignment_expression "iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100)" identifier = (call_expression "(*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100)" (parenthesized_expression "(*(code *)PTR___fxstatat64_000455e0)" ( (pointer_expression "*(code *)PTR___fxstatat64_000455e0" * (cast_expression "(code *)PTR___fxstatat64_000455e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,param_1,param_2,auStack_d0,0x100)" ( number_literal , identifier , identifier , identifier , number_literal )))) ;) (expression_statement "param_4 = (undefined *)0x100;" (assignment_expression "param_4 = (undefined *)0x100" identifier = (cast_expression "(undefined *)0x100" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }" if (parenthesized_expression "((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0)" ( (binary_expression "(uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0" (parenthesized_expression "(uVar11 != local_88 || uVar13 != local_84)" ( (binary_expression "uVar11 != local_88 || uVar13 != local_84" (binary_expression "uVar11 != local_88" identifier != identifier) || (binary_expression "uVar13 != local_84" identifier != identifier)) )) || (binary_expression "iVar15 != 0" identifier != number_literal)) )) (compound_statement "{\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }" { (expression_statement "puVar6 = &local_e0;" (assignment_expression "puVar6 = &local_e0" identifier = (pointer_expression "&local_e0" & identifier)) ;) (expression_statement "local_d8 = uVar11;" (assignment_expression "local_d8 = uVar11" identifier = identifier) ;) (expression_statement "local_d4 = uVar13;" (assignment_expression "local_d4 = uVar13" identifier = identifier) ;) (expression_statement "(*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);" (call_expression "(*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6)" (parenthesized_expression "(*(code *)PTR_utimensat_00045680)" ( (pointer_expression "*(code *)PTR_utimensat_00045680" * (cast_expression "(code *)PTR_utimensat_00045680" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,puVar6)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }" { (expression_statement "param_5 = 0xfffffffe;" (assignment_expression "param_5 = 0xfffffffe" identifier = number_literal) ;) (expression_statement "puVar5 = param_2;" (assignment_expression "puVar5 = param_2" identifier = identifier) ;) (expression_statement "param_3 = puVar6;" (assignment_expression "param_3 = puVar6" identifier = identifier) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) })) (expression_statement "puVar5 = (uint *)((local_88 & 1) * 1000000000);" (assignment_expression "puVar5 = (uint *)((local_88 & 1) * 1000000000)" identifier = (cast_expression "(uint *)((local_88 & 1) * 1000000000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_88 & 1) * 1000000000)" ( (binary_expression "(local_88 & 1) * 1000000000" (parenthesized_expression "(local_88 & 1)" ( (binary_expression "local_88 & 1" identifier & number_literal) )) * number_literal) )))) ;) (expression_statement "iVar15 = (int)puVar5 + local_84;" (assignment_expression "iVar15 = (int)puVar5 + local_84" identifier = (binary_expression "(int)puVar5 + local_84" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "uVar1 = param_5;" (assignment_expression "uVar1 = param_5" identifier = identifier) ;) (if_statement "if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }" if (parenthesized_expression "((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10))" ( (binary_expression "(iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)" (parenthesized_expression "(iVar15 == (iVar15 / 10) * 10)" ( (binary_expression "iVar15 == (iVar15 / 10) * 10" identifier == (binary_expression "(iVar15 / 10) * 10" (parenthesized_expression "(iVar15 / 10)" ( (binary_expression "iVar15 / 10" identifier / number_literal) )) * number_literal)) )) && (parenthesized_expression "(puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)" ( (comma_expression "puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10" (assignment_expression "puVar5 = (uint *)0x66660000" identifier = (cast_expression "(uint *)0x66660000" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (comma_expression "uVar1 = uVar14, uVar14 != 10" (assignment_expression "uVar1 = uVar14" identifier = identifier) , (binary_expression "uVar14 != 10" identifier != number_literal))) ))) )) (compound_statement "{\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }" { (expression_statement "uVar7 = 10;" (assignment_expression "uVar7 = 10" identifier = number_literal) ;) (expression_statement "puVar5 = (uint *)0x66666667;" (assignment_expression "puVar5 = (uint *)0x66666667" identifier = (cast_expression "(uint *)0x66666667" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar6 = (uint *)0x3b9aca00;" (assignment_expression "puVar6 = (uint *)0x3b9aca00" identifier = (cast_expression "(uint *)0x3b9aca00" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);" (assignment_expression "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" ( (binary_expression "(ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20" (call_expression "(ulonglong)((longlong)iVar15 * 0x66666667)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((longlong)iVar15 * 0x66666667)" ( (binary_expression "(longlong)iVar15 * 0x66666667" (cast_expression "(longlong)iVar15" ( (type_descriptor "longlong" type_identifier) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (do_statement "do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);" do (compound_statement "{\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          }" { (expression_statement "iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);" (assignment_expression "iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f)" identifier = (binary_expression "(iVar4 >> 2) - (iVar15 >> 0x1f)" (parenthesized_expression "(iVar4 >> 2)" ( (binary_expression "iVar4 >> 2" identifier >> number_literal) )) - (parenthesized_expression "(iVar15 >> 0x1f)" ( (binary_expression "iVar15 >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);" (assignment_expression "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" ( (binary_expression "(ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20" (call_expression "(ulonglong)((longlong)iVar15 * 0x66666667)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((longlong)iVar15 * 0x66666667)" ( (binary_expression "(longlong)iVar15 * 0x66666667" (cast_expression "(longlong)iVar15" ( (type_descriptor "longlong" type_identifier) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (expression_statement "uVar1 = uVar7;" (assignment_expression "uVar1 = uVar7" identifier = identifier) ;) (if_statement "if (iVar15 != (iVar15 / 10) * 10) break;" if (parenthesized_expression "(iVar15 != (iVar15 / 10) * 10)" ( (binary_expression "iVar15 != (iVar15 / 10) * 10" identifier != (binary_expression "(iVar15 / 10) * 10" (parenthesized_expression "(iVar15 / 10)" ( (binary_expression "iVar15 / 10" identifier / number_literal) )) * number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }" if (parenthesized_expression "(uVar7 == 1000000000)" ( (binary_expression "uVar7 == 1000000000" identifier == number_literal) )) (compound_statement "{\n              uVar1 = 2000000000;\n              break;\n            }" { (expression_statement "uVar1 = 2000000000;" (assignment_expression "uVar1 = 2000000000" identifier = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "uVar7 = uVar7 * 10;" (assignment_expression "uVar7 = uVar7 * 10" identifier = (binary_expression "uVar7 * 10" identifier * number_literal)) ;) (expression_statement "uVar1 = uVar14;" (assignment_expression "uVar1 = uVar14" identifier = identifier) ;) }) while (parenthesized_expression "(uVar7 != uVar14)" ( (binary_expression "uVar7 != uVar14" identifier != identifier) )) ;) })) })) (labeled_statement "LAB_00026ec8:\n      uVar7 = uVar1;" statement_identifier : (expression_statement "uVar7 = uVar1;" (assignment_expression "uVar7 = uVar1" identifier = identifier) ;)) (expression_statement "puVar2[2] = uVar7;" (assignment_expression "puVar2[2] = uVar7" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(puVar2 + 3) = 1;" (assignment_expression "*(undefined1 *)(puVar2 + 3) = 1" (pointer_expression "*(undefined1 *)(puVar2 + 3)" * (cast_expression "(undefined1 *)(puVar2 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 3)" ( (binary_expression "puVar2 + 3" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }" else (compound_statement "{\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }" { (labeled_statement "LAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" statement_identifier : (if_statement "if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" if (parenthesized_expression "(*(int *)(PTR_DAT_00045118 + 0x5c60) == 0)" ( (binary_expression "*(int *)(PTR_DAT_00045118 + 0x5c60) == 0" (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }" { (expression_statement "iVar4 = (*(code *)PTR_malloc_00045594)(0x10);" (assignment_expression "iVar4 = (*(code *)PTR_malloc_00045594)(0x10)" identifier = (call_expression "(*(code *)PTR_malloc_00045594)(0x10)" (parenthesized_expression "(*(code *)PTR_malloc_00045594)" ( (pointer_expression "*(code *)PTR_malloc_00045594" * (cast_expression "(code *)PTR_malloc_00045594" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal )))) ;) (expression_statement "*(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;" (assignment_expression "*(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4" (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }" { (expression_statement "*(undefined4 *)(iVar4 + 8) = 2000000000;" (assignment_expression "*(undefined4 *)(iVar4 + 8) = 2000000000" (pointer_expression "*(undefined4 *)(iVar4 + 8)" * (cast_expression "(undefined4 *)(iVar4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar4 + 0xc) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + 0xc) = 0" (pointer_expression "*(undefined1 *)(iVar4 + 0xc)" * (cast_expression "(undefined1 *)(iVar4 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00026a28;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00026e84:\n        local_ec = *param_3;" statement_identifier : (expression_statement "local_ec = *param_3;" (assignment_expression "local_ec = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (expression_statement "puVar5 = &local_f0;" (assignment_expression "puVar5 = &local_f0" identifier = (pointer_expression "&local_f0" & identifier)) ;) (expression_statement "puVar2 = (uint *)hash_lookup(iVar15,puVar5);" (assignment_expression "puVar2 = (uint *)hash_lookup(iVar15,puVar5)" identifier = (cast_expression "(uint *)hash_lookup(iVar15,puVar5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "hash_lookup(iVar15,puVar5)" identifier (argument_list "(iVar15,puVar5)" ( identifier , identifier ))))) ;) (if_statement "if (puVar2 == (uint *)0x0) goto LAB_00026b00;" if (parenthesized_expression "(puVar2 == (uint *)0x0)" ( (binary_expression "puVar2 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026b00;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" else (compound_statement "{\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" { (labeled_statement "LAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);" statement_identifier : (expression_statement "puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);" (assignment_expression "puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60)" identifier = (pointer_expression "*(uint **)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(uint **)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) ))))) ;)) (expression_statement "puVar5[1] = *param_3;" (assignment_expression "puVar5[1] = *param_3" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "puVar2 = (uint *)hash_insert(iVar15);" (assignment_expression "puVar2 = (uint *)hash_insert(iVar15)" identifier = (cast_expression "(uint *)hash_insert(iVar15)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "hash_insert(iVar15)" identifier (argument_list "(iVar15)" ( identifier ))))) ;) (if_statement "if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }" if (parenthesized_expression "(puVar2 == (uint *)0x0)" ( (binary_expression "puVar2 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }" { (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) (if_statement "if (iVar15 == 0) goto LAB_00026b00;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00026b00;" goto statement_identifier ;)) (goto_statement "goto LAB_00026e84;" goto statement_identifier ;) })) (if_statement "if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }" if (parenthesized_expression "(*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2)" ( (binary_expression "*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2" (pointer_expression "*(uint **)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(uint **)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }" { (expression_statement "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(undefined4 *)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) = number_literal) ;) })) })))) (expression_statement "uVar7 = puVar2[2];" (assignment_expression "uVar7 = puVar2[2]" identifier = (subscript_expression "puVar2[2]" identifier [ number_literal ])) ;) (if_statement "if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;" if (parenthesized_expression "(*(char *)(puVar2 + 3) == '\0')" ( (binary_expression "*(char *)(puVar2 + 3) == '\0'" (pointer_expression "*(char *)(puVar2 + 3)" * (cast_expression "(char *)(puVar2 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 3)" ( (binary_expression "puVar2 + 3" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00026b10;" goto statement_identifier ;)) }))) (expression_statement "uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);" (assignment_expression "uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000)" identifier = (binary_expression "uVar10 & ~(uint)(uVar7 == 2000000000)" identifier & (unary_expression "~(uint)(uVar7 == 2000000000)" ~ (call_expression "(uint)(uVar7 == 2000000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 == 2000000000)" ( (binary_expression "uVar7 == 2000000000" identifier == number_literal) )))))) ;) (if_statement "if (uVar7 == 0) {\n      trap(7);\n    }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      trap(7);\n    }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar12 = uVar12 - (int)uVar12 % (int)uVar7;" (assignment_expression "uVar12 = uVar12 - (int)uVar12 % (int)uVar7" identifier = (binary_expression "uVar12 - (int)uVar12 % (int)uVar7" identifier - (binary_expression "(int)uVar12 % (int)uVar7" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) % (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) })) (expression_statement "param_3 = puVar6;" (assignment_expression "param_3 = puVar6" identifier = identifier) ;) (if_statement "if ((int)uVar11 < (int)uVar10) {\n    param_5 = 0xffffffff;\n  }\n  else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }" if (parenthesized_expression "((int)uVar11 < (int)uVar10)" ( (binary_expression "(int)uVar11 < (int)uVar10" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    param_5 = 0xffffffff;\n  }" { (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }" else (if_statement "if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }" if (parenthesized_expression "(uVar10 == uVar11)" ( (binary_expression "uVar10 == uVar11" identifier == identifier) )) (compound_statement "{\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }" { (if_statement "if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }" if (parenthesized_expression "((int)uVar13 < (int)uVar12)" ( (binary_expression "(int)uVar13 < (int)uVar12" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      param_5 = 0xffffffff;\n    }" { (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }" else (compound_statement "{\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }" { (expression_statement "param_5 = (uint)((int)uVar12 < (int)uVar13);" (assignment_expression "param_5 = (uint)((int)uVar12 < (int)uVar13)" identifier = (call_expression "(uint)((int)uVar12 < (int)uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar12 < (int)uVar13)" ( (binary_expression "(int)uVar12 < (int)uVar13" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) }) (else_clause "else {\n    param_5 = 1;\n  }" else (compound_statement "{\n    param_5 = 1;\n  }" { (expression_statement "param_5 = 1;" (assignment_expression "param_5 = 1" identifier = number_literal) ;) }))))) (labeled_statement "LAB_00027074:\n  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }" statement_identifier : (if_statement "if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }" if (parenthesized_expression "(local_2c != *(int *)PTR___stack_chk_guard_00045630)" ( (binary_expression "local_2c != *(int *)PTR___stack_chk_guard_00045630" identifier != (pointer_expression "*(int *)PTR___stack_chk_guard_00045630" * (cast_expression "(int *)PTR___stack_chk_guard_00045630" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }" { (expression_statement "iVar15 = local_2c;" (assignment_expression "iVar15 = local_2c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00045600)();" (call_expression "(*(code *)PTR___stack_chk_fail_00045600)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00045600)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00045600" * (cast_expression "(code *)PTR___stack_chk_fail_00045600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);" (assignment_expression "uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4)" identifier = (call_expression "utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4)" identifier (argument_list "(0xffffff9c,iVar15,puVar5,param_3,param_4)" ( number_literal , identifier , identifier , identifier , identifier )))) ;) (return_statement "return uVar10;" return identifier ;) }))) (return_statement "return param_5;" return identifier ;) })))
(translation_unit "int utimecmpat(int dfd,char *dst_name,stat *dst_stat,stat *src_stat,int options)\n\n{\n  uint uVar1;\n  char *dst_name_00;\n  fs_res *pfVar2;\n  int iVar3;\n  int iVar4;\n  stat *dst_stat_00;\n  stat *hasher;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  Hash_table *pHVar14;\n  int iVar15;\n  fs_res tmp_dst_res;\n  timespec timespec [2];\n  stat dst_status;\n  \n  dst_name_00 = *(char **)PTR___stack_chk_guard_00045630;\n  uVar10 = (dst_stat->st_mtim).tv_sec;\n  uVar9 = (src_stat->st_mtim).tv_sec;\n  iVar12 = (dst_stat->st_mtim).tv_nsec;\n  uVar8 = options & 1;\n  iVar11 = (src_stat->st_mtim).tv_nsec;\n  dst_stat_00 = (stat *)dst_name;\n  hasher = dst_stat;\n  if (uVar8 != 0) {\n    if (uVar10 == uVar9) {\n      if (iVar11 == iVar12) {\n        uVar8 = 0;\n        goto LAB_00027074;\n      }\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar10 < (int)(uVar9 - 1)) {\n        uVar8 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar9 < (int)(uVar10 - 1)) goto LAB_00027074;\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (pHVar14 == (Hash_table *)0x0) {\n      src_stat = (stat *)(PTR_LAB_0004521c + 0x6948);\n      hasher = (stat *)(PTR_LAB_0004521c + 0x6900);\n      pHVar14 = hash_initialize(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,\n                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c);\n      *(Hash_table **)(PTR_DAT_00045118 + 0x5c64) = pHVar14;\n      if (pHVar14 != (Hash_table *)0x0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar5 = 2000000000;\n      tmp_dst_res.resolution = 2000000000;\n      tmp_dst_res.exact = false;\n      pfVar2 = &tmp_dst_res;\nLAB_00026b10:\n      iVar6 = (dst_stat->st_atim).tv_nsec;\n      hasher = (stat *)(dst_stat->st_ctim).tv_nsec;\n      dst_stat_00 = (stat *)((int)hasher / 10);\n      uVar1 = uVar8;\n      if ((iVar6 % 10 == 0 && (int)hasher % 10 == 0) && iVar12 % 10 == 0) {\n        uVar7 = (dst_stat->st_atim).tv_sec;\n        iVar15 = iVar6 / 10;\n        dst_stat_00 = (stat *)((int)hasher / 10);\n        iVar4 = iVar12 / 10;\n        if ((int)uVar5 < 0xb) {\n          uVar13 = 10;\n          hasher = (stat *)((int)hasher >> 0x1f);\n        }\n        else {\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }\n        pfVar2->resolution = uVar13;\nLAB_00026d7c:\n        dst_stat = hasher;\n        if (((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))\n        goto LAB_00027074;\n        uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9;\n        if ((int)uVar10 < (int)uVar5) {\n          uVar8 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar10 == uVar5) {\n          if (uVar13 == 0) {\n            trap(7);\n          }\n          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        timespec[1].tv_sec = uVar13 == 2000000000 | uVar10;\n        timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12;\n        src_stat = (stat *)&DAT_00000100;\n        dst_stat = (stat *)timespec;\n        dst_stat_00 = (stat *)dst_name;\n        timespec[0].tv_sec = uVar7;\n        timespec[0].tv_nsec = iVar6;\n        iVar6 = (*(code *)PTR_utimensat_00045680)(dfd);\n        if (iVar6 != 0) {\n          uVar8 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        hasher = (stat *)dst_name;\n        iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100);\n        src_stat = (stat *)&DAT_00000100;\n        if ((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0) {\n          hasher = (stat *)timespec;\n          timespec[1].tv_sec = uVar10;\n          timespec[1].tv_nsec = iVar12;\n          (*(code *)PTR_utimensat_00045680)(dfd);\n          if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }\n        }\n        dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000);\n        iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4;\n        uVar1 = uVar8;\n        if ((iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)) {\n          uVar8 = 10;\n          dst_stat_00 = (stat *)0x66666667;\n          hasher = (stat *)0x3b9aca00;\n          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n          do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);\n        }\n      }\nLAB_00026ec8:\n      uVar5 = uVar1;\n      pfVar2->resolution = uVar5;\n      pfVar2->exact = true;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;\n        if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;\n        tmp_dst_res.dev._0_4_ = 0;\n        dst_stat_00 = (stat *)&tmp_dst_res;\n        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar5 = pfVar2->resolution;\n      if (pfVar2->exact == false) goto LAB_00026b10;\n    }\n    uVar9 = uVar9 & ~(uint)(uVar5 == 2000000000);\n    if (uVar5 == 0) {\n      trap(7);\n    }\n    iVar11 = iVar11 - iVar11 % (int)uVar5;\n  }\n  dst_stat = hasher;\n  if ((int)uVar10 < (int)uVar9) {\n    uVar8 = 0xffffffff;\n  }\n  else if (uVar9 == uVar10) {\n    if (iVar12 < iVar11) {\n      uVar8 = 0xffffffff;\n    }\n    else {\n      uVar8 = (uint)(iVar11 < iVar12);\n    }\n  }\n  else {\n    uVar8 = 1;\n  }\nLAB_00027074:\n  if (dst_name_00 != *(char **)PTR___stack_chk_guard_00045630) {\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    iVar11 = utimecmpat(-100,dst_name_00,dst_stat_00,dst_stat,(int)src_stat);\n    return iVar11;\n  }\n  return uVar8;\n}\n\n" (function_definition "int utimecmpat(int dfd,char *dst_name,stat *dst_stat,stat *src_stat,int options)\n\n{\n  uint uVar1;\n  char *dst_name_00;\n  fs_res *pfVar2;\n  int iVar3;\n  int iVar4;\n  stat *dst_stat_00;\n  stat *hasher;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  Hash_table *pHVar14;\n  int iVar15;\n  fs_res tmp_dst_res;\n  timespec timespec [2];\n  stat dst_status;\n  \n  dst_name_00 = *(char **)PTR___stack_chk_guard_00045630;\n  uVar10 = (dst_stat->st_mtim).tv_sec;\n  uVar9 = (src_stat->st_mtim).tv_sec;\n  iVar12 = (dst_stat->st_mtim).tv_nsec;\n  uVar8 = options & 1;\n  iVar11 = (src_stat->st_mtim).tv_nsec;\n  dst_stat_00 = (stat *)dst_name;\n  hasher = dst_stat;\n  if (uVar8 != 0) {\n    if (uVar10 == uVar9) {\n      if (iVar11 == iVar12) {\n        uVar8 = 0;\n        goto LAB_00027074;\n      }\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar10 < (int)(uVar9 - 1)) {\n        uVar8 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar9 < (int)(uVar10 - 1)) goto LAB_00027074;\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (pHVar14 == (Hash_table *)0x0) {\n      src_stat = (stat *)(PTR_LAB_0004521c + 0x6948);\n      hasher = (stat *)(PTR_LAB_0004521c + 0x6900);\n      pHVar14 = hash_initialize(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,\n                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c);\n      *(Hash_table **)(PTR_DAT_00045118 + 0x5c64) = pHVar14;\n      if (pHVar14 != (Hash_table *)0x0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar5 = 2000000000;\n      tmp_dst_res.resolution = 2000000000;\n      tmp_dst_res.exact = false;\n      pfVar2 = &tmp_dst_res;\nLAB_00026b10:\n      iVar6 = (dst_stat->st_atim).tv_nsec;\n      hasher = (stat *)(dst_stat->st_ctim).tv_nsec;\n      dst_stat_00 = (stat *)((int)hasher / 10);\n      uVar1 = uVar8;\n      if ((iVar6 % 10 == 0 && (int)hasher % 10 == 0) && iVar12 % 10 == 0) {\n        uVar7 = (dst_stat->st_atim).tv_sec;\n        iVar15 = iVar6 / 10;\n        dst_stat_00 = (stat *)((int)hasher / 10);\n        iVar4 = iVar12 / 10;\n        if ((int)uVar5 < 0xb) {\n          uVar13 = 10;\n          hasher = (stat *)((int)hasher >> 0x1f);\n        }\n        else {\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }\n        pfVar2->resolution = uVar13;\nLAB_00026d7c:\n        dst_stat = hasher;\n        if (((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))\n        goto LAB_00027074;\n        uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9;\n        if ((int)uVar10 < (int)uVar5) {\n          uVar8 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar10 == uVar5) {\n          if (uVar13 == 0) {\n            trap(7);\n          }\n          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        timespec[1].tv_sec = uVar13 == 2000000000 | uVar10;\n        timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12;\n        src_stat = (stat *)&DAT_00000100;\n        dst_stat = (stat *)timespec;\n        dst_stat_00 = (stat *)dst_name;\n        timespec[0].tv_sec = uVar7;\n        timespec[0].tv_nsec = iVar6;\n        iVar6 = (*(code *)PTR_utimensat_00045680)(dfd);\n        if (iVar6 != 0) {\n          uVar8 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        hasher = (stat *)dst_name;\n        iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100);\n        src_stat = (stat *)&DAT_00000100;\n        if ((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0) {\n          hasher = (stat *)timespec;\n          timespec[1].tv_sec = uVar10;\n          timespec[1].tv_nsec = iVar12;\n          (*(code *)PTR_utimensat_00045680)(dfd);\n          if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }\n        }\n        dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000);\n        iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4;\n        uVar1 = uVar8;\n        if ((iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)) {\n          uVar8 = 10;\n          dst_stat_00 = (stat *)0x66666667;\n          hasher = (stat *)0x3b9aca00;\n          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n          do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);\n        }\n      }\nLAB_00026ec8:\n      uVar5 = uVar1;\n      pfVar2->resolution = uVar5;\n      pfVar2->exact = true;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;\n        if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;\n        tmp_dst_res.dev._0_4_ = 0;\n        dst_stat_00 = (stat *)&tmp_dst_res;\n        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar5 = pfVar2->resolution;\n      if (pfVar2->exact == false) goto LAB_00026b10;\n    }\n    uVar9 = uVar9 & ~(uint)(uVar5 == 2000000000);\n    if (uVar5 == 0) {\n      trap(7);\n    }\n    iVar11 = iVar11 - iVar11 % (int)uVar5;\n  }\n  dst_stat = hasher;\n  if ((int)uVar10 < (int)uVar9) {\n    uVar8 = 0xffffffff;\n  }\n  else if (uVar9 == uVar10) {\n    if (iVar12 < iVar11) {\n      uVar8 = 0xffffffff;\n    }\n    else {\n      uVar8 = (uint)(iVar11 < iVar12);\n    }\n  }\n  else {\n    uVar8 = 1;\n  }\nLAB_00027074:\n  if (dst_name_00 != *(char **)PTR___stack_chk_guard_00045630) {\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    iVar11 = utimecmpat(-100,dst_name_00,dst_stat_00,dst_stat,(int)src_stat);\n    return iVar11;\n  }\n  return uVar8;\n}" primitive_type (function_declarator "utimecmpat(int dfd,char *dst_name,stat *dst_stat,stat *src_stat,int options)" identifier (parameter_list "(int dfd,char *dst_name,stat *dst_stat,stat *src_stat,int options)" ( (parameter_declaration "int dfd" primitive_type identifier) , (parameter_declaration "char *dst_name" primitive_type (pointer_declarator "*dst_name" * identifier)) , (parameter_declaration "stat *dst_stat" type_identifier (pointer_declarator "*dst_stat" * identifier)) , (parameter_declaration "stat *src_stat" type_identifier (pointer_declarator "*src_stat" * identifier)) , (parameter_declaration "int options" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  char *dst_name_00;\n  fs_res *pfVar2;\n  int iVar3;\n  int iVar4;\n  stat *dst_stat_00;\n  stat *hasher;\n  uint uVar5;\n  int iVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  int iVar11;\n  int iVar12;\n  uint uVar13;\n  Hash_table *pHVar14;\n  int iVar15;\n  fs_res tmp_dst_res;\n  timespec timespec [2];\n  stat dst_status;\n  \n  dst_name_00 = *(char **)PTR___stack_chk_guard_00045630;\n  uVar10 = (dst_stat->st_mtim).tv_sec;\n  uVar9 = (src_stat->st_mtim).tv_sec;\n  iVar12 = (dst_stat->st_mtim).tv_nsec;\n  uVar8 = options & 1;\n  iVar11 = (src_stat->st_mtim).tv_nsec;\n  dst_stat_00 = (stat *)dst_name;\n  hasher = dst_stat;\n  if (uVar8 != 0) {\n    if (uVar10 == uVar9) {\n      if (iVar11 == iVar12) {\n        uVar8 = 0;\n        goto LAB_00027074;\n      }\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar10 < (int)(uVar9 - 1)) {\n        uVar8 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar9 < (int)(uVar10 - 1)) goto LAB_00027074;\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (pHVar14 == (Hash_table *)0x0) {\n      src_stat = (stat *)(PTR_LAB_0004521c + 0x6948);\n      hasher = (stat *)(PTR_LAB_0004521c + 0x6900);\n      pHVar14 = hash_initialize(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,\n                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c);\n      *(Hash_table **)(PTR_DAT_00045118 + 0x5c64) = pHVar14;\n      if (pHVar14 != (Hash_table *)0x0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar5 = 2000000000;\n      tmp_dst_res.resolution = 2000000000;\n      tmp_dst_res.exact = false;\n      pfVar2 = &tmp_dst_res;\nLAB_00026b10:\n      iVar6 = (dst_stat->st_atim).tv_nsec;\n      hasher = (stat *)(dst_stat->st_ctim).tv_nsec;\n      dst_stat_00 = (stat *)((int)hasher / 10);\n      uVar1 = uVar8;\n      if ((iVar6 % 10 == 0 && (int)hasher % 10 == 0) && iVar12 % 10 == 0) {\n        uVar7 = (dst_stat->st_atim).tv_sec;\n        iVar15 = iVar6 / 10;\n        dst_stat_00 = (stat *)((int)hasher / 10);\n        iVar4 = iVar12 / 10;\n        if ((int)uVar5 < 0xb) {\n          uVar13 = 10;\n          hasher = (stat *)((int)hasher >> 0x1f);\n        }\n        else {\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }\n        pfVar2->resolution = uVar13;\nLAB_00026d7c:\n        dst_stat = hasher;\n        if (((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))\n        goto LAB_00027074;\n        uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9;\n        if ((int)uVar10 < (int)uVar5) {\n          uVar8 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar10 == uVar5) {\n          if (uVar13 == 0) {\n            trap(7);\n          }\n          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        timespec[1].tv_sec = uVar13 == 2000000000 | uVar10;\n        timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12;\n        src_stat = (stat *)&DAT_00000100;\n        dst_stat = (stat *)timespec;\n        dst_stat_00 = (stat *)dst_name;\n        timespec[0].tv_sec = uVar7;\n        timespec[0].tv_nsec = iVar6;\n        iVar6 = (*(code *)PTR_utimensat_00045680)(dfd);\n        if (iVar6 != 0) {\n          uVar8 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        hasher = (stat *)dst_name;\n        iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100);\n        src_stat = (stat *)&DAT_00000100;\n        if ((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0) {\n          hasher = (stat *)timespec;\n          timespec[1].tv_sec = uVar10;\n          timespec[1].tv_nsec = iVar12;\n          (*(code *)PTR_utimensat_00045680)(dfd);\n          if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }\n        }\n        dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000);\n        iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4;\n        uVar1 = uVar8;\n        if ((iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)) {\n          uVar8 = 10;\n          dst_stat_00 = (stat *)0x66666667;\n          hasher = (stat *)0x3b9aca00;\n          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n          do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);\n        }\n      }\nLAB_00026ec8:\n      uVar5 = uVar1;\n      pfVar2->resolution = uVar5;\n      pfVar2->exact = true;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;\n        if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;\n        tmp_dst_res.dev._0_4_ = 0;\n        dst_stat_00 = (stat *)&tmp_dst_res;\n        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar5 = pfVar2->resolution;\n      if (pfVar2->exact == false) goto LAB_00026b10;\n    }\n    uVar9 = uVar9 & ~(uint)(uVar5 == 2000000000);\n    if (uVar5 == 0) {\n      trap(7);\n    }\n    iVar11 = iVar11 - iVar11 % (int)uVar5;\n  }\n  dst_stat = hasher;\n  if ((int)uVar10 < (int)uVar9) {\n    uVar8 = 0xffffffff;\n  }\n  else if (uVar9 == uVar10) {\n    if (iVar12 < iVar11) {\n      uVar8 = 0xffffffff;\n    }\n    else {\n      uVar8 = (uint)(iVar11 < iVar12);\n    }\n  }\n  else {\n    uVar8 = 1;\n  }\nLAB_00027074:\n  if (dst_name_00 != *(char **)PTR___stack_chk_guard_00045630) {\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    iVar11 = utimecmpat(-100,dst_name_00,dst_stat_00,dst_stat,(int)src_stat);\n    return iVar11;\n  }\n  return uVar8;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "char *dst_name_00;" primitive_type (pointer_declarator "*dst_name_00" * identifier) ;) (declaration "fs_res *pfVar2;" type_identifier (pointer_declarator "*pfVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "stat *dst_stat_00;" type_identifier (pointer_declarator "*dst_stat_00" * identifier) ;) (declaration "stat *hasher;" type_identifier (pointer_declarator "*hasher" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "Hash_table *pHVar14;" type_identifier (pointer_declarator "*pHVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "fs_res tmp_dst_res;" type_identifier identifier ;) (declaration "timespec timespec [2];" type_identifier (array_declarator "timespec [2]" identifier [ number_literal ]) ;) (declaration "stat dst_status;" type_identifier identifier ;) (expression_statement "dst_name_00 = *(char **)PTR___stack_chk_guard_00045630;" (assignment_expression "dst_name_00 = *(char **)PTR___stack_chk_guard_00045630" identifier = (pointer_expression "*(char **)PTR___stack_chk_guard_00045630" * (cast_expression "(char **)PTR___stack_chk_guard_00045630" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "uVar10 = (dst_stat->st_mtim).tv_sec;" (assignment_expression "uVar10 = (dst_stat->st_mtim).tv_sec" identifier = (field_expression "(dst_stat->st_mtim).tv_sec" (parenthesized_expression "(dst_stat->st_mtim)" ( (field_expression "dst_stat->st_mtim" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar9 = (src_stat->st_mtim).tv_sec;" (assignment_expression "uVar9 = (src_stat->st_mtim).tv_sec" identifier = (field_expression "(src_stat->st_mtim).tv_sec" (parenthesized_expression "(src_stat->st_mtim)" ( (field_expression "src_stat->st_mtim" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar12 = (dst_stat->st_mtim).tv_nsec;" (assignment_expression "iVar12 = (dst_stat->st_mtim).tv_nsec" identifier = (field_expression "(dst_stat->st_mtim).tv_nsec" (parenthesized_expression "(dst_stat->st_mtim)" ( (field_expression "dst_stat->st_mtim" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar8 = options & 1;" (assignment_expression "uVar8 = options & 1" identifier = (binary_expression "options & 1" identifier & number_literal)) ;) (expression_statement "iVar11 = (src_stat->st_mtim).tv_nsec;" (assignment_expression "iVar11 = (src_stat->st_mtim).tv_nsec" identifier = (field_expression "(src_stat->st_mtim).tv_nsec" (parenthesized_expression "(src_stat->st_mtim)" ( (field_expression "src_stat->st_mtim" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "dst_stat_00 = (stat *)dst_name;" (assignment_expression "dst_stat_00 = (stat *)dst_name" identifier = (cast_expression "(stat *)dst_name" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "hasher = dst_stat;" (assignment_expression "hasher = dst_stat" identifier = identifier) ;) (if_statement "if (uVar8 != 0) {\n    if (uVar10 == uVar9) {\n      if (iVar11 == iVar12) {\n        uVar8 = 0;\n        goto LAB_00027074;\n      }\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar10 < (int)(uVar9 - 1)) {\n        uVar8 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar9 < (int)(uVar10 - 1)) goto LAB_00027074;\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (pHVar14 == (Hash_table *)0x0) {\n      src_stat = (stat *)(PTR_LAB_0004521c + 0x6948);\n      hasher = (stat *)(PTR_LAB_0004521c + 0x6900);\n      pHVar14 = hash_initialize(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,\n                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c);\n      *(Hash_table **)(PTR_DAT_00045118 + 0x5c64) = pHVar14;\n      if (pHVar14 != (Hash_table *)0x0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar5 = 2000000000;\n      tmp_dst_res.resolution = 2000000000;\n      tmp_dst_res.exact = false;\n      pfVar2 = &tmp_dst_res;\nLAB_00026b10:\n      iVar6 = (dst_stat->st_atim).tv_nsec;\n      hasher = (stat *)(dst_stat->st_ctim).tv_nsec;\n      dst_stat_00 = (stat *)((int)hasher / 10);\n      uVar1 = uVar8;\n      if ((iVar6 % 10 == 0 && (int)hasher % 10 == 0) && iVar12 % 10 == 0) {\n        uVar7 = (dst_stat->st_atim).tv_sec;\n        iVar15 = iVar6 / 10;\n        dst_stat_00 = (stat *)((int)hasher / 10);\n        iVar4 = iVar12 / 10;\n        if ((int)uVar5 < 0xb) {\n          uVar13 = 10;\n          hasher = (stat *)((int)hasher >> 0x1f);\n        }\n        else {\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }\n        pfVar2->resolution = uVar13;\nLAB_00026d7c:\n        dst_stat = hasher;\n        if (((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))\n        goto LAB_00027074;\n        uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9;\n        if ((int)uVar10 < (int)uVar5) {\n          uVar8 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar10 == uVar5) {\n          if (uVar13 == 0) {\n            trap(7);\n          }\n          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        timespec[1].tv_sec = uVar13 == 2000000000 | uVar10;\n        timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12;\n        src_stat = (stat *)&DAT_00000100;\n        dst_stat = (stat *)timespec;\n        dst_stat_00 = (stat *)dst_name;\n        timespec[0].tv_sec = uVar7;\n        timespec[0].tv_nsec = iVar6;\n        iVar6 = (*(code *)PTR_utimensat_00045680)(dfd);\n        if (iVar6 != 0) {\n          uVar8 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        hasher = (stat *)dst_name;\n        iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100);\n        src_stat = (stat *)&DAT_00000100;\n        if ((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0) {\n          hasher = (stat *)timespec;\n          timespec[1].tv_sec = uVar10;\n          timespec[1].tv_nsec = iVar12;\n          (*(code *)PTR_utimensat_00045680)(dfd);\n          if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }\n        }\n        dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000);\n        iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4;\n        uVar1 = uVar8;\n        if ((iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)) {\n          uVar8 = 10;\n          dst_stat_00 = (stat *)0x66666667;\n          hasher = (stat *)0x3b9aca00;\n          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n          do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);\n        }\n      }\nLAB_00026ec8:\n      uVar5 = uVar1;\n      pfVar2->resolution = uVar5;\n      pfVar2->exact = true;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;\n        if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;\n        tmp_dst_res.dev._0_4_ = 0;\n        dst_stat_00 = (stat *)&tmp_dst_res;\n        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar5 = pfVar2->resolution;\n      if (pfVar2->exact == false) goto LAB_00026b10;\n    }\n    uVar9 = uVar9 & ~(uint)(uVar5 == 2000000000);\n    if (uVar5 == 0) {\n      trap(7);\n    }\n    iVar11 = iVar11 - iVar11 % (int)uVar5;\n  }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    if (uVar10 == uVar9) {\n      if (iVar11 == iVar12) {\n        uVar8 = 0;\n        goto LAB_00027074;\n      }\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar10 < (int)(uVar9 - 1)) {\n        uVar8 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar9 < (int)(uVar10 - 1)) goto LAB_00027074;\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (pHVar14 == (Hash_table *)0x0) {\n      src_stat = (stat *)(PTR_LAB_0004521c + 0x6948);\n      hasher = (stat *)(PTR_LAB_0004521c + 0x6900);\n      pHVar14 = hash_initialize(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,\n                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c);\n      *(Hash_table **)(PTR_DAT_00045118 + 0x5c64) = pHVar14;\n      if (pHVar14 != (Hash_table *)0x0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar5 = 2000000000;\n      tmp_dst_res.resolution = 2000000000;\n      tmp_dst_res.exact = false;\n      pfVar2 = &tmp_dst_res;\nLAB_00026b10:\n      iVar6 = (dst_stat->st_atim).tv_nsec;\n      hasher = (stat *)(dst_stat->st_ctim).tv_nsec;\n      dst_stat_00 = (stat *)((int)hasher / 10);\n      uVar1 = uVar8;\n      if ((iVar6 % 10 == 0 && (int)hasher % 10 == 0) && iVar12 % 10 == 0) {\n        uVar7 = (dst_stat->st_atim).tv_sec;\n        iVar15 = iVar6 / 10;\n        dst_stat_00 = (stat *)((int)hasher / 10);\n        iVar4 = iVar12 / 10;\n        if ((int)uVar5 < 0xb) {\n          uVar13 = 10;\n          hasher = (stat *)((int)hasher >> 0x1f);\n        }\n        else {\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }\n        pfVar2->resolution = uVar13;\nLAB_00026d7c:\n        dst_stat = hasher;\n        if (((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))\n        goto LAB_00027074;\n        uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9;\n        if ((int)uVar10 < (int)uVar5) {\n          uVar8 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar10 == uVar5) {\n          if (uVar13 == 0) {\n            trap(7);\n          }\n          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        timespec[1].tv_sec = uVar13 == 2000000000 | uVar10;\n        timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12;\n        src_stat = (stat *)&DAT_00000100;\n        dst_stat = (stat *)timespec;\n        dst_stat_00 = (stat *)dst_name;\n        timespec[0].tv_sec = uVar7;\n        timespec[0].tv_nsec = iVar6;\n        iVar6 = (*(code *)PTR_utimensat_00045680)(dfd);\n        if (iVar6 != 0) {\n          uVar8 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        hasher = (stat *)dst_name;\n        iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100);\n        src_stat = (stat *)&DAT_00000100;\n        if ((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0) {\n          hasher = (stat *)timespec;\n          timespec[1].tv_sec = uVar10;\n          timespec[1].tv_nsec = iVar12;\n          (*(code *)PTR_utimensat_00045680)(dfd);\n          if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }\n        }\n        dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000);\n        iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4;\n        uVar1 = uVar8;\n        if ((iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)) {\n          uVar8 = 10;\n          dst_stat_00 = (stat *)0x66666667;\n          hasher = (stat *)0x3b9aca00;\n          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n          do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);\n        }\n      }\nLAB_00026ec8:\n      uVar5 = uVar1;\n      pfVar2->resolution = uVar5;\n      pfVar2->exact = true;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;\n        if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;\n        tmp_dst_res.dev._0_4_ = 0;\n        dst_stat_00 = (stat *)&tmp_dst_res;\n        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar5 = pfVar2->resolution;\n      if (pfVar2->exact == false) goto LAB_00026b10;\n    }\n    uVar9 = uVar9 & ~(uint)(uVar5 == 2000000000);\n    if (uVar5 == 0) {\n      trap(7);\n    }\n    iVar11 = iVar11 - iVar11 % (int)uVar5;\n  }" { (if_statement "if (uVar10 == uVar9) {\n      if (iVar11 == iVar12) {\n        uVar8 = 0;\n        goto LAB_00027074;\n      }\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar10 < (int)(uVar9 - 1)) {\n        uVar8 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar9 < (int)(uVar10 - 1)) goto LAB_00027074;\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }" if (parenthesized_expression "(uVar10 == uVar9)" ( (binary_expression "uVar10 == uVar9" identifier == identifier) )) (compound_statement "{\n      if (iVar11 == iVar12) {\n        uVar8 = 0;\n        goto LAB_00027074;\n      }\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }" { (if_statement "if (iVar11 == iVar12) {\n        uVar8 = 0;\n        goto LAB_00027074;\n      }" if (parenthesized_expression "(iVar11 == iVar12)" ( (binary_expression "iVar11 == iVar12" identifier == identifier) )) (compound_statement "{\n        uVar8 = 0;\n        goto LAB_00027074;\n      }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (expression_statement "pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "Hash_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      if ((int)uVar10 < (int)(uVar9 - 1)) {\n        uVar8 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar9 < (int)(uVar10 - 1)) goto LAB_00027074;\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }" else (compound_statement "{\n      if ((int)uVar10 < (int)(uVar9 - 1)) {\n        uVar8 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar9 < (int)(uVar10 - 1)) goto LAB_00027074;\n      pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n    }" { (if_statement "if ((int)uVar10 < (int)(uVar9 - 1)) {\n        uVar8 = 0xffffffff;\n        goto LAB_00027074;\n      }" if (parenthesized_expression "((int)uVar10 < (int)(uVar9 - 1))" ( (binary_expression "(int)uVar10 < (int)(uVar9 - 1)" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(uVar9 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar9 - 1)" ( (binary_expression "uVar9 - 1" identifier - number_literal) )))) )) (compound_statement "{\n        uVar8 = 0xffffffff;\n        goto LAB_00027074;\n      }" { (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (if_statement "if ((int)uVar9 < (int)(uVar10 - 1)) goto LAB_00027074;" if (parenthesized_expression "((int)uVar9 < (int)(uVar10 - 1))" ( (binary_expression "(int)uVar9 < (int)(uVar10 - 1)" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(uVar10 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )))) )) (goto_statement "goto LAB_00027074;" goto statement_identifier ;)) (expression_statement "pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "Hash_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) }))) (if_statement "if (pHVar14 == (Hash_table *)0x0) {\n      src_stat = (stat *)(PTR_LAB_0004521c + 0x6948);\n      hasher = (stat *)(PTR_LAB_0004521c + 0x6900);\n      pHVar14 = hash_initialize(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,\n                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c);\n      *(Hash_table **)(PTR_DAT_00045118 + 0x5c64) = pHVar14;\n      if (pHVar14 != (Hash_table *)0x0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar5 = 2000000000;\n      tmp_dst_res.resolution = 2000000000;\n      tmp_dst_res.exact = false;\n      pfVar2 = &tmp_dst_res;\nLAB_00026b10:\n      iVar6 = (dst_stat->st_atim).tv_nsec;\n      hasher = (stat *)(dst_stat->st_ctim).tv_nsec;\n      dst_stat_00 = (stat *)((int)hasher / 10);\n      uVar1 = uVar8;\n      if ((iVar6 % 10 == 0 && (int)hasher % 10 == 0) && iVar12 % 10 == 0) {\n        uVar7 = (dst_stat->st_atim).tv_sec;\n        iVar15 = iVar6 / 10;\n        dst_stat_00 = (stat *)((int)hasher / 10);\n        iVar4 = iVar12 / 10;\n        if ((int)uVar5 < 0xb) {\n          uVar13 = 10;\n          hasher = (stat *)((int)hasher >> 0x1f);\n        }\n        else {\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }\n        pfVar2->resolution = uVar13;\nLAB_00026d7c:\n        dst_stat = hasher;\n        if (((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))\n        goto LAB_00027074;\n        uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9;\n        if ((int)uVar10 < (int)uVar5) {\n          uVar8 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar10 == uVar5) {\n          if (uVar13 == 0) {\n            trap(7);\n          }\n          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        timespec[1].tv_sec = uVar13 == 2000000000 | uVar10;\n        timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12;\n        src_stat = (stat *)&DAT_00000100;\n        dst_stat = (stat *)timespec;\n        dst_stat_00 = (stat *)dst_name;\n        timespec[0].tv_sec = uVar7;\n        timespec[0].tv_nsec = iVar6;\n        iVar6 = (*(code *)PTR_utimensat_00045680)(dfd);\n        if (iVar6 != 0) {\n          uVar8 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        hasher = (stat *)dst_name;\n        iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100);\n        src_stat = (stat *)&DAT_00000100;\n        if ((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0) {\n          hasher = (stat *)timespec;\n          timespec[1].tv_sec = uVar10;\n          timespec[1].tv_nsec = iVar12;\n          (*(code *)PTR_utimensat_00045680)(dfd);\n          if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }\n        }\n        dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000);\n        iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4;\n        uVar1 = uVar8;\n        if ((iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)) {\n          uVar8 = 10;\n          dst_stat_00 = (stat *)0x66666667;\n          hasher = (stat *)0x3b9aca00;\n          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n          do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);\n        }\n      }\nLAB_00026ec8:\n      uVar5 = uVar1;\n      pfVar2->resolution = uVar5;\n      pfVar2->exact = true;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;\n        if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;\n        tmp_dst_res.dev._0_4_ = 0;\n        dst_stat_00 = (stat *)&tmp_dst_res;\n        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar5 = pfVar2->resolution;\n      if (pfVar2->exact == false) goto LAB_00026b10;\n    }" if (parenthesized_expression "(pHVar14 == (Hash_table *)0x0)" ( (binary_expression "pHVar14 == (Hash_table *)0x0" identifier == (cast_expression "(Hash_table *)0x0" ( (type_descriptor "Hash_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      src_stat = (stat *)(PTR_LAB_0004521c + 0x6948);\n      hasher = (stat *)(PTR_LAB_0004521c + 0x6900);\n      pHVar14 = hash_initialize(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,\n                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c);\n      *(Hash_table **)(PTR_DAT_00045118 + 0x5c64) = pHVar14;\n      if (pHVar14 != (Hash_table *)0x0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar5 = 2000000000;\n      tmp_dst_res.resolution = 2000000000;\n      tmp_dst_res.exact = false;\n      pfVar2 = &tmp_dst_res;\nLAB_00026b10:\n      iVar6 = (dst_stat->st_atim).tv_nsec;\n      hasher = (stat *)(dst_stat->st_ctim).tv_nsec;\n      dst_stat_00 = (stat *)((int)hasher / 10);\n      uVar1 = uVar8;\n      if ((iVar6 % 10 == 0 && (int)hasher % 10 == 0) && iVar12 % 10 == 0) {\n        uVar7 = (dst_stat->st_atim).tv_sec;\n        iVar15 = iVar6 / 10;\n        dst_stat_00 = (stat *)((int)hasher / 10);\n        iVar4 = iVar12 / 10;\n        if ((int)uVar5 < 0xb) {\n          uVar13 = 10;\n          hasher = (stat *)((int)hasher >> 0x1f);\n        }\n        else {\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }\n        pfVar2->resolution = uVar13;\nLAB_00026d7c:\n        dst_stat = hasher;\n        if (((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))\n        goto LAB_00027074;\n        uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9;\n        if ((int)uVar10 < (int)uVar5) {\n          uVar8 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar10 == uVar5) {\n          if (uVar13 == 0) {\n            trap(7);\n          }\n          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        timespec[1].tv_sec = uVar13 == 2000000000 | uVar10;\n        timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12;\n        src_stat = (stat *)&DAT_00000100;\n        dst_stat = (stat *)timespec;\n        dst_stat_00 = (stat *)dst_name;\n        timespec[0].tv_sec = uVar7;\n        timespec[0].tv_nsec = iVar6;\n        iVar6 = (*(code *)PTR_utimensat_00045680)(dfd);\n        if (iVar6 != 0) {\n          uVar8 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        hasher = (stat *)dst_name;\n        iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100);\n        src_stat = (stat *)&DAT_00000100;\n        if ((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0) {\n          hasher = (stat *)timespec;\n          timespec[1].tv_sec = uVar10;\n          timespec[1].tv_nsec = iVar12;\n          (*(code *)PTR_utimensat_00045680)(dfd);\n          if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }\n        }\n        dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000);\n        iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4;\n        uVar1 = uVar8;\n        if ((iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)) {\n          uVar8 = 10;\n          dst_stat_00 = (stat *)0x66666667;\n          hasher = (stat *)0x3b9aca00;\n          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n          do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);\n        }\n      }\nLAB_00026ec8:\n      uVar5 = uVar1;\n      pfVar2->resolution = uVar5;\n      pfVar2->exact = true;\n    }" { (expression_statement "src_stat = (stat *)(PTR_LAB_0004521c + 0x6948);" (assignment_expression "src_stat = (stat *)(PTR_LAB_0004521c + 0x6948)" identifier = (cast_expression "(stat *)(PTR_LAB_0004521c + 0x6948)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0004521c + 0x6948)" ( (binary_expression "PTR_LAB_0004521c + 0x6948" identifier + number_literal) )))) ;) (expression_statement "hasher = (stat *)(PTR_LAB_0004521c + 0x6900);" (assignment_expression "hasher = (stat *)(PTR_LAB_0004521c + 0x6900)" identifier = (cast_expression "(stat *)(PTR_LAB_0004521c + 0x6900)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0004521c + 0x6900)" ( (binary_expression "PTR_LAB_0004521c + 0x6900" identifier + number_literal) )))) ;) (expression_statement "pHVar14 = hash_initialize(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,\n                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c);" (assignment_expression "pHVar14 = hash_initialize(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,\n                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c)" identifier = (call_expression "hash_initialize(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,\n                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c)" identifier (argument_list "(0x10,(Hash_tuning *)0x0,(Hash_hasher)hasher,\n                                (Hash_comparator)src_stat,(Hash_data_freer)PTR_free_0004563c)" ( number_literal , (cast_expression "(Hash_tuning *)0x0" ( (type_descriptor "Hash_tuning *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(Hash_hasher)hasher" ( (type_descriptor "Hash_hasher" type_identifier) ) identifier) , (cast_expression "(Hash_comparator)src_stat" ( (type_descriptor "Hash_comparator" type_identifier) ) identifier) , (cast_expression "(Hash_data_freer)PTR_free_0004563c" ( (type_descriptor "Hash_data_freer" type_identifier) ) identifier) )))) ;) (expression_statement "*(Hash_table **)(PTR_DAT_00045118 + 0x5c64) = pHVar14;" (assignment_expression "*(Hash_table **)(PTR_DAT_00045118 + 0x5c64) = pHVar14" (pointer_expression "*(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "Hash_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) )))) = identifier) ;) (if_statement "if (pHVar14 != (Hash_table *)0x0) goto LAB_00026a18;" if (parenthesized_expression "(pHVar14 != (Hash_table *)0x0)" ( (binary_expression "pHVar14 != (Hash_table *)0x0" identifier != (cast_expression "(Hash_table *)0x0" ( (type_descriptor "Hash_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026a18;" goto statement_identifier ;)) (labeled_statement "LAB_00026b00:\n      uVar5 = 2000000000;" statement_identifier : (expression_statement "uVar5 = 2000000000;" (assignment_expression "uVar5 = 2000000000" identifier = number_literal) ;)) (expression_statement "tmp_dst_res.resolution = 2000000000;" (assignment_expression "tmp_dst_res.resolution = 2000000000" (field_expression "tmp_dst_res.resolution" identifier . field_identifier) = number_literal) ;) (expression_statement "tmp_dst_res.exact = false;" (assignment_expression "tmp_dst_res.exact = false" (field_expression "tmp_dst_res.exact" identifier . field_identifier) = false) ;) (expression_statement "pfVar2 = &tmp_dst_res;" (assignment_expression "pfVar2 = &tmp_dst_res" identifier = (pointer_expression "&tmp_dst_res" & identifier)) ;) (labeled_statement "LAB_00026b10:\n      iVar6 = (dst_stat->st_atim).tv_nsec;" statement_identifier : (expression_statement "iVar6 = (dst_stat->st_atim).tv_nsec;" (assignment_expression "iVar6 = (dst_stat->st_atim).tv_nsec" identifier = (field_expression "(dst_stat->st_atim).tv_nsec" (parenthesized_expression "(dst_stat->st_atim)" ( (field_expression "dst_stat->st_atim" identifier -> field_identifier) )) . field_identifier)) ;)) (expression_statement "hasher = (stat *)(dst_stat->st_ctim).tv_nsec;" (assignment_expression "hasher = (stat *)(dst_stat->st_ctim).tv_nsec" identifier = (cast_expression "(stat *)(dst_stat->st_ctim).tv_nsec" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(dst_stat->st_ctim).tv_nsec" (parenthesized_expression "(dst_stat->st_ctim)" ( (field_expression "dst_stat->st_ctim" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "dst_stat_00 = (stat *)((int)hasher / 10);" (assignment_expression "dst_stat_00 = (stat *)((int)hasher / 10)" identifier = (cast_expression "(stat *)((int)hasher / 10)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)hasher / 10)" ( (binary_expression "(int)hasher / 10" (cast_expression "(int)hasher" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) )))) ;) (expression_statement "uVar1 = uVar8;" (assignment_expression "uVar1 = uVar8" identifier = identifier) ;) (if_statement "if ((iVar6 % 10 == 0 && (int)hasher % 10 == 0) && iVar12 % 10 == 0) {\n        uVar7 = (dst_stat->st_atim).tv_sec;\n        iVar15 = iVar6 / 10;\n        dst_stat_00 = (stat *)((int)hasher / 10);\n        iVar4 = iVar12 / 10;\n        if ((int)uVar5 < 0xb) {\n          uVar13 = 10;\n          hasher = (stat *)((int)hasher >> 0x1f);\n        }\n        else {\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }\n        pfVar2->resolution = uVar13;\nLAB_00026d7c:\n        dst_stat = hasher;\n        if (((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))\n        goto LAB_00027074;\n        uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9;\n        if ((int)uVar10 < (int)uVar5) {\n          uVar8 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar10 == uVar5) {\n          if (uVar13 == 0) {\n            trap(7);\n          }\n          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        timespec[1].tv_sec = uVar13 == 2000000000 | uVar10;\n        timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12;\n        src_stat = (stat *)&DAT_00000100;\n        dst_stat = (stat *)timespec;\n        dst_stat_00 = (stat *)dst_name;\n        timespec[0].tv_sec = uVar7;\n        timespec[0].tv_nsec = iVar6;\n        iVar6 = (*(code *)PTR_utimensat_00045680)(dfd);\n        if (iVar6 != 0) {\n          uVar8 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        hasher = (stat *)dst_name;\n        iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100);\n        src_stat = (stat *)&DAT_00000100;\n        if ((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0) {\n          hasher = (stat *)timespec;\n          timespec[1].tv_sec = uVar10;\n          timespec[1].tv_nsec = iVar12;\n          (*(code *)PTR_utimensat_00045680)(dfd);\n          if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }\n        }\n        dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000);\n        iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4;\n        uVar1 = uVar8;\n        if ((iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)) {\n          uVar8 = 10;\n          dst_stat_00 = (stat *)0x66666667;\n          hasher = (stat *)0x3b9aca00;\n          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n          do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);\n        }\n      }" if (parenthesized_expression "((iVar6 % 10 == 0 && (int)hasher % 10 == 0) && iVar12 % 10 == 0)" ( (binary_expression "(iVar6 % 10 == 0 && (int)hasher % 10 == 0) && iVar12 % 10 == 0" (parenthesized_expression "(iVar6 % 10 == 0 && (int)hasher % 10 == 0)" ( (binary_expression "iVar6 % 10 == 0 && (int)hasher % 10 == 0" (binary_expression "iVar6 % 10 == 0" (binary_expression "iVar6 % 10" identifier % number_literal) == number_literal) && (binary_expression "(int)hasher % 10 == 0" (binary_expression "(int)hasher % 10" (cast_expression "(int)hasher" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal) == number_literal)) )) && (binary_expression "iVar12 % 10 == 0" (binary_expression "iVar12 % 10" identifier % number_literal) == number_literal)) )) (compound_statement "{\n        uVar7 = (dst_stat->st_atim).tv_sec;\n        iVar15 = iVar6 / 10;\n        dst_stat_00 = (stat *)((int)hasher / 10);\n        iVar4 = iVar12 / 10;\n        if ((int)uVar5 < 0xb) {\n          uVar13 = 10;\n          hasher = (stat *)((int)hasher >> 0x1f);\n        }\n        else {\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }\n        pfVar2->resolution = uVar13;\nLAB_00026d7c:\n        dst_stat = hasher;\n        if (((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))\n        goto LAB_00027074;\n        uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9;\n        if ((int)uVar10 < (int)uVar5) {\n          uVar8 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar10 == uVar5) {\n          if (uVar13 == 0) {\n            trap(7);\n          }\n          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        timespec[1].tv_sec = uVar13 == 2000000000 | uVar10;\n        timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12;\n        src_stat = (stat *)&DAT_00000100;\n        dst_stat = (stat *)timespec;\n        dst_stat_00 = (stat *)dst_name;\n        timespec[0].tv_sec = uVar7;\n        timespec[0].tv_nsec = iVar6;\n        iVar6 = (*(code *)PTR_utimensat_00045680)(dfd);\n        if (iVar6 != 0) {\n          uVar8 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        hasher = (stat *)dst_name;\n        iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100);\n        src_stat = (stat *)&DAT_00000100;\n        if ((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0) {\n          hasher = (stat *)timespec;\n          timespec[1].tv_sec = uVar10;\n          timespec[1].tv_nsec = iVar12;\n          (*(code *)PTR_utimensat_00045680)(dfd);\n          if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }\n        }\n        dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000);\n        iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4;\n        uVar1 = uVar8;\n        if ((iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)) {\n          uVar8 = 10;\n          dst_stat_00 = (stat *)0x66666667;\n          hasher = (stat *)0x3b9aca00;\n          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n          do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);\n        }\n      }" { (expression_statement "uVar7 = (dst_stat->st_atim).tv_sec;" (assignment_expression "uVar7 = (dst_stat->st_atim).tv_sec" identifier = (field_expression "(dst_stat->st_atim).tv_sec" (parenthesized_expression "(dst_stat->st_atim)" ( (field_expression "dst_stat->st_atim" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar15 = iVar6 / 10;" (assignment_expression "iVar15 = iVar6 / 10" identifier = (binary_expression "iVar6 / 10" identifier / number_literal)) ;) (expression_statement "dst_stat_00 = (stat *)((int)hasher / 10);" (assignment_expression "dst_stat_00 = (stat *)((int)hasher / 10)" identifier = (cast_expression "(stat *)((int)hasher / 10)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)hasher / 10)" ( (binary_expression "(int)hasher / 10" (cast_expression "(int)hasher" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) )))) ;) (expression_statement "iVar4 = iVar12 / 10;" (assignment_expression "iVar4 = iVar12 / 10" identifier = (binary_expression "iVar12 / 10" identifier / number_literal)) ;) (if_statement "if ((int)uVar5 < 0xb) {\n          uVar13 = 10;\n          hasher = (stat *)((int)hasher >> 0x1f);\n        }\n        else {\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }" if (parenthesized_expression "((int)uVar5 < 0xb)" ( (binary_expression "(int)uVar5 < 0xb" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          uVar13 = 10;\n          hasher = (stat *)((int)hasher >> 0x1f);\n        }" { (expression_statement "uVar13 = 10;" (assignment_expression "uVar13 = 10" identifier = number_literal) ;) (expression_statement "hasher = (stat *)((int)hasher >> 0x1f);" (assignment_expression "hasher = (stat *)((int)hasher >> 0x1f)" identifier = (cast_expression "(stat *)((int)hasher >> 0x1f)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)hasher >> 0x1f)" ( (binary_expression "(int)hasher >> 0x1f" (cast_expression "(int)hasher" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) }) (else_clause "else {\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }" else (compound_statement "{\n          hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);\n          src_stat = (stat *)((iVar4 / 10) * 4);\n          if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }\n        }" { (expression_statement "hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10);" (assignment_expression "hasher = (stat *)(iVar15 % 10 | (int)dst_stat_00 % 10)" identifier = (cast_expression "(stat *)(iVar15 % 10 | (int)dst_stat_00 % 10)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 % 10 | (int)dst_stat_00 % 10)" ( (binary_expression "iVar15 % 10 | (int)dst_stat_00 % 10" (binary_expression "iVar15 % 10" identifier % number_literal) | (binary_expression "(int)dst_stat_00 % 10" (cast_expression "(int)dst_stat_00" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal)) )))) ;) (expression_statement "src_stat = (stat *)((iVar4 / 10) * 4);" (assignment_expression "src_stat = (stat *)((iVar4 / 10) * 4)" identifier = (cast_expression "(stat *)((iVar4 / 10) * 4)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar4 / 10) * 4)" ( (binary_expression "(iVar4 / 10) * 4" (parenthesized_expression "(iVar4 / 10)" ( (binary_expression "iVar4 / 10" identifier / number_literal) )) * number_literal) )))) ;) (if_statement "if (hasher == (stat *)0x0 && iVar4 % 10 == 0) {\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }\n          else {\n            uVar13 = 10;\n          }" if (parenthesized_expression "(hasher == (stat *)0x0 && iVar4 % 10 == 0)" ( (binary_expression "hasher == (stat *)0x0 && iVar4 % 10 == 0" (binary_expression "hasher == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "iVar4 % 10 == 0" (binary_expression "iVar4 % 10" identifier % number_literal) == number_literal)) )) (compound_statement "{\n            uVar13 = 10;\n            src_stat = (stat *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);\n            if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }\n          }" { (expression_statement "uVar13 = 10;" (assignment_expression "uVar13 = 10" identifier = number_literal) ;) (expression_statement "src_stat = (stat *)0x66666667;" (assignment_expression "src_stat = (stat *)0x66666667" identifier = (cast_expression "(stat *)0x66666667" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = 0x28;" (assignment_expression "iVar3 = 0x28" identifier = number_literal) ;) (do_statement "do {\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar13 != 1000000000);" do (compound_statement "{\n              iVar3 = iVar3 + uVar13;\n              uVar13 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              dst_stat_00 = (stat *)((int)dst_stat_00 / 10);\n              hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)hasher - (iVar4 >> 0x1f);\n              if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }\n              hasher = (stat *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            }" { (expression_statement "iVar3 = iVar3 + uVar13;" (assignment_expression "iVar3 = iVar3 + uVar13" identifier = (binary_expression "iVar3 + uVar13" identifier + identifier)) ;) (expression_statement "uVar13 = iVar3 * 2;" (assignment_expression "uVar13 = iVar3 * 2" identifier = (binary_expression "iVar3 * 2" identifier * number_literal)) ;) (expression_statement "iVar15 = iVar15 / 10;" (assignment_expression "iVar15 = iVar15 / 10" identifier = (binary_expression "iVar15 / 10" identifier / number_literal)) ;) (expression_statement "dst_stat_00 = (stat *)((int)dst_stat_00 / 10);" (assignment_expression "dst_stat_00 = (stat *)((int)dst_stat_00 / 10)" identifier = (cast_expression "(stat *)((int)dst_stat_00 / 10)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)dst_stat_00 / 10)" ( (binary_expression "(int)dst_stat_00 / 10" (cast_expression "(int)dst_stat_00" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) )))) ;) (expression_statement "hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f));" (assignment_expression "hasher = (stat *)(iVar4 / 10 + (iVar4 >> 0x1f))" identifier = (cast_expression "(stat *)(iVar4 / 10 + (iVar4 >> 0x1f))" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 / 10 + (iVar4 >> 0x1f))" ( (binary_expression "iVar4 / 10 + (iVar4 >> 0x1f)" (binary_expression "iVar4 / 10" identifier / number_literal) + (parenthesized_expression "(iVar4 >> 0x1f)" ( (binary_expression "iVar4 >> 0x1f" identifier >> number_literal) ))) )))) ;) (expression_statement "iVar4 = (int)hasher - (iVar4 >> 0x1f);" (assignment_expression "iVar4 = (int)hasher - (iVar4 >> 0x1f)" identifier = (binary_expression "(int)hasher - (iVar4 >> 0x1f)" (cast_expression "(int)hasher" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "(iVar4 >> 0x1f)" ( (binary_expression "iVar4 >> 0x1f" identifier >> number_literal) )))) ;) (if_statement "if ((int)uVar5 <= (int)uVar13) {\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }" if (parenthesized_expression "((int)uVar5 <= (int)uVar13)" ( (binary_expression "(int)uVar5 <= (int)uVar13" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                pfVar2->resolution = uVar13;\n                goto LAB_00026d7c;\n              }" { (expression_statement "pfVar2->resolution = uVar13;" (assignment_expression "pfVar2->resolution = uVar13" (field_expression "pfVar2->resolution" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_00026d7c;" goto statement_identifier ;) })) (expression_statement "hasher = (stat *)(iVar4 % 10);" (assignment_expression "hasher = (stat *)(iVar4 % 10)" identifier = (cast_expression "(stat *)(iVar4 % 10)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 % 10)" ( (binary_expression "iVar4 % 10" identifier % number_literal) )))) ;) (if_statement "if ((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0) {\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }" if (parenthesized_expression "((iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0)" ( (binary_expression "(iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0) || hasher != (stat *)0x0" (parenthesized_expression "(iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0)" ( (binary_expression "iVar15 % 10 != 0 || (int)dst_stat_00 % 10 != 0" (binary_expression "iVar15 % 10 != 0" (binary_expression "iVar15 % 10" identifier % number_literal) != number_literal) || (binary_expression "(int)dst_stat_00 % 10 != 0" (binary_expression "(int)dst_stat_00 % 10" (cast_expression "(int)dst_stat_00" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal) != number_literal)) )) || (binary_expression "hasher != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                pfVar2->resolution = uVar13;\n                uVar1 = uVar13;\n                if ((int)uVar13 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }" { (expression_statement "pfVar2->resolution = uVar13;" (assignment_expression "pfVar2->resolution = uVar13" (field_expression "pfVar2->resolution" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar1 = uVar13;" (assignment_expression "uVar1 = uVar13" identifier = identifier) ;) (if_statement "if ((int)uVar13 < 2) goto LAB_00026ec8;" if (parenthesized_expression "((int)uVar13 < 2)" ( (binary_expression "(int)uVar13 < 2" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00026ec8;" goto statement_identifier ;)) (goto_statement "goto LAB_00026d7c;" goto statement_identifier ;) })) (expression_statement "iVar3 = iVar3 * 8;" (assignment_expression "iVar3 = iVar3 * 8" identifier = (binary_expression "iVar3 * 8" identifier * number_literal)) ;) }) while (parenthesized_expression "(uVar13 != 1000000000)" ( (binary_expression "uVar13 != 1000000000" identifier != number_literal) )) ;) (if_statement "if (((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0) {\n              uVar13 = 2000000000;\n            }" if (parenthesized_expression "(((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0)" ( (binary_expression "((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1) == 0" (parenthesized_expression "((uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1)" ( (binary_expression "(uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec) & 1" (parenthesized_expression "(uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec)" ( (binary_expression "uVar10 | uVar7 | (dst_stat->st_ctim).tv_sec" (binary_expression "uVar10 | uVar7" identifier | identifier) | (field_expression "(dst_stat->st_ctim).tv_sec" (parenthesized_expression "(dst_stat->st_ctim)" ( (field_expression "dst_stat->st_ctim" identifier -> field_identifier) )) . field_identifier)) )) & number_literal) )) == number_literal) )) (compound_statement "{\n              uVar13 = 2000000000;\n            }" { (expression_statement "uVar13 = 2000000000;" (assignment_expression "uVar13 = 2000000000" identifier = number_literal) ;) })) }) (else_clause "else {\n            uVar13 = 10;\n          }" else (compound_statement "{\n            uVar13 = 10;\n          }" { (expression_statement "uVar13 = 10;" (assignment_expression "uVar13 = 10" identifier = number_literal) ;) }))) }))) (expression_statement "pfVar2->resolution = uVar13;" (assignment_expression "pfVar2->resolution = uVar13" (field_expression "pfVar2->resolution" identifier -> field_identifier) = identifier) ;) (labeled_statement "LAB_00026d7c:\n        dst_stat = hasher;" statement_identifier : (expression_statement "dst_stat = hasher;" (assignment_expression "dst_stat = hasher" identifier = identifier) ;)) (if_statement "if (((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))\n        goto LAB_00027074;" if (parenthesized_expression "(((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12))))" ( (binary_expression "((int)uVar9 < (int)uVar10) || ((uVar10 == uVar9 && (iVar11 <= iVar12)))" (parenthesized_expression "((int)uVar9 < (int)uVar10)" ( (binary_expression "(int)uVar9 < (int)uVar10" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((uVar10 == uVar9 && (iVar11 <= iVar12)))" ( (parenthesized_expression "(uVar10 == uVar9 && (iVar11 <= iVar12))" ( (binary_expression "uVar10 == uVar9 && (iVar11 <= iVar12)" (binary_expression "uVar10 == uVar9" identifier == identifier) && (parenthesized_expression "(iVar11 <= iVar12)" ( (binary_expression "iVar11 <= iVar12" identifier <= identifier) ))) )) ))) )) (goto_statement "goto LAB_00027074;" goto statement_identifier ;)) (expression_statement "uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9;" (assignment_expression "uVar5 = ~(uint)(uVar13 == 2000000000) & uVar9" identifier = (binary_expression "~(uint)(uVar13 == 2000000000) & uVar9" (unary_expression "~(uint)(uVar13 == 2000000000)" ~ (call_expression "(uint)(uVar13 == 2000000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 == 2000000000)" ( (binary_expression "uVar13 == 2000000000" identifier == number_literal) )))) & identifier)) ;) (if_statement "if ((int)uVar10 < (int)uVar5) {\n          uVar8 = 0xffffffff;\n          goto LAB_00027074;\n        }" if (parenthesized_expression "((int)uVar10 < (int)uVar5)" ( (binary_expression "(int)uVar10 < (int)uVar5" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar8 = 0xffffffff;\n          goto LAB_00027074;\n        }" { (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (if_statement "if (uVar10 == uVar5) {\n          if (uVar13 == 0) {\n            trap(7);\n          }\n          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }" if (parenthesized_expression "(uVar10 == uVar5)" ( (binary_expression "uVar10 == uVar5" identifier == identifier) )) (compound_statement "{\n          if (uVar13 == 0) {\n            trap(7);\n          }\n          if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }" { (if_statement "if (uVar13 == 0) {\n            trap(7);\n          }" if (parenthesized_expression "(uVar13 == 0)" ( (binary_expression "uVar13 == 0" identifier == number_literal) )) (compound_statement "{\n            trap(7);\n          }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (if_statement "if (iVar12 < iVar11 - iVar11 % (int)uVar13) {\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }" if (parenthesized_expression "(iVar12 < iVar11 - iVar11 % (int)uVar13)" ( (binary_expression "iVar12 < iVar11 - iVar11 % (int)uVar13" identifier < (binary_expression "iVar11 - iVar11 % (int)uVar13" identifier - (binary_expression "iVar11 % (int)uVar13" identifier % (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)))) )) (compound_statement "{\n            uVar8 = 0xffffffff;\n            goto LAB_00027074;\n          }" { (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) })) (expression_statement "timespec[1].tv_sec = uVar13 == 2000000000 | uVar10;" (assignment_expression "timespec[1].tv_sec = uVar13 == 2000000000 | uVar10" (field_expression "timespec[1].tv_sec" (subscript_expression "timespec[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "uVar13 == 2000000000 | uVar10" (binary_expression "uVar13 == 2000000000" identifier == number_literal) | identifier)) ;) (expression_statement "timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12;" (assignment_expression "timespec[1].tv_nsec = (int)uVar13 / 9 + iVar12" (field_expression "timespec[1].tv_nsec" (subscript_expression "timespec[1]" identifier [ number_literal ]) . field_identifier) = (binary_expression "(int)uVar13 / 9 + iVar12" (binary_expression "(int)uVar13 / 9" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) + identifier)) ;) (expression_statement "src_stat = (stat *)&DAT_00000100;" (assignment_expression "src_stat = (stat *)&DAT_00000100" identifier = (cast_expression "(stat *)&DAT_00000100" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000100" & identifier))) ;) (expression_statement "dst_stat = (stat *)timespec;" (assignment_expression "dst_stat = (stat *)timespec" identifier = (cast_expression "(stat *)timespec" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "dst_stat_00 = (stat *)dst_name;" (assignment_expression "dst_stat_00 = (stat *)dst_name" identifier = (cast_expression "(stat *)dst_name" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "timespec[0].tv_sec = uVar7;" (assignment_expression "timespec[0].tv_sec = uVar7" (field_expression "timespec[0].tv_sec" (subscript_expression "timespec[0]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "timespec[0].tv_nsec = iVar6;" (assignment_expression "timespec[0].tv_nsec = iVar6" (field_expression "timespec[0].tv_nsec" (subscript_expression "timespec[0]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "iVar6 = (*(code *)PTR_utimensat_00045680)(dfd);" (assignment_expression "iVar6 = (*(code *)PTR_utimensat_00045680)(dfd)" identifier = (call_expression "(*(code *)PTR_utimensat_00045680)(dfd)" (parenthesized_expression "(*(code *)PTR_utimensat_00045680)" ( (pointer_expression "*(code *)PTR_utimensat_00045680" * (cast_expression "(code *)PTR_utimensat_00045680" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dfd)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n          uVar8 = 0xfffffffe;\n          goto LAB_00027074;\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar8 = 0xfffffffe;\n          goto LAB_00027074;\n        }" { (expression_statement "uVar8 = 0xfffffffe;" (assignment_expression "uVar8 = 0xfffffffe" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (expression_statement "hasher = (stat *)dst_name;" (assignment_expression "hasher = (stat *)dst_name" identifier = (cast_expression "(stat *)dst_name" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100);" (assignment_expression "iVar6 = (*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100)" identifier = (call_expression "(*(code *)PTR___fxstatat64_000455e0)(3,dfd,dst_name,&dst_status,0x100)" (parenthesized_expression "(*(code *)PTR___fxstatat64_000455e0)" ( (pointer_expression "*(code *)PTR___fxstatat64_000455e0" * (cast_expression "(code *)PTR___fxstatat64_000455e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,dfd,dst_name,&dst_status,0x100)" ( number_literal , identifier , identifier , (pointer_expression "&dst_status" & identifier) , number_literal )))) ;) (expression_statement "src_stat = (stat *)&DAT_00000100;" (assignment_expression "src_stat = (stat *)&DAT_00000100" identifier = (cast_expression "(stat *)&DAT_00000100" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000100" & identifier))) ;) (if_statement "if ((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0) {\n          hasher = (stat *)timespec;\n          timespec[1].tv_sec = uVar10;\n          timespec[1].tv_nsec = iVar12;\n          (*(code *)PTR_utimensat_00045680)(dfd);\n          if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }\n        }" if (parenthesized_expression "((uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0)" ( (binary_expression "(uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec) ||\n            iVar6 != 0" (parenthesized_expression "(uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec)" ( (binary_expression "uVar10 != dst_status.st_mtim.tv_sec || iVar12 != dst_status.st_mtim.tv_nsec" (binary_expression "uVar10 != dst_status.st_mtim.tv_sec" identifier != (field_expression "dst_status.st_mtim.tv_sec" (field_expression "dst_status.st_mtim" identifier . field_identifier) . field_identifier)) || (binary_expression "iVar12 != dst_status.st_mtim.tv_nsec" identifier != (field_expression "dst_status.st_mtim.tv_nsec" (field_expression "dst_status.st_mtim" identifier . field_identifier) . field_identifier))) )) || (binary_expression "iVar6 != 0" identifier != number_literal)) )) (compound_statement "{\n          hasher = (stat *)timespec;\n          timespec[1].tv_sec = uVar10;\n          timespec[1].tv_nsec = iVar12;\n          (*(code *)PTR_utimensat_00045680)(dfd);\n          if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }\n        }" { (expression_statement "hasher = (stat *)timespec;" (assignment_expression "hasher = (stat *)timespec" identifier = (cast_expression "(stat *)timespec" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "timespec[1].tv_sec = uVar10;" (assignment_expression "timespec[1].tv_sec = uVar10" (field_expression "timespec[1].tv_sec" (subscript_expression "timespec[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "timespec[1].tv_nsec = iVar12;" (assignment_expression "timespec[1].tv_nsec = iVar12" (field_expression "timespec[1].tv_nsec" (subscript_expression "timespec[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "(*(code *)PTR_utimensat_00045680)(dfd);" (call_expression "(*(code *)PTR_utimensat_00045680)(dfd)" (parenthesized_expression "(*(code *)PTR_utimensat_00045680)" ( (pointer_expression "*(code *)PTR_utimensat_00045680" * (cast_expression "(code *)PTR_utimensat_00045680" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(dfd)" ( identifier ))) ;) (if_statement "if (iVar6 != 0) {\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar8 = 0xfffffffe;\n            dst_stat_00 = (stat *)dst_name;\n            dst_stat = hasher;\n            goto LAB_00027074;\n          }" { (expression_statement "uVar8 = 0xfffffffe;" (assignment_expression "uVar8 = 0xfffffffe" identifier = number_literal) ;) (expression_statement "dst_stat_00 = (stat *)dst_name;" (assignment_expression "dst_stat_00 = (stat *)dst_name" identifier = (cast_expression "(stat *)dst_name" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "dst_stat = hasher;" (assignment_expression "dst_stat = hasher" identifier = identifier) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) })) (expression_statement "dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000);" (assignment_expression "dst_stat_00 = (stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000)" identifier = (cast_expression "(stat *)((dst_status.st_mtim.tv_sec & 1U) * 1000000000)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((dst_status.st_mtim.tv_sec & 1U) * 1000000000)" ( (binary_expression "(dst_status.st_mtim.tv_sec & 1U) * 1000000000" (parenthesized_expression "(dst_status.st_mtim.tv_sec & 1U)" ( (binary_expression "dst_status.st_mtim.tv_sec & 1U" (field_expression "dst_status.st_mtim.tv_sec" (field_expression "dst_status.st_mtim" identifier . field_identifier) . field_identifier) & number_literal) )) * number_literal) )))) ;) (expression_statement "iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4;" (assignment_expression "iVar6 = (int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4" identifier = (binary_expression "(int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec + -4" (binary_expression "(int)dst_stat_00->st_pad1 + dst_status.st_mtim.tv_nsec" (cast_expression "(int)dst_stat_00->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "dst_stat_00->st_pad1" identifier -> field_identifier)) + (field_expression "dst_status.st_mtim.tv_nsec" (field_expression "dst_status.st_mtim" identifier . field_identifier) . field_identifier)) + number_literal)) ;) (expression_statement "uVar1 = uVar8;" (assignment_expression "uVar1 = uVar8" identifier = identifier) ;) (if_statement "if ((iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)) {\n          uVar8 = 10;\n          dst_stat_00 = (stat *)0x66666667;\n          hasher = (stat *)0x3b9aca00;\n          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n          do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);\n        }" if (parenthesized_expression "((iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10))" ( (binary_expression "(iVar6 == (iVar6 / 10) * 10) &&\n           (dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)" (parenthesized_expression "(iVar6 == (iVar6 / 10) * 10)" ( (binary_expression "iVar6 == (iVar6 / 10) * 10" identifier == (binary_expression "(iVar6 / 10) * 10" (parenthesized_expression "(iVar6 / 10)" ( (binary_expression "iVar6 / 10" identifier / number_literal) )) * number_literal)) )) && (parenthesized_expression "(dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10)" ( (comma_expression "dst_stat_00 = (stat *)0x66660000, uVar1 = uVar13, uVar13 != 10" (assignment_expression "dst_stat_00 = (stat *)0x66660000" identifier = (cast_expression "(stat *)0x66660000" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (comma_expression "uVar1 = uVar13, uVar13 != 10" (assignment_expression "uVar1 = uVar13" identifier = identifier) , (binary_expression "uVar13 != 10" identifier != number_literal))) ))) )) (compound_statement "{\n          uVar8 = 10;\n          dst_stat_00 = (stat *)0x66666667;\n          hasher = (stat *)0x3b9aca00;\n          iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n          do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);\n        }" { (expression_statement "uVar8 = 10;" (assignment_expression "uVar8 = 10" identifier = number_literal) ;) (expression_statement "dst_stat_00 = (stat *)0x66666667;" (assignment_expression "dst_stat_00 = (stat *)0x66666667" identifier = (cast_expression "(stat *)0x66666667" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "hasher = (stat *)0x3b9aca00;" (assignment_expression "hasher = (stat *)0x3b9aca00" identifier = (cast_expression "(stat *)0x3b9aca00" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);" (assignment_expression "iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20)" ( (binary_expression "(ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20" (call_expression "(ulonglong)((longlong)iVar6 * 0x66666667)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((longlong)iVar6 * 0x66666667)" ( (binary_expression "(longlong)iVar6 * 0x66666667" (cast_expression "(longlong)iVar6" ( (type_descriptor "longlong" type_identifier) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (do_statement "do {\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          } while (uVar8 != uVar13);" do (compound_statement "{\n            iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);\n            iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);\n            uVar1 = uVar8;\n            if (iVar6 != (iVar6 / 10) * 10) break;\n            if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar8 = uVar8 * 10;\n            uVar1 = uVar13;\n          }" { (expression_statement "iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f);" (assignment_expression "iVar6 = (iVar15 >> 2) - (iVar6 >> 0x1f)" identifier = (binary_expression "(iVar15 >> 2) - (iVar6 >> 0x1f)" (parenthesized_expression "(iVar15 >> 2)" ( (binary_expression "iVar15 >> 2" identifier >> number_literal) )) - (parenthesized_expression "(iVar6 >> 0x1f)" ( (binary_expression "iVar6 >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20);" (assignment_expression "iVar15 = (int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20)" ( (binary_expression "(ulonglong)((longlong)iVar6 * 0x66666667) >> 0x20" (call_expression "(ulonglong)((longlong)iVar6 * 0x66666667)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((longlong)iVar6 * 0x66666667)" ( (binary_expression "(longlong)iVar6 * 0x66666667" (cast_expression "(longlong)iVar6" ( (type_descriptor "longlong" type_identifier) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (expression_statement "uVar1 = uVar8;" (assignment_expression "uVar1 = uVar8" identifier = identifier) ;) (if_statement "if (iVar6 != (iVar6 / 10) * 10) break;" if (parenthesized_expression "(iVar6 != (iVar6 / 10) * 10)" ( (binary_expression "iVar6 != (iVar6 / 10) * 10" identifier != (binary_expression "(iVar6 / 10) * 10" (parenthesized_expression "(iVar6 / 10)" ( (binary_expression "iVar6 / 10" identifier / number_literal) )) * number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (uVar8 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }" if (parenthesized_expression "(uVar8 == 1000000000)" ( (binary_expression "uVar8 == 1000000000" identifier == number_literal) )) (compound_statement "{\n              uVar1 = 2000000000;\n              break;\n            }" { (expression_statement "uVar1 = 2000000000;" (assignment_expression "uVar1 = 2000000000" identifier = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "uVar8 = uVar8 * 10;" (assignment_expression "uVar8 = uVar8 * 10" identifier = (binary_expression "uVar8 * 10" identifier * number_literal)) ;) (expression_statement "uVar1 = uVar13;" (assignment_expression "uVar1 = uVar13" identifier = identifier) ;) }) while (parenthesized_expression "(uVar8 != uVar13)" ( (binary_expression "uVar8 != uVar13" identifier != identifier) )) ;) })) })) (labeled_statement "LAB_00026ec8:\n      uVar5 = uVar1;" statement_identifier : (expression_statement "uVar5 = uVar1;" (assignment_expression "uVar5 = uVar1" identifier = identifier) ;)) (expression_statement "pfVar2->resolution = uVar5;" (assignment_expression "pfVar2->resolution = uVar5" (field_expression "pfVar2->resolution" identifier -> field_identifier) = identifier) ;) (expression_statement "pfVar2->exact = true;" (assignment_expression "pfVar2->exact = true" (field_expression "pfVar2->exact" identifier -> field_identifier) = true) ;) }) (else_clause "else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;\n        if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;\n        tmp_dst_res.dev._0_4_ = 0;\n        dst_stat_00 = (stat *)&tmp_dst_res;\n        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar5 = pfVar2->resolution;\n      if (pfVar2->exact == false) goto LAB_00026b10;\n    }" else (compound_statement "{\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;\n        if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;\n        tmp_dst_res.dev._0_4_ = 0;\n        dst_stat_00 = (stat *)&tmp_dst_res;\n        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar5 = pfVar2->resolution;\n      if (pfVar2->exact == false) goto LAB_00026b10;\n    }" { (labeled_statement "LAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;\n        if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;\n        tmp_dst_res.dev._0_4_ = 0;\n        dst_stat_00 = (stat *)&tmp_dst_res;\n        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" statement_identifier : (if_statement "if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;\n        if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;\n        tmp_dst_res.dev._0_4_ = 0;\n        dst_stat_00 = (stat *)&tmp_dst_res;\n        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" if (parenthesized_expression "(*(int *)(PTR_DAT_00045118 + 0x5c60) == 0)" ( (binary_expression "*(int *)(PTR_DAT_00045118 + 0x5c60) == 0" (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar6 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;\n        if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;\n        tmp_dst_res.dev._0_4_ = 0;\n        dst_stat_00 = (stat *)&tmp_dst_res;\n        pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;\n      }" { (expression_statement "iVar6 = (*(code *)PTR_malloc_00045594)(0x10);" (assignment_expression "iVar6 = (*(code *)PTR_malloc_00045594)(0x10)" identifier = (call_expression "(*(code *)PTR_malloc_00045594)(0x10)" (parenthesized_expression "(*(code *)PTR_malloc_00045594)" ( (pointer_expression "*(code *)PTR_malloc_00045594" * (cast_expression "(code *)PTR_malloc_00045594" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal )))) ;) (expression_statement "*(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6;" (assignment_expression "*(int *)(PTR_DAT_00045118 + 0x5c60) = iVar6" (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 != 0) {\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar6 + 8) = 2000000000;\n          *(undefined1 *)(iVar6 + 0xc) = 0;\n          goto LAB_00026a28;\n        }" { (expression_statement "*(undefined4 *)(iVar6 + 8) = 2000000000;" (assignment_expression "*(undefined4 *)(iVar6 + 8) = 2000000000" (pointer_expression "*(undefined4 *)(iVar6 + 8)" * (cast_expression "(undefined4 *)(iVar6 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar6 + 0xc) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 0xc) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 0xc)" * (cast_expression "(undefined1 *)(iVar6 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00026a28;" goto statement_identifier ;) })) (expression_statement "pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "Hash_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00026e84:\n        tmp_dst_res.dev._4_4_ = dst_stat->st_dev;" statement_identifier : (expression_statement "tmp_dst_res.dev._4_4_ = dst_stat->st_dev;" (assignment_expression "tmp_dst_res.dev._4_4_ = dst_stat->st_dev" (field_expression "tmp_dst_res.dev._4_4_" (field_expression "tmp_dst_res.dev" identifier . field_identifier) . field_identifier) = (field_expression "dst_stat->st_dev" identifier -> field_identifier)) ;)) (expression_statement "tmp_dst_res.dev._0_4_ = 0;" (assignment_expression "tmp_dst_res.dev._0_4_ = 0" (field_expression "tmp_dst_res.dev._0_4_" (field_expression "tmp_dst_res.dev" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dst_stat_00 = (stat *)&tmp_dst_res;" (assignment_expression "dst_stat_00 = (stat *)&tmp_dst_res" identifier = (cast_expression "(stat *)&tmp_dst_res" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&tmp_dst_res" & identifier))) ;) (expression_statement "pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00);" (assignment_expression "pfVar2 = (fs_res *)hash_lookup(pHVar14,dst_stat_00)" identifier = (cast_expression "(fs_res *)hash_lookup(pHVar14,dst_stat_00)" ( (type_descriptor "fs_res *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "hash_lookup(pHVar14,dst_stat_00)" identifier (argument_list "(pHVar14,dst_stat_00)" ( identifier , identifier ))))) ;) (if_statement "if (pfVar2 == (fs_res *)0x0) goto LAB_00026b00;" if (parenthesized_expression "(pfVar2 == (fs_res *)0x0)" ( (binary_expression "pfVar2 == (fs_res *)0x0" identifier == (cast_expression "(fs_res *)0x0" ( (type_descriptor "fs_res *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026b00;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" else (compound_statement "{\nLAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);\n        dst_stat_00->st_pad1[0] = dst_stat->st_dev;\n        dst_stat_00->st_dev = 0;\n        pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);\n        if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" { (labeled_statement "LAB_00026a28:\n        dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);" statement_identifier : (expression_statement "dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60);" (assignment_expression "dst_stat_00 = *(stat **)(PTR_DAT_00045118 + 0x5c60)" identifier = (pointer_expression "*(stat **)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(stat **)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "stat **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) ))))) ;)) (expression_statement "dst_stat_00->st_pad1[0] = dst_stat->st_dev;" (assignment_expression "dst_stat_00->st_pad1[0] = dst_stat->st_dev" (subscript_expression "dst_stat_00->st_pad1[0]" (field_expression "dst_stat_00->st_pad1" identifier -> field_identifier) [ number_literal ]) = (field_expression "dst_stat->st_dev" identifier -> field_identifier)) ;) (expression_statement "dst_stat_00->st_dev = 0;" (assignment_expression "dst_stat_00->st_dev = 0" (field_expression "dst_stat_00->st_dev" identifier -> field_identifier) = number_literal) ;) (expression_statement "pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00);" (assignment_expression "pfVar2 = (fs_res *)hash_insert(pHVar14,dst_stat_00)" identifier = (cast_expression "(fs_res *)hash_insert(pHVar14,dst_stat_00)" ( (type_descriptor "fs_res *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "hash_insert(pHVar14,dst_stat_00)" identifier (argument_list "(pHVar14,dst_stat_00)" ( identifier , identifier ))))) ;) (if_statement "if (pfVar2 == (fs_res *)0x0) {\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }" if (parenthesized_expression "(pfVar2 == (fs_res *)0x0)" ( (binary_expression "pfVar2 == (fs_res *)0x0" identifier == (cast_expression "(fs_res *)0x0" ( (type_descriptor "fs_res *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);\n          if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }" { (expression_statement "pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "pHVar14 = *(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(Hash_table **)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "Hash_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) (if_statement "if (pHVar14 == (Hash_table *)0x0) goto LAB_00026b00;" if (parenthesized_expression "(pHVar14 == (Hash_table *)0x0)" ( (binary_expression "pHVar14 == (Hash_table *)0x0" identifier == (cast_expression "(Hash_table *)0x0" ( (type_descriptor "Hash_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026b00;" goto statement_identifier ;)) (goto_statement "goto LAB_00026e84;" goto statement_identifier ;) })) (if_statement "if (*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }" if (parenthesized_expression "(*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2)" ( (binary_expression "*(fs_res **)(PTR_DAT_00045118 + 0x5c60) == pfVar2" (pointer_expression "*(fs_res **)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(fs_res **)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "fs_res **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }" { (expression_statement "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(undefined4 *)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) = number_literal) ;) })) })))) (expression_statement "uVar5 = pfVar2->resolution;" (assignment_expression "uVar5 = pfVar2->resolution" identifier = (field_expression "pfVar2->resolution" identifier -> field_identifier)) ;) (if_statement "if (pfVar2->exact == false) goto LAB_00026b10;" if (parenthesized_expression "(pfVar2->exact == false)" ( (binary_expression "pfVar2->exact == false" (field_expression "pfVar2->exact" identifier -> field_identifier) == false) )) (goto_statement "goto LAB_00026b10;" goto statement_identifier ;)) }))) (expression_statement "uVar9 = uVar9 & ~(uint)(uVar5 == 2000000000);" (assignment_expression "uVar9 = uVar9 & ~(uint)(uVar5 == 2000000000)" identifier = (binary_expression "uVar9 & ~(uint)(uVar5 == 2000000000)" identifier & (unary_expression "~(uint)(uVar5 == 2000000000)" ~ (call_expression "(uint)(uVar5 == 2000000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar5 == 2000000000)" ( (binary_expression "uVar5 == 2000000000" identifier == number_literal) )))))) ;) (if_statement "if (uVar5 == 0) {\n      trap(7);\n    }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      trap(7);\n    }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "iVar11 = iVar11 - iVar11 % (int)uVar5;" (assignment_expression "iVar11 = iVar11 - iVar11 % (int)uVar5" identifier = (binary_expression "iVar11 - iVar11 % (int)uVar5" identifier - (binary_expression "iVar11 % (int)uVar5" identifier % (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) })) (expression_statement "dst_stat = hasher;" (assignment_expression "dst_stat = hasher" identifier = identifier) ;) (if_statement "if ((int)uVar10 < (int)uVar9) {\n    uVar8 = 0xffffffff;\n  }\n  else if (uVar9 == uVar10) {\n    if (iVar12 < iVar11) {\n      uVar8 = 0xffffffff;\n    }\n    else {\n      uVar8 = (uint)(iVar11 < iVar12);\n    }\n  }\n  else {\n    uVar8 = 1;\n  }" if (parenthesized_expression "((int)uVar10 < (int)uVar9)" ( (binary_expression "(int)uVar10 < (int)uVar9" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    uVar8 = 0xffffffff;\n  }" { (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else if (uVar9 == uVar10) {\n    if (iVar12 < iVar11) {\n      uVar8 = 0xffffffff;\n    }\n    else {\n      uVar8 = (uint)(iVar11 < iVar12);\n    }\n  }\n  else {\n    uVar8 = 1;\n  }" else (if_statement "if (uVar9 == uVar10) {\n    if (iVar12 < iVar11) {\n      uVar8 = 0xffffffff;\n    }\n    else {\n      uVar8 = (uint)(iVar11 < iVar12);\n    }\n  }\n  else {\n    uVar8 = 1;\n  }" if (parenthesized_expression "(uVar9 == uVar10)" ( (binary_expression "uVar9 == uVar10" identifier == identifier) )) (compound_statement "{\n    if (iVar12 < iVar11) {\n      uVar8 = 0xffffffff;\n    }\n    else {\n      uVar8 = (uint)(iVar11 < iVar12);\n    }\n  }" { (if_statement "if (iVar12 < iVar11) {\n      uVar8 = 0xffffffff;\n    }\n    else {\n      uVar8 = (uint)(iVar11 < iVar12);\n    }" if (parenthesized_expression "(iVar12 < iVar11)" ( (binary_expression "iVar12 < iVar11" identifier < identifier) )) (compound_statement "{\n      uVar8 = 0xffffffff;\n    }" { (expression_statement "uVar8 = 0xffffffff;" (assignment_expression "uVar8 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      uVar8 = (uint)(iVar11 < iVar12);\n    }" else (compound_statement "{\n      uVar8 = (uint)(iVar11 < iVar12);\n    }" { (expression_statement "uVar8 = (uint)(iVar11 < iVar12);" (assignment_expression "uVar8 = (uint)(iVar11 < iVar12)" identifier = (call_expression "(uint)(iVar11 < iVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar11 < iVar12)" ( (binary_expression "iVar11 < iVar12" identifier < identifier) )))) ;) }))) }) (else_clause "else {\n    uVar8 = 1;\n  }" else (compound_statement "{\n    uVar8 = 1;\n  }" { (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) }))))) (labeled_statement "LAB_00027074:\n  if (dst_name_00 != *(char **)PTR___stack_chk_guard_00045630) {\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    iVar11 = utimecmpat(-100,dst_name_00,dst_stat_00,dst_stat,(int)src_stat);\n    return iVar11;\n  }" statement_identifier : (if_statement "if (dst_name_00 != *(char **)PTR___stack_chk_guard_00045630) {\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    iVar11 = utimecmpat(-100,dst_name_00,dst_stat_00,dst_stat,(int)src_stat);\n    return iVar11;\n  }" if (parenthesized_expression "(dst_name_00 != *(char **)PTR___stack_chk_guard_00045630)" ( (binary_expression "dst_name_00 != *(char **)PTR___stack_chk_guard_00045630" identifier != (pointer_expression "*(char **)PTR___stack_chk_guard_00045630" * (cast_expression "(char **)PTR___stack_chk_guard_00045630" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    iVar11 = utimecmpat(-100,dst_name_00,dst_stat_00,dst_stat,(int)src_stat);\n    return iVar11;\n  }" { (expression_statement "(*(code *)PTR___stack_chk_fail_00045600)();" (call_expression "(*(code *)PTR___stack_chk_fail_00045600)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00045600)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00045600" * (cast_expression "(code *)PTR___stack_chk_fail_00045600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar11 = utimecmpat(-100,dst_name_00,dst_stat_00,dst_stat,(int)src_stat);" (assignment_expression "iVar11 = utimecmpat(-100,dst_name_00,dst_stat_00,dst_stat,(int)src_stat)" identifier = (call_expression "utimecmpat(-100,dst_name_00,dst_stat_00,dst_stat,(int)src_stat)" identifier (argument_list "(-100,dst_name_00,dst_stat_00,dst_stat,(int)src_stat)" ( number_literal , identifier , identifier , identifier , (cast_expression "(int)src_stat" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (return_statement "return iVar11;" return identifier ;) }))) (return_statement "return uVar8;" return identifier ;) })))
(translation_unit "uint utimecmpat(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)\n\n{\n  uint uVar1;\n  uint *puVar2;\n  int iVar3;\n  int iVar4;\n  uint *puVar5;\n  uint *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint local_f0;\n  uint local_ec;\n  undefined4 local_e8;\n  undefined1 local_e4;\n  uint local_e0;\n  uint local_dc;\n  uint local_d8;\n  uint local_d4;\n  undefined1 auStack_d0 [72];\n  uint local_88;\n  uint local_84;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_00045630;\n  uVar11 = param_3[0x12];\n  uVar10 = *(uint *)(param_4 + 0x48);\n  uVar13 = param_3[0x13];\n  param_5 = param_5 & 1;\n  uVar12 = *(uint *)(param_4 + 0x4c);\n  puVar5 = param_2;\n  puVar6 = param_3;\n  if (param_5 != 0) {\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }\n  param_3 = puVar6;\n  if ((int)uVar11 < (int)uVar10) {\n    param_5 = 0xffffffff;\n  }\n  else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }\nLAB_00027074:\n  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }\n  return param_5;\n}\n\n" (function_definition "uint utimecmpat(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)\n\n{\n  uint uVar1;\n  uint *puVar2;\n  int iVar3;\n  int iVar4;\n  uint *puVar5;\n  uint *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint local_f0;\n  uint local_ec;\n  undefined4 local_e8;\n  undefined1 local_e4;\n  uint local_e0;\n  uint local_dc;\n  uint local_d8;\n  uint local_d4;\n  undefined1 auStack_d0 [72];\n  uint local_88;\n  uint local_84;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_00045630;\n  uVar11 = param_3[0x12];\n  uVar10 = *(uint *)(param_4 + 0x48);\n  uVar13 = param_3[0x13];\n  param_5 = param_5 & 1;\n  uVar12 = *(uint *)(param_4 + 0x4c);\n  puVar5 = param_2;\n  puVar6 = param_3;\n  if (param_5 != 0) {\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }\n  param_3 = puVar6;\n  if ((int)uVar11 < (int)uVar10) {\n    param_5 = 0xffffffff;\n  }\n  else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }\nLAB_00027074:\n  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }\n  return param_5;\n}" type_identifier (function_declarator "utimecmpat(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)" identifier (parameter_list "(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "undefined *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "uint param_5" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint *puVar2;\n  int iVar3;\n  int iVar4;\n  uint *puVar5;\n  uint *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint local_f0;\n  uint local_ec;\n  undefined4 local_e8;\n  undefined1 local_e4;\n  uint local_e0;\n  uint local_dc;\n  uint local_d8;\n  uint local_d4;\n  undefined1 auStack_d0 [72];\n  uint local_88;\n  uint local_84;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_00045630;\n  uVar11 = param_3[0x12];\n  uVar10 = *(uint *)(param_4 + 0x48);\n  uVar13 = param_3[0x13];\n  param_5 = param_5 & 1;\n  uVar12 = *(uint *)(param_4 + 0x4c);\n  puVar5 = param_2;\n  puVar6 = param_3;\n  if (param_5 != 0) {\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }\n  param_3 = puVar6;\n  if ((int)uVar11 < (int)uVar10) {\n    param_5 = 0xffffffff;\n  }\n  else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }\nLAB_00027074:\n  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }\n  return param_5;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "uint local_ec;" type_identifier identifier ;) (declaration "undefined4 local_e8;" type_identifier identifier ;) (declaration "undefined1 local_e4;" type_identifier identifier ;) (declaration "uint local_e0;" type_identifier identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "uint local_d8;" type_identifier identifier ;) (declaration "uint local_d4;" type_identifier identifier ;) (declaration "undefined1 auStack_d0 [72];" type_identifier (array_declarator "auStack_d0 [72]" identifier [ number_literal ]) ;) (declaration "uint local_88;" type_identifier identifier ;) (declaration "uint local_84;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00045630;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00045630" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00045630" * (cast_expression "(int *)PTR___stack_chk_guard_00045630" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar11 = param_3[0x12];" (assignment_expression "uVar11 = param_3[0x12]" identifier = (subscript_expression "param_3[0x12]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = *(uint *)(param_4 + 0x48);" (assignment_expression "uVar10 = *(uint *)(param_4 + 0x48)" identifier = (pointer_expression "*(uint *)(param_4 + 0x48)" * (cast_expression "(uint *)(param_4 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x48)" ( (binary_expression "param_4 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = param_3[0x13];" (assignment_expression "uVar13 = param_3[0x13]" identifier = (subscript_expression "param_3[0x13]" identifier [ number_literal ])) ;) (expression_statement "param_5 = param_5 & 1;" (assignment_expression "param_5 = param_5 & 1" identifier = (binary_expression "param_5 & 1" identifier & number_literal)) ;) (expression_statement "uVar12 = *(uint *)(param_4 + 0x4c);" (assignment_expression "uVar12 = *(uint *)(param_4 + 0x4c)" identifier = (pointer_expression "*(uint *)(param_4 + 0x4c)" * (cast_expression "(uint *)(param_4 + 0x4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x4c)" ( (binary_expression "param_4 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = param_2;" (assignment_expression "puVar5 = param_2" identifier = identifier) ;) (expression_statement "puVar6 = param_3;" (assignment_expression "puVar6 = param_3" identifier = identifier) ;) (if_statement "if (param_5 != 0) {\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }" { (if_statement "if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" if (parenthesized_expression "(uVar11 == uVar10)" ( (binary_expression "uVar11 == uVar10" identifier == identifier) )) (compound_statement "{\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" { (if_statement "if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }" if (parenthesized_expression "(uVar12 == uVar13)" ( (binary_expression "uVar12 == uVar13" identifier == identifier) )) (compound_statement "{\n        param_5 = 0;\n        goto LAB_00027074;\n      }" { (expression_statement "param_5 = 0;" (assignment_expression "param_5 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" else (compound_statement "{\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" { (if_statement "if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }" if (parenthesized_expression "((int)uVar11 < (int)(uVar10 - 1))" ( (binary_expression "(int)uVar11 < (int)(uVar10 - 1)" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(uVar10 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )))) )) (compound_statement "{\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }" { (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (if_statement "if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;" if (parenthesized_expression "((int)uVar10 < (int)(uVar11 - 1))" ( (binary_expression "(int)uVar10 < (int)(uVar11 - 1)" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(uVar11 - 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar11 - 1)" ( (binary_expression "uVar11 - 1" identifier - number_literal) )))) )) (goto_statement "goto LAB_00027074;" goto statement_identifier ;)) (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) }))) (if_statement "if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }" { (expression_statement "param_4 = PTR_LAB_0004521c + 0x6948;" (assignment_expression "param_4 = PTR_LAB_0004521c + 0x6948" identifier = (binary_expression "PTR_LAB_0004521c + 0x6948" identifier + number_literal)) ;) (expression_statement "puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);" (assignment_expression "puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900)" identifier = (cast_expression "(uint *)(PTR_LAB_0004521c + 0x6900)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0004521c + 0x6900)" ( (binary_expression "PTR_LAB_0004521c + 0x6900" identifier + number_literal) )))) ;) (expression_statement "iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);" (assignment_expression "iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c)" identifier = (call_expression "hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c)" identifier (argument_list "(0x10,0,puVar6,param_4,PTR_free_0004563c)" ( number_literal , number_literal , identifier , identifier , identifier )))) ;) (expression_statement "*(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;" (assignment_expression "*(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15" (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar15 != 0) goto LAB_00026a18;" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00026a18;" goto statement_identifier ;)) (labeled_statement "LAB_00026b00:\n      uVar7 = 2000000000;" statement_identifier : (expression_statement "uVar7 = 2000000000;" (assignment_expression "uVar7 = 2000000000" identifier = number_literal) ;)) (expression_statement "local_e8 = 2000000000;" (assignment_expression "local_e8 = 2000000000" identifier = number_literal) ;) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" identifier = number_literal) ;) (expression_statement "puVar2 = &local_f0;" (assignment_expression "puVar2 = &local_f0" identifier = (pointer_expression "&local_f0" & identifier)) ;) (labeled_statement "LAB_00026b10:\n      uVar8 = param_3[0x11];" statement_identifier : (expression_statement "uVar8 = param_3[0x11];" (assignment_expression "uVar8 = param_3[0x11]" identifier = (subscript_expression "param_3[0x11]" identifier [ number_literal ])) ;)) (expression_statement "puVar6 = (uint *)param_3[0x15];" (assignment_expression "puVar6 = (uint *)param_3[0x15]" identifier = (cast_expression "(uint *)param_3[0x15]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[0x15]" identifier [ number_literal ]))) ;) (expression_statement "puVar5 = (uint *)((int)puVar6 / 10);" (assignment_expression "puVar5 = (uint *)((int)puVar6 / 10)" identifier = (cast_expression "(uint *)((int)puVar6 / 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 / 10)" ( (binary_expression "(int)puVar6 / 10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) )))) ;) (expression_statement "uVar1 = param_5;" (assignment_expression "uVar1 = param_5" identifier = identifier) ;) (if_statement "if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }" if (parenthesized_expression "(((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0)" ( (binary_expression "((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0" (parenthesized_expression "((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0)" ( (binary_expression "(int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0" (binary_expression "(int)uVar8 % 10 == 0" (binary_expression "(int)uVar8 % 10" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal) == number_literal) && (binary_expression "(int)puVar6 % 10 == 0" (binary_expression "(int)puVar6 % 10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal) == number_literal)) )) && (binary_expression "(int)uVar13 % 10 == 0" (binary_expression "(int)uVar13 % 10" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal) == number_literal)) )) (compound_statement "{\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }" { (expression_statement "uVar9 = param_3[0x10];" (assignment_expression "uVar9 = param_3[0x10]" identifier = (subscript_expression "param_3[0x10]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = (int)uVar8 / 10;" (assignment_expression "iVar15 = (int)uVar8 / 10" identifier = (binary_expression "(int)uVar8 / 10" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal)) ;) (expression_statement "puVar5 = (uint *)((int)puVar6 / 10);" (assignment_expression "puVar5 = (uint *)((int)puVar6 / 10)" identifier = (cast_expression "(uint *)((int)puVar6 / 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 / 10)" ( (binary_expression "(int)puVar6 / 10" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) )))) ;) (expression_statement "iVar4 = (int)uVar13 / 10;" (assignment_expression "iVar4 = (int)uVar13 / 10" identifier = (binary_expression "(int)uVar13 / 10" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal)) ;) (if_statement "if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }" if (parenthesized_expression "((int)uVar7 < 0xb)" ( (binary_expression "(int)uVar7 < 0xb" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }" { (expression_statement "uVar14 = 10;" (assignment_expression "uVar14 = 10" identifier = number_literal) ;) (expression_statement "puVar6 = (uint *)((int)puVar6 >> 0x1f);" (assignment_expression "puVar6 = (uint *)((int)puVar6 >> 0x1f)" identifier = (cast_expression "(uint *)((int)puVar6 >> 0x1f)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 >> 0x1f)" ( (binary_expression "(int)puVar6 >> 0x1f" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) }) (else_clause "else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }" else (compound_statement "{\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }" { (expression_statement "puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);" (assignment_expression "puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10)" identifier = (cast_expression "(uint *)(iVar15 % 10 | (int)puVar5 % 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 % 10 | (int)puVar5 % 10)" ( (binary_expression "iVar15 % 10 | (int)puVar5 % 10" (binary_expression "iVar15 % 10" identifier % number_literal) | (binary_expression "(int)puVar5 % 10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal)) )))) ;) (expression_statement "param_4 = (undefined *)((iVar4 / 10) * 4);" (assignment_expression "param_4 = (undefined *)((iVar4 / 10) * 4)" identifier = (cast_expression "(undefined *)((iVar4 / 10) * 4)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar4 / 10) * 4)" ( (binary_expression "(iVar4 / 10) * 4" (parenthesized_expression "(iVar4 / 10)" ( (binary_expression "iVar4 / 10" identifier / number_literal) )) * number_literal) )))) ;) (if_statement "if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }" if (parenthesized_expression "(puVar6 == (uint *)0x0 && iVar4 % 10 == 0)" ( (binary_expression "puVar6 == (uint *)0x0 && iVar4 % 10 == 0" (binary_expression "puVar6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) && (binary_expression "iVar4 % 10 == 0" (binary_expression "iVar4 % 10" identifier % number_literal) == number_literal)) )) (compound_statement "{\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }" { (expression_statement "uVar14 = 10;" (assignment_expression "uVar14 = 10" identifier = number_literal) ;) (expression_statement "param_4 = (undefined *)0x66666667;" (assignment_expression "param_4 = (undefined *)0x66666667" identifier = (cast_expression "(undefined *)0x66666667" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = 0x28;" (assignment_expression "iVar3 = 0x28" identifier = number_literal) ;) (do_statement "do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);" do (compound_statement "{\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            }" { (expression_statement "iVar3 = iVar3 + uVar14;" (assignment_expression "iVar3 = iVar3 + uVar14" identifier = (binary_expression "iVar3 + uVar14" identifier + identifier)) ;) (expression_statement "uVar14 = iVar3 * 2;" (assignment_expression "uVar14 = iVar3 * 2" identifier = (binary_expression "iVar3 * 2" identifier * number_literal)) ;) (expression_statement "iVar15 = iVar15 / 10;" (assignment_expression "iVar15 = iVar15 / 10" identifier = (binary_expression "iVar15 / 10" identifier / number_literal)) ;) (expression_statement "puVar5 = (uint *)((int)puVar5 / 10);" (assignment_expression "puVar5 = (uint *)((int)puVar5 / 10)" identifier = (cast_expression "(uint *)((int)puVar5 / 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar5 / 10)" ( (binary_expression "(int)puVar5 / 10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) )))) ;) (expression_statement "puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));" (assignment_expression "puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f))" identifier = (cast_expression "(uint *)(iVar4 / 10 + (iVar4 >> 0x1f))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 / 10 + (iVar4 >> 0x1f))" ( (binary_expression "iVar4 / 10 + (iVar4 >> 0x1f)" (binary_expression "iVar4 / 10" identifier / number_literal) + (parenthesized_expression "(iVar4 >> 0x1f)" ( (binary_expression "iVar4 >> 0x1f" identifier >> number_literal) ))) )))) ;) (expression_statement "iVar4 = (int)puVar6 - (iVar4 >> 0x1f);" (assignment_expression "iVar4 = (int)puVar6 - (iVar4 >> 0x1f)" identifier = (binary_expression "(int)puVar6 - (iVar4 >> 0x1f)" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) - (parenthesized_expression "(iVar4 >> 0x1f)" ( (binary_expression "iVar4 >> 0x1f" identifier >> number_literal) )))) ;) (if_statement "if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }" if (parenthesized_expression "((int)uVar7 <= (int)uVar14)" ( (binary_expression "(int)uVar7 <= (int)uVar14" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }" { (expression_statement "puVar2[2] = uVar14;" (assignment_expression "puVar2[2] = uVar14" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00026d7c;" goto statement_identifier ;) })) (expression_statement "puVar6 = (uint *)(iVar4 % 10);" (assignment_expression "puVar6 = (uint *)(iVar4 % 10)" identifier = (cast_expression "(uint *)(iVar4 % 10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 % 10)" ( (binary_expression "iVar4 % 10" identifier % number_literal) )))) ;) (if_statement "if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }" if (parenthesized_expression "((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0)" ( (binary_expression "(iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0" (parenthesized_expression "(iVar15 % 10 != 0 || (int)puVar5 % 10 != 0)" ( (binary_expression "iVar15 % 10 != 0 || (int)puVar5 % 10 != 0" (binary_expression "iVar15 % 10 != 0" (binary_expression "iVar15 % 10" identifier % number_literal) != number_literal) || (binary_expression "(int)puVar5 % 10 != 0" (binary_expression "(int)puVar5 % 10" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) % number_literal) != number_literal)) )) || (binary_expression "puVar6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }" { (expression_statement "puVar2[2] = uVar14;" (assignment_expression "puVar2[2] = uVar14" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = uVar14;" (assignment_expression "uVar1 = uVar14" identifier = identifier) ;) (if_statement "if ((int)uVar14 < 2) goto LAB_00026ec8;" if (parenthesized_expression "((int)uVar14 < 2)" ( (binary_expression "(int)uVar14 < 2" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (goto_statement "goto LAB_00026ec8;" goto statement_identifier ;)) (goto_statement "goto LAB_00026d7c;" goto statement_identifier ;) })) (expression_statement "iVar3 = iVar3 * 8;" (assignment_expression "iVar3 = iVar3 * 8" identifier = (binary_expression "iVar3 * 8" identifier * number_literal)) ;) }) while (parenthesized_expression "(uVar14 != 1000000000)" ( (binary_expression "uVar14 != 1000000000" identifier != number_literal) )) ;) (if_statement "if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }" if (parenthesized_expression "(((uVar11 | uVar9 | param_3[0x14]) & 1) == 0)" ( (binary_expression "((uVar11 | uVar9 | param_3[0x14]) & 1) == 0" (parenthesized_expression "((uVar11 | uVar9 | param_3[0x14]) & 1)" ( (binary_expression "(uVar11 | uVar9 | param_3[0x14]) & 1" (parenthesized_expression "(uVar11 | uVar9 | param_3[0x14])" ( (binary_expression "uVar11 | uVar9 | param_3[0x14]" (binary_expression "uVar11 | uVar9" identifier | identifier) | (subscript_expression "param_3[0x14]" identifier [ number_literal ])) )) & number_literal) )) == number_literal) )) (compound_statement "{\n              uVar14 = 2000000000;\n            }" { (expression_statement "uVar14 = 2000000000;" (assignment_expression "uVar14 = 2000000000" identifier = number_literal) ;) })) }) (else_clause "else {\n            uVar14 = 10;\n          }" else (compound_statement "{\n            uVar14 = 10;\n          }" { (expression_statement "uVar14 = 10;" (assignment_expression "uVar14 = 10" identifier = number_literal) ;) }))) }))) (expression_statement "puVar2[2] = uVar14;" (assignment_expression "puVar2[2] = uVar14" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00026d7c:\n        param_3 = puVar6;" statement_identifier : (expression_statement "param_3 = puVar6;" (assignment_expression "param_3 = puVar6" identifier = identifier) ;)) (if_statement "if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;" if (parenthesized_expression "(((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))" ( (binary_expression "((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13)))" (parenthesized_expression "((int)uVar10 < (int)uVar11)" ( (binary_expression "(int)uVar10 < (int)uVar11" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13)))" ( (parenthesized_expression "(uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))" ( (binary_expression "uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13)" (binary_expression "uVar11 == uVar10" identifier == identifier) && (parenthesized_expression "((int)uVar12 <= (int)uVar13)" ( (binary_expression "(int)uVar12 <= (int)uVar13" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (goto_statement "goto LAB_00027074;" goto statement_identifier ;)) (expression_statement "uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;" (assignment_expression "uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10" identifier = (binary_expression "~(uint)(uVar14 == 2000000000) & uVar10" (unary_expression "~(uint)(uVar14 == 2000000000)" ~ (call_expression "(uint)(uVar14 == 2000000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 == 2000000000)" ( (binary_expression "uVar14 == 2000000000" identifier == number_literal) )))) & identifier)) ;) (if_statement "if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }" if (parenthesized_expression "((int)uVar11 < (int)uVar7)" ( (binary_expression "(int)uVar11 < (int)uVar7" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }" { (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (if_statement "if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }" if (parenthesized_expression "(uVar11 == uVar7)" ( (binary_expression "uVar11 == uVar7" identifier == identifier) )) (compound_statement "{\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }" { (if_statement "if (uVar14 == 0) {\n            trap(7);\n          }" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (compound_statement "{\n            trap(7);\n          }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (if_statement "if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }" if (parenthesized_expression "((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14))" ( (binary_expression "(int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(uVar12 - (int)uVar12 % (int)uVar14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar12 - (int)uVar12 % (int)uVar14)" ( (binary_expression "uVar12 - (int)uVar12 % (int)uVar14" identifier - (binary_expression "(int)uVar12 % (int)uVar14" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) % (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier))) )))) )) (compound_statement "{\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }" { (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) })) (expression_statement "local_d8 = uVar14 == 2000000000 | uVar11;" (assignment_expression "local_d8 = uVar14 == 2000000000 | uVar11" identifier = (binary_expression "uVar14 == 2000000000 | uVar11" (binary_expression "uVar14 == 2000000000" identifier == number_literal) | identifier)) ;) (expression_statement "local_d4 = (int)uVar14 / 9 + uVar13;" (assignment_expression "local_d4 = (int)uVar14 / 9 + uVar13" identifier = (binary_expression "(int)uVar14 / 9 + uVar13" (binary_expression "(int)uVar14 / 9" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) / number_literal) + identifier)) ;) (expression_statement "param_4 = (undefined *)0x100;" (assignment_expression "param_4 = (undefined *)0x100" identifier = (cast_expression "(undefined *)0x100" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_3 = &local_e0;" (assignment_expression "param_3 = &local_e0" identifier = (pointer_expression "&local_e0" & identifier)) ;) (expression_statement "puVar5 = param_2;" (assignment_expression "puVar5 = param_2" identifier = identifier) ;) (expression_statement "local_e0 = uVar9;" (assignment_expression "local_e0 = uVar9" identifier = identifier) ;) (expression_statement "local_dc = uVar8;" (assignment_expression "local_dc = uVar8" identifier = identifier) ;) (expression_statement "iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);" (assignment_expression "iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3)" identifier = (call_expression "(*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_utimensat_00045680)" ( (pointer_expression "*(code *)PTR_utimensat_00045680" * (cast_expression "(code *)PTR_utimensat_00045680" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }" { (expression_statement "param_5 = 0xfffffffe;" (assignment_expression "param_5 = 0xfffffffe" identifier = number_literal) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) (expression_statement "puVar6 = param_2;" (assignment_expression "puVar6 = param_2" identifier = identifier) ;) (expression_statement "iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);" (assignment_expression "iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100)" identifier = (call_expression "(*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100)" (parenthesized_expression "(*(code *)PTR___fxstatat64_000455e0)" ( (pointer_expression "*(code *)PTR___fxstatat64_000455e0" * (cast_expression "(code *)PTR___fxstatat64_000455e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,param_1,param_2,auStack_d0,0x100)" ( number_literal , identifier , identifier , identifier , number_literal )))) ;) (expression_statement "param_4 = (undefined *)0x100;" (assignment_expression "param_4 = (undefined *)0x100" identifier = (cast_expression "(undefined *)0x100" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }" if (parenthesized_expression "((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0)" ( (binary_expression "(uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0" (parenthesized_expression "(uVar11 != local_88 || uVar13 != local_84)" ( (binary_expression "uVar11 != local_88 || uVar13 != local_84" (binary_expression "uVar11 != local_88" identifier != identifier) || (binary_expression "uVar13 != local_84" identifier != identifier)) )) || (binary_expression "iVar15 != 0" identifier != number_literal)) )) (compound_statement "{\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }" { (expression_statement "puVar6 = &local_e0;" (assignment_expression "puVar6 = &local_e0" identifier = (pointer_expression "&local_e0" & identifier)) ;) (expression_statement "local_d8 = uVar11;" (assignment_expression "local_d8 = uVar11" identifier = identifier) ;) (expression_statement "local_d4 = uVar13;" (assignment_expression "local_d4 = uVar13" identifier = identifier) ;) (expression_statement "(*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);" (call_expression "(*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6)" (parenthesized_expression "(*(code *)PTR_utimensat_00045680)" ( (pointer_expression "*(code *)PTR_utimensat_00045680" * (cast_expression "(code *)PTR_utimensat_00045680" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2,puVar6)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }" { (expression_statement "param_5 = 0xfffffffe;" (assignment_expression "param_5 = 0xfffffffe" identifier = number_literal) ;) (expression_statement "puVar5 = param_2;" (assignment_expression "puVar5 = param_2" identifier = identifier) ;) (expression_statement "param_3 = puVar6;" (assignment_expression "param_3 = puVar6" identifier = identifier) ;) (goto_statement "goto LAB_00027074;" goto statement_identifier ;) })) })) (expression_statement "puVar5 = (uint *)((local_88 & 1) * 1000000000);" (assignment_expression "puVar5 = (uint *)((local_88 & 1) * 1000000000)" identifier = (cast_expression "(uint *)((local_88 & 1) * 1000000000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((local_88 & 1) * 1000000000)" ( (binary_expression "(local_88 & 1) * 1000000000" (parenthesized_expression "(local_88 & 1)" ( (binary_expression "local_88 & 1" identifier & number_literal) )) * number_literal) )))) ;) (expression_statement "iVar15 = (int)puVar5 + local_84;" (assignment_expression "iVar15 = (int)puVar5 + local_84" identifier = (binary_expression "(int)puVar5 + local_84" (cast_expression "(int)puVar5" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "uVar1 = param_5;" (assignment_expression "uVar1 = param_5" identifier = identifier) ;) (if_statement "if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }" if (parenthesized_expression "((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10))" ( (binary_expression "(iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)" (parenthesized_expression "(iVar15 == (iVar15 / 10) * 10)" ( (binary_expression "iVar15 == (iVar15 / 10) * 10" identifier == (binary_expression "(iVar15 / 10) * 10" (parenthesized_expression "(iVar15 / 10)" ( (binary_expression "iVar15 / 10" identifier / number_literal) )) * number_literal)) )) && (parenthesized_expression "(puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)" ( (comma_expression "puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10" (assignment_expression "puVar5 = (uint *)0x66660000" identifier = (cast_expression "(uint *)0x66660000" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (comma_expression "uVar1 = uVar14, uVar14 != 10" (assignment_expression "uVar1 = uVar14" identifier = identifier) , (binary_expression "uVar14 != 10" identifier != number_literal))) ))) )) (compound_statement "{\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }" { (expression_statement "uVar7 = 10;" (assignment_expression "uVar7 = 10" identifier = number_literal) ;) (expression_statement "puVar5 = (uint *)0x66666667;" (assignment_expression "puVar5 = (uint *)0x66666667" identifier = (cast_expression "(uint *)0x66666667" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar6 = (uint *)0x3b9aca00;" (assignment_expression "puVar6 = (uint *)0x3b9aca00" identifier = (cast_expression "(uint *)0x3b9aca00" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);" (assignment_expression "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" ( (binary_expression "(ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20" (call_expression "(ulonglong)((longlong)iVar15 * 0x66666667)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((longlong)iVar15 * 0x66666667)" ( (binary_expression "(longlong)iVar15 * 0x66666667" (cast_expression "(longlong)iVar15" ( (type_descriptor "longlong" type_identifier) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (do_statement "do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);" do (compound_statement "{\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          }" { (expression_statement "iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);" (assignment_expression "iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f)" identifier = (binary_expression "(iVar4 >> 2) - (iVar15 >> 0x1f)" (parenthesized_expression "(iVar4 >> 2)" ( (binary_expression "iVar4 >> 2" identifier >> number_literal) )) - (parenthesized_expression "(iVar15 >> 0x1f)" ( (binary_expression "iVar15 >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);" (assignment_expression "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" ( (binary_expression "(ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20" (call_expression "(ulonglong)((longlong)iVar15 * 0x66666667)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((longlong)iVar15 * 0x66666667)" ( (binary_expression "(longlong)iVar15 * 0x66666667" (cast_expression "(longlong)iVar15" ( (type_descriptor "longlong" type_identifier) ) identifier) * number_literal) ))) >> number_literal) )))) ;) (expression_statement "uVar1 = uVar7;" (assignment_expression "uVar1 = uVar7" identifier = identifier) ;) (if_statement "if (iVar15 != (iVar15 / 10) * 10) break;" if (parenthesized_expression "(iVar15 != (iVar15 / 10) * 10)" ( (binary_expression "iVar15 != (iVar15 / 10) * 10" identifier != (binary_expression "(iVar15 / 10) * 10" (parenthesized_expression "(iVar15 / 10)" ( (binary_expression "iVar15 / 10" identifier / number_literal) )) * number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }" if (parenthesized_expression "(uVar7 == 1000000000)" ( (binary_expression "uVar7 == 1000000000" identifier == number_literal) )) (compound_statement "{\n              uVar1 = 2000000000;\n              break;\n            }" { (expression_statement "uVar1 = 2000000000;" (assignment_expression "uVar1 = 2000000000" identifier = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "uVar7 = uVar7 * 10;" (assignment_expression "uVar7 = uVar7 * 10" identifier = (binary_expression "uVar7 * 10" identifier * number_literal)) ;) (expression_statement "uVar1 = uVar14;" (assignment_expression "uVar1 = uVar14" identifier = identifier) ;) }) while (parenthesized_expression "(uVar7 != uVar14)" ( (binary_expression "uVar7 != uVar14" identifier != identifier) )) ;) })) })) (labeled_statement "LAB_00026ec8:\n      uVar7 = uVar1;" statement_identifier : (expression_statement "uVar7 = uVar1;" (assignment_expression "uVar7 = uVar1" identifier = identifier) ;)) (expression_statement "puVar2[2] = uVar7;" (assignment_expression "puVar2[2] = uVar7" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(puVar2 + 3) = 1;" (assignment_expression "*(undefined1 *)(puVar2 + 3) = 1" (pointer_expression "*(undefined1 *)(puVar2 + 3)" * (cast_expression "(undefined1 *)(puVar2 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 3)" ( (binary_expression "puVar2 + 3" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }" else (compound_statement "{\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }" { (labeled_statement "LAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" statement_identifier : (if_statement "if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" if (parenthesized_expression "(*(int *)(PTR_DAT_00045118 + 0x5c60) == 0)" ( (binary_expression "*(int *)(PTR_DAT_00045118 + 0x5c60) == 0" (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }" { (expression_statement "iVar4 = (*(code *)PTR_malloc_00045594)(0x10);" (assignment_expression "iVar4 = (*(code *)PTR_malloc_00045594)(0x10)" identifier = (call_expression "(*(code *)PTR_malloc_00045594)(0x10)" (parenthesized_expression "(*(code *)PTR_malloc_00045594)" ( (pointer_expression "*(code *)PTR_malloc_00045594" * (cast_expression "(code *)PTR_malloc_00045594" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x10)" ( number_literal )))) ;) (expression_statement "*(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;" (assignment_expression "*(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4" (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }" { (expression_statement "*(undefined4 *)(iVar4 + 8) = 2000000000;" (assignment_expression "*(undefined4 *)(iVar4 + 8) = 2000000000" (pointer_expression "*(undefined4 *)(iVar4 + 8)" * (cast_expression "(undefined4 *)(iVar4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar4 + 0xc) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + 0xc) = 0" (pointer_expression "*(undefined1 *)(iVar4 + 0xc)" * (cast_expression "(undefined1 *)(iVar4 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_00026a28;" goto statement_identifier ;) })) (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) (labeled_statement "LAB_00026e84:\n        local_ec = *param_3;" statement_identifier : (expression_statement "local_ec = *param_3;" (assignment_expression "local_ec = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;)) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (expression_statement "puVar5 = &local_f0;" (assignment_expression "puVar5 = &local_f0" identifier = (pointer_expression "&local_f0" & identifier)) ;) (expression_statement "puVar2 = (uint *)hash_lookup(iVar15,puVar5);" (assignment_expression "puVar2 = (uint *)hash_lookup(iVar15,puVar5)" identifier = (cast_expression "(uint *)hash_lookup(iVar15,puVar5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "hash_lookup(iVar15,puVar5)" identifier (argument_list "(iVar15,puVar5)" ( identifier , identifier ))))) ;) (if_statement "if (puVar2 == (uint *)0x0) goto LAB_00026b00;" if (parenthesized_expression "(puVar2 == (uint *)0x0)" ( (binary_expression "puVar2 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00026b00;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" else (compound_statement "{\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" { (labeled_statement "LAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);" statement_identifier : (expression_statement "puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);" (assignment_expression "puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60)" identifier = (pointer_expression "*(uint **)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(uint **)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) ))))) ;)) (expression_statement "puVar5[1] = *param_3;" (assignment_expression "puVar5[1] = *param_3" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "puVar2 = (uint *)hash_insert(iVar15);" (assignment_expression "puVar2 = (uint *)hash_insert(iVar15)" identifier = (cast_expression "(uint *)hash_insert(iVar15)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "hash_insert(iVar15)" identifier (argument_list "(iVar15)" ( identifier ))))) ;) (if_statement "if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }" if (parenthesized_expression "(puVar2 == (uint *)0x0)" ( (binary_expression "puVar2 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }" { (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" identifier = (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" * (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" ( (binary_expression "PTR_DAT_00045118 + 0x5c64" identifier + number_literal) ))))) ;) (if_statement "if (iVar15 == 0) goto LAB_00026b00;" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00026b00;" goto statement_identifier ;)) (goto_statement "goto LAB_00026e84;" goto statement_identifier ;) })) (if_statement "if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }" if (parenthesized_expression "(*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2)" ( (binary_expression "*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2" (pointer_expression "*(uint **)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(uint **)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }" { (expression_statement "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60)" * (cast_expression "(undefined4 *)(PTR_DAT_00045118 + 0x5c60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" ( (binary_expression "PTR_DAT_00045118 + 0x5c60" identifier + number_literal) )))) = number_literal) ;) })) })))) (expression_statement "uVar7 = puVar2[2];" (assignment_expression "uVar7 = puVar2[2]" identifier = (subscript_expression "puVar2[2]" identifier [ number_literal ])) ;) (if_statement "if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;" if (parenthesized_expression "(*(char *)(puVar2 + 3) == '\0')" ( (binary_expression "*(char *)(puVar2 + 3) == '\0'" (pointer_expression "*(char *)(puVar2 + 3)" * (cast_expression "(char *)(puVar2 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 3)" ( (binary_expression "puVar2 + 3" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00026b10;" goto statement_identifier ;)) }))) (expression_statement "uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);" (assignment_expression "uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000)" identifier = (binary_expression "uVar10 & ~(uint)(uVar7 == 2000000000)" identifier & (unary_expression "~(uint)(uVar7 == 2000000000)" ~ (call_expression "(uint)(uVar7 == 2000000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 == 2000000000)" ( (binary_expression "uVar7 == 2000000000" identifier == number_literal) )))))) ;) (if_statement "if (uVar7 == 0) {\n      trap(7);\n    }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      trap(7);\n    }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar12 = uVar12 - (int)uVar12 % (int)uVar7;" (assignment_expression "uVar12 = uVar12 - (int)uVar12 % (int)uVar7" identifier = (binary_expression "uVar12 - (int)uVar12 % (int)uVar7" identifier - (binary_expression "(int)uVar12 % (int)uVar7" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) % (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) })) (expression_statement "param_3 = puVar6;" (assignment_expression "param_3 = puVar6" identifier = identifier) ;) (if_statement "if ((int)uVar11 < (int)uVar10) {\n    param_5 = 0xffffffff;\n  }\n  else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }" if (parenthesized_expression "((int)uVar11 < (int)uVar10)" ( (binary_expression "(int)uVar11 < (int)uVar10" (cast_expression "(int)uVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    param_5 = 0xffffffff;\n  }" { (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }" else (if_statement "if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }" if (parenthesized_expression "(uVar10 == uVar11)" ( (binary_expression "uVar10 == uVar11" identifier == identifier) )) (compound_statement "{\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }" { (if_statement "if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }" if (parenthesized_expression "((int)uVar13 < (int)uVar12)" ( (binary_expression "(int)uVar13 < (int)uVar12" (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      param_5 = 0xffffffff;\n    }" { (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }" else (compound_statement "{\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }" { (expression_statement "param_5 = (uint)((int)uVar12 < (int)uVar13);" (assignment_expression "param_5 = (uint)((int)uVar12 < (int)uVar13)" identifier = (call_expression "(uint)((int)uVar12 < (int)uVar13)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)uVar12 < (int)uVar13)" ( (binary_expression "(int)uVar12 < (int)uVar13" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) }) (else_clause "else {\n    param_5 = 1;\n  }" else (compound_statement "{\n    param_5 = 1;\n  }" { (expression_statement "param_5 = 1;" (assignment_expression "param_5 = 1" identifier = number_literal) ;) }))))) (labeled_statement "LAB_00027074:\n  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }" statement_identifier : (if_statement "if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }" if (parenthesized_expression "(local_2c != *(int *)PTR___stack_chk_guard_00045630)" ( (binary_expression "local_2c != *(int *)PTR___stack_chk_guard_00045630" identifier != (pointer_expression "*(int *)PTR___stack_chk_guard_00045630" * (cast_expression "(int *)PTR___stack_chk_guard_00045630" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }" { (expression_statement "iVar15 = local_2c;" (assignment_expression "iVar15 = local_2c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00045600)();" (call_expression "(*(code *)PTR___stack_chk_fail_00045600)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00045600)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00045600" * (cast_expression "(code *)PTR___stack_chk_fail_00045600" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);" (assignment_expression "uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4)" identifier = (call_expression "utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4)" identifier (argument_list "(0xffffff9c,iVar15,puVar5,param_3,param_4)" ( number_literal , identifier , identifier , identifier , identifier )))) ;) (return_statement "return uVar10;" return identifier ;) }))) (return_statement "return param_5;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - LIT) )))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % LIT) == LIT) && (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % LIT) == LIT)) )) && (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % LIT) == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) / LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_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) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT % LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT / LIT) )) * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression (binary_expression IDENT % LIT) == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT / LIT) + (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT % LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT % LIT) != LIT) || (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % LIT) != LIT)) )) || (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT | IDENT) | (subscript_expression IDENT [ LIT ])) )) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression ~ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT == LIT) | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / LIT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (binary_expression IDENT != IDENT)) )) || (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression (parenthesized_expression ( (binary_expression IDENT / LIT) )) * LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))) >> LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) - (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (parenthesized_expression ( (binary_expression IDENT / LIT) )) * LIT)) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) })))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & (unary_expression ~ (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) % (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT , IDENT )))) ;) (return_statement return IDENT ;) }))) (return_statement return IDENT ;) })))
(function_definition "uint utimecmpat(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)\n\n{\n  uint uVar1;\n  uint *puVar2;\n  int iVar3;\n  int iVar4;\n  uint *puVar5;\n  uint *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint local_f0;\n  uint local_ec;\n  undefined4 local_e8;\n  undefined1 local_e4;\n  uint local_e0;\n  uint local_dc;\n  uint local_d8;\n  uint local_d4;\n  undefined1 auStack_d0 [72];\n  uint local_88;\n  uint local_84;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_00045630;\n  uVar11 = param_3[0x12];\n  uVar10 = *(uint *)(param_4 + 0x48);\n  uVar13 = param_3[0x13];\n  param_5 = param_5 & 1;\n  uVar12 = *(uint *)(param_4 + 0x4c);\n  puVar5 = param_2;\n  puVar6 = param_3;\n  if (param_5 != 0) {\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }\n  param_3 = puVar6;\n  if ((int)uVar11 < (int)uVar10) {\n    param_5 = 0xffffffff;\n  }\n  else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }\nLAB_00027074:\n  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }\n  return param_5;\n}" (type_identifier "uint") (function_declarator "utimecmpat(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)" (identifier "utimecmpat") (parameter_list "(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "uint *param_2" (type_identifier "uint") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint *param_3" (type_identifier "uint") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "undefined *param_4" (type_identifier "undefined") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint *puVar2;\n  int iVar3;\n  int iVar4;\n  uint *puVar5;\n  uint *puVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  int iVar15;\n  uint local_f0;\n  uint local_ec;\n  undefined4 local_e8;\n  undefined1 local_e4;\n  uint local_e0;\n  uint local_dc;\n  uint local_d8;\n  uint local_d4;\n  undefined1 auStack_d0 [72];\n  uint local_88;\n  uint local_84;\n  int local_2c;\n  \n  local_2c = *(int *)PTR___stack_chk_guard_00045630;\n  uVar11 = param_3[0x12];\n  uVar10 = *(uint *)(param_4 + 0x48);\n  uVar13 = param_3[0x13];\n  param_5 = param_5 & 1;\n  uVar12 = *(uint *)(param_4 + 0x4c);\n  puVar5 = param_2;\n  puVar6 = param_3;\n  if (param_5 != 0) {\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }\n  param_3 = puVar6;\n  if ((int)uVar11 < (int)uVar10) {\n    param_5 = 0xffffffff;\n  }\n  else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }\nLAB_00027074:\n  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }\n  return param_5;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "uint *puVar5;" (type_identifier "uint") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "uint *puVar6;" (type_identifier "uint") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (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 uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "uint local_f0;" (type_identifier "uint") (identifier "local_f0") (; ";")) (declaration "uint local_ec;" (type_identifier "uint") (identifier "local_ec") (; ";")) (declaration "undefined4 local_e8;" (type_identifier "undefined4") (identifier "local_e8") (; ";")) (declaration "undefined1 local_e4;" (type_identifier "undefined1") (identifier "local_e4") (; ";")) (declaration "uint local_e0;" (type_identifier "uint") (identifier "local_e0") (; ";")) (declaration "uint local_dc;" (type_identifier "uint") (identifier "local_dc") (; ";")) (declaration "uint local_d8;" (type_identifier "uint") (identifier "local_d8") (; ";")) (declaration "uint local_d4;" (type_identifier "uint") (identifier "local_d4") (; ";")) (declaration "undefined1 auStack_d0 [72];" (type_identifier "undefined1") (array_declarator "auStack_d0 [72]" (identifier "auStack_d0") ([ "[") (number_literal "72") (] "]")) (; ";")) (declaration "uint local_88;" (type_identifier "uint") (identifier "local_88") (; ";")) (declaration "uint local_84;" (type_identifier "uint") (identifier "local_84") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00045630;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00045630" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00045630" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00045630" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00045630")))) (; ";")) (expression_statement "uVar11 = param_3[0x12];" (assignment_expression "uVar11 = param_3[0x12]" (identifier "uVar11") (= "=") (subscript_expression "param_3[0x12]" (identifier "param_3") ([ "[") (number_literal "0x12") (] "]"))) (; ";")) (expression_statement "uVar10 = *(uint *)(param_4 + 0x48);" (assignment_expression "uVar10 = *(uint *)(param_4 + 0x48)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(param_4 + 0x48)" (* "*") (cast_expression "(uint *)(param_4 + 0x48)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x48)" (( "(") (binary_expression "param_4 + 0x48" (identifier "param_4") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "uVar13 = param_3[0x13];" (assignment_expression "uVar13 = param_3[0x13]" (identifier "uVar13") (= "=") (subscript_expression "param_3[0x13]" (identifier "param_3") ([ "[") (number_literal "0x13") (] "]"))) (; ";")) (expression_statement "param_5 = param_5 & 1;" (assignment_expression "param_5 = param_5 & 1" (identifier "param_5") (= "=") (binary_expression "param_5 & 1" (identifier "param_5") (& "&") (number_literal "1"))) (; ";")) (expression_statement "uVar12 = *(uint *)(param_4 + 0x4c);" (assignment_expression "uVar12 = *(uint *)(param_4 + 0x4c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(param_4 + 0x4c)" (* "*") (cast_expression "(uint *)(param_4 + 0x4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x4c)" (( "(") (binary_expression "param_4 + 0x4c" (identifier "param_4") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "puVar5 = param_2;" (assignment_expression "puVar5 = param_2" (identifier "puVar5") (= "=") (identifier "param_2")) (; ";")) (expression_statement "puVar6 = param_3;" (assignment_expression "puVar6 = param_3" (identifier "puVar6") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (param_5 != 0) {\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }" (if "if") (parenthesized_expression "(param_5 != 0)" (( "(") (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }\n    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);\n    if (uVar7 == 0) {\n      trap(7);\n    }\n    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;\n  }" ({ "{") (if_statement "if (uVar11 == uVar10) {\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }\n    else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" (if "if") (parenthesized_expression "(uVar11 == uVar10)" (( "(") (binary_expression "uVar11 == uVar10" (identifier "uVar11") (== "==") (identifier "uVar10")) () ")")) (compound_statement "{\n      if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" ({ "{") (if_statement "if (uVar12 == uVar13) {\n        param_5 = 0;\n        goto LAB_00027074;\n      }" (if "if") (parenthesized_expression "(uVar12 == uVar13)" (( "(") (binary_expression "uVar12 == uVar13" (identifier "uVar12") (== "==") (identifier "uVar13")) () ")")) (compound_statement "{\n        param_5 = 0;\n        goto LAB_00027074;\n      }" ({ "{") (expression_statement "param_5 = 0;" (assignment_expression "param_5 = 0" (identifier "param_5") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00027074;" (goto "goto") (statement_identifier "LAB_00027074") (; ";")) (} "}"))) (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" (* "*") (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" (( "(") (binary_expression "PTR_DAT_00045118 + 0x5c64" (identifier "PTR_DAT_00045118") (+ "+") (number_literal "0x5c64")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" (else "else") (compound_statement "{\n      if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }\n      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;\n      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n    }" ({ "{") (if_statement "if ((int)uVar11 < (int)(uVar10 - 1)) {\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }" (if "if") (parenthesized_expression "((int)uVar11 < (int)(uVar10 - 1))" (( "(") (binary_expression "(int)uVar11 < (int)(uVar10 - 1)" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (< "<") (cast_expression "(int)(uVar10 - 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar10 - 1)" (( "(") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) () ")")))) () ")")) (compound_statement "{\n        param_5 = 0xffffffff;\n        goto LAB_00027074;\n      }" ({ "{") (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" (identifier "param_5") (= "=") (number_literal "0xffffffff")) (; ";")) (goto_statement "goto LAB_00027074;" (goto "goto") (statement_identifier "LAB_00027074") (; ";")) (} "}"))) (if_statement "if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;" (if "if") (parenthesized_expression "((int)uVar10 < (int)(uVar11 - 1))" (( "(") (binary_expression "(int)uVar10 < (int)(uVar11 - 1)" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (< "<") (cast_expression "(int)(uVar11 - 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar11 - 1)" (( "(") (binary_expression "uVar11 - 1" (identifier "uVar11") (- "-") (number_literal "1")) () ")")))) () ")")) (goto_statement "goto LAB_00027074;" (goto "goto") (statement_identifier "LAB_00027074") (; ";"))) (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" (* "*") (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" (( "(") (binary_expression "PTR_DAT_00045118 + 0x5c64" (identifier "PTR_DAT_00045118") (+ "+") (number_literal "0x5c64")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (iVar15 == 0) {\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }\n    else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_4 = PTR_LAB_0004521c + 0x6948;\n      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);\n      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);\n      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;\n      if (iVar15 != 0) goto LAB_00026a18;\nLAB_00026b00:\n      uVar7 = 2000000000;\n      local_e8 = 2000000000;\n      local_e4 = 0;\n      puVar2 = &local_f0;\nLAB_00026b10:\n      uVar8 = param_3[0x11];\n      puVar6 = (uint *)param_3[0x15];\n      puVar5 = (uint *)((int)puVar6 / 10);\n      uVar1 = param_5;\n      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }\nLAB_00026ec8:\n      uVar7 = uVar1;\n      puVar2[2] = uVar7;\n      *(undefined1 *)(puVar2 + 3) = 1;\n    }" ({ "{") (expression_statement "param_4 = PTR_LAB_0004521c + 0x6948;" (assignment_expression "param_4 = PTR_LAB_0004521c + 0x6948" (identifier "param_4") (= "=") (binary_expression "PTR_LAB_0004521c + 0x6948" (identifier "PTR_LAB_0004521c") (+ "+") (number_literal "0x6948"))) (; ";")) (expression_statement "puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);" (assignment_expression "puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900)" (identifier "puVar6") (= "=") (cast_expression "(uint *)(PTR_LAB_0004521c + 0x6900)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0004521c + 0x6900)" (( "(") (binary_expression "PTR_LAB_0004521c + 0x6900" (identifier "PTR_LAB_0004521c") (+ "+") (number_literal "0x6900")) () ")")))) (; ";")) (expression_statement "iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);" (assignment_expression "iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c)" (identifier "iVar15") (= "=") (call_expression "hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c)" (identifier "hash_initialize") (argument_list "(0x10,0,puVar6,param_4,PTR_free_0004563c)" (( "(") (number_literal "0x10") (, ",") (number_literal "0") (, ",") (identifier "puVar6") (, ",") (identifier "param_4") (, ",") (identifier "PTR_free_0004563c") () ")")))) (; ";")) (expression_statement "*(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;" (assignment_expression "*(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15" (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" (* "*") (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" (( "(") (binary_expression "PTR_DAT_00045118 + 0x5c64" (identifier "PTR_DAT_00045118") (+ "+") (number_literal "0x5c64")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (if_statement "if (iVar15 != 0) goto LAB_00026a18;" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00026a18;" (goto "goto") (statement_identifier "LAB_00026a18") (; ";"))) (labeled_statement "LAB_00026b00:\n      uVar7 = 2000000000;" (statement_identifier "LAB_00026b00") (: ":") (expression_statement "uVar7 = 2000000000;" (assignment_expression "uVar7 = 2000000000" (identifier "uVar7") (= "=") (number_literal "2000000000")) (; ";"))) (expression_statement "local_e8 = 2000000000;" (assignment_expression "local_e8 = 2000000000" (identifier "local_e8") (= "=") (number_literal "2000000000")) (; ";")) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" (identifier "local_e4") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2 = &local_f0;" (assignment_expression "puVar2 = &local_f0" (identifier "puVar2") (= "=") (pointer_expression "&local_f0" (& "&") (identifier "local_f0"))) (; ";")) (labeled_statement "LAB_00026b10:\n      uVar8 = param_3[0x11];" (statement_identifier "LAB_00026b10") (: ":") (expression_statement "uVar8 = param_3[0x11];" (assignment_expression "uVar8 = param_3[0x11]" (identifier "uVar8") (= "=") (subscript_expression "param_3[0x11]" (identifier "param_3") ([ "[") (number_literal "0x11") (] "]"))) (; ";"))) (expression_statement "puVar6 = (uint *)param_3[0x15];" (assignment_expression "puVar6 = (uint *)param_3[0x15]" (identifier "puVar6") (= "=") (cast_expression "(uint *)param_3[0x15]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[0x15]" (identifier "param_3") ([ "[") (number_literal "0x15") (] "]")))) (; ";")) (expression_statement "puVar5 = (uint *)((int)puVar6 / 10);" (assignment_expression "puVar5 = (uint *)((int)puVar6 / 10)" (identifier "puVar5") (= "=") (cast_expression "(uint *)((int)puVar6 / 10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar6 / 10)" (( "(") (binary_expression "(int)puVar6 / 10" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (/ "/") (number_literal "10")) () ")")))) (; ";")) (expression_statement "uVar1 = param_5;" (assignment_expression "uVar1 = param_5" (identifier "uVar1") (= "=") (identifier "param_5")) (; ";")) (if_statement "if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }" (if "if") (parenthesized_expression "(((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0)" (( "(") (binary_expression "((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0" (parenthesized_expression "((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0)" (( "(") (binary_expression "(int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0" (binary_expression "(int)uVar8 % 10 == 0" (binary_expression "(int)uVar8 % 10" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (% "%") (number_literal "10")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "(int)puVar6 % 10 == 0" (binary_expression "(int)puVar6 % 10" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (% "%") (number_literal "10")) (== "==") (number_literal "0"))) () ")")) (&& "&&") (binary_expression "(int)uVar13 % 10 == 0" (binary_expression "(int)uVar13 % 10" (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13")) (% "%") (number_literal "10")) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n        uVar9 = param_3[0x10];\n        iVar15 = (int)uVar8 / 10;\n        puVar5 = (uint *)((int)puVar6 / 10);\n        iVar4 = (int)uVar13 / 10;\n        if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }\n        puVar2[2] = uVar14;\nLAB_00026d7c:\n        param_3 = puVar6;\n        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;\n        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;\n        if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }\n        if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }\n        local_d8 = uVar14 == 2000000000 | uVar11;\n        local_d4 = (int)uVar14 / 9 + uVar13;\n        param_4 = (undefined *)0x100;\n        param_3 = &local_e0;\n        puVar5 = param_2;\n        local_e0 = uVar9;\n        local_dc = uVar8;\n        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);\n        if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }\n        puVar6 = param_2;\n        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);\n        param_4 = (undefined *)0x100;\n        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }\n        puVar5 = (uint *)((local_88 & 1) * 1000000000);\n        iVar15 = (int)puVar5 + local_84;\n        uVar1 = param_5;\n        if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }\n      }" ({ "{") (expression_statement "uVar9 = param_3[0x10];" (assignment_expression "uVar9 = param_3[0x10]" (identifier "uVar9") (= "=") (subscript_expression "param_3[0x10]" (identifier "param_3") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (expression_statement "iVar15 = (int)uVar8 / 10;" (assignment_expression "iVar15 = (int)uVar8 / 10" (identifier "iVar15") (= "=") (binary_expression "(int)uVar8 / 10" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (/ "/") (number_literal "10"))) (; ";")) (expression_statement "puVar5 = (uint *)((int)puVar6 / 10);" (assignment_expression "puVar5 = (uint *)((int)puVar6 / 10)" (identifier "puVar5") (= "=") (cast_expression "(uint *)((int)puVar6 / 10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar6 / 10)" (( "(") (binary_expression "(int)puVar6 / 10" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (/ "/") (number_literal "10")) () ")")))) (; ";")) (expression_statement "iVar4 = (int)uVar13 / 10;" (assignment_expression "iVar4 = (int)uVar13 / 10" (identifier "iVar4") (= "=") (binary_expression "(int)uVar13 / 10" (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13")) (/ "/") (number_literal "10"))) (; ";")) (if_statement "if ((int)uVar7 < 0xb) {\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }\n        else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }" (if "if") (parenthesized_expression "((int)uVar7 < 0xb)" (( "(") (binary_expression "(int)uVar7 < 0xb" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (< "<") (number_literal "0xb")) () ")")) (compound_statement "{\n          uVar14 = 10;\n          puVar6 = (uint *)((int)puVar6 >> 0x1f);\n        }" ({ "{") (expression_statement "uVar14 = 10;" (assignment_expression "uVar14 = 10" (identifier "uVar14") (= "=") (number_literal "10")) (; ";")) (expression_statement "puVar6 = (uint *)((int)puVar6 >> 0x1f);" (assignment_expression "puVar6 = (uint *)((int)puVar6 >> 0x1f)" (identifier "puVar6") (= "=") (cast_expression "(uint *)((int)puVar6 >> 0x1f)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar6 >> 0x1f)" (( "(") (binary_expression "(int)puVar6 >> 0x1f" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }" (else "else") (compound_statement "{\n          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);\n          param_4 = (undefined *)((iVar4 / 10) * 4);\n          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }\n        }" ({ "{") (expression_statement "puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);" (assignment_expression "puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10)" (identifier "puVar6") (= "=") (cast_expression "(uint *)(iVar15 % 10 | (int)puVar5 % 10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 % 10 | (int)puVar5 % 10)" (( "(") (binary_expression "iVar15 % 10 | (int)puVar5 % 10" (binary_expression "iVar15 % 10" (identifier "iVar15") (% "%") (number_literal "10")) (| "|") (binary_expression "(int)puVar5 % 10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (% "%") (number_literal "10"))) () ")")))) (; ";")) (expression_statement "param_4 = (undefined *)((iVar4 / 10) * 4);" (assignment_expression "param_4 = (undefined *)((iVar4 / 10) * 4)" (identifier "param_4") (= "=") (cast_expression "(undefined *)((iVar4 / 10) * 4)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((iVar4 / 10) * 4)" (( "(") (binary_expression "(iVar4 / 10) * 4" (parenthesized_expression "(iVar4 / 10)" (( "(") (binary_expression "iVar4 / 10" (identifier "iVar4") (/ "/") (number_literal "10")) () ")")) (* "*") (number_literal "4")) () ")")))) (; ";")) (if_statement "if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }\n          else {\n            uVar14 = 10;\n          }" (if "if") (parenthesized_expression "(puVar6 == (uint *)0x0 && iVar4 % 10 == 0)" (( "(") (binary_expression "puVar6 == (uint *)0x0 && iVar4 % 10 == 0" (binary_expression "puVar6 == (uint *)0x0" (identifier "puVar6") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (binary_expression "iVar4 % 10 == 0" (binary_expression "iVar4 % 10" (identifier "iVar4") (% "%") (number_literal "10")) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n            uVar14 = 10;\n            param_4 = (undefined *)0x66666667;\n            iVar3 = 0x28;\n            do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);\n            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }\n          }" ({ "{") (expression_statement "uVar14 = 10;" (assignment_expression "uVar14 = 10" (identifier "uVar14") (= "=") (number_literal "10")) (; ";")) (expression_statement "param_4 = (undefined *)0x66666667;" (assignment_expression "param_4 = (undefined *)0x66666667" (identifier "param_4") (= "=") (cast_expression "(undefined *)0x66666667" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x66666667"))) (; ";")) (expression_statement "iVar3 = 0x28;" (assignment_expression "iVar3 = 0x28" (identifier "iVar3") (= "=") (number_literal "0x28")) (; ";")) (do_statement "do {\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            } while (uVar14 != 1000000000);" (do "do") (compound_statement "{\n              iVar3 = iVar3 + uVar14;\n              uVar14 = iVar3 * 2;\n              iVar15 = iVar15 / 10;\n              puVar5 = (uint *)((int)puVar5 / 10);\n              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));\n              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);\n              if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }\n              puVar6 = (uint *)(iVar4 % 10);\n              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }\n              iVar3 = iVar3 * 8;\n            }" ({ "{") (expression_statement "iVar3 = iVar3 + uVar14;" (assignment_expression "iVar3 = iVar3 + uVar14" (identifier "iVar3") (= "=") (binary_expression "iVar3 + uVar14" (identifier "iVar3") (+ "+") (identifier "uVar14"))) (; ";")) (expression_statement "uVar14 = iVar3 * 2;" (assignment_expression "uVar14 = iVar3 * 2" (identifier "uVar14") (= "=") (binary_expression "iVar3 * 2" (identifier "iVar3") (* "*") (number_literal "2"))) (; ";")) (expression_statement "iVar15 = iVar15 / 10;" (assignment_expression "iVar15 = iVar15 / 10" (identifier "iVar15") (= "=") (binary_expression "iVar15 / 10" (identifier "iVar15") (/ "/") (number_literal "10"))) (; ";")) (expression_statement "puVar5 = (uint *)((int)puVar5 / 10);" (assignment_expression "puVar5 = (uint *)((int)puVar5 / 10)" (identifier "puVar5") (= "=") (cast_expression "(uint *)((int)puVar5 / 10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar5 / 10)" (( "(") (binary_expression "(int)puVar5 / 10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (/ "/") (number_literal "10")) () ")")))) (; ";")) (expression_statement "puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));" (assignment_expression "puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f))" (identifier "puVar6") (= "=") (cast_expression "(uint *)(iVar4 / 10 + (iVar4 >> 0x1f))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 / 10 + (iVar4 >> 0x1f))" (( "(") (binary_expression "iVar4 / 10 + (iVar4 >> 0x1f)" (binary_expression "iVar4 / 10" (identifier "iVar4") (/ "/") (number_literal "10")) (+ "+") (parenthesized_expression "(iVar4 >> 0x1f)" (( "(") (binary_expression "iVar4 >> 0x1f" (identifier "iVar4") (>> ">>") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (expression_statement "iVar4 = (int)puVar6 - (iVar4 >> 0x1f);" (assignment_expression "iVar4 = (int)puVar6 - (iVar4 >> 0x1f)" (identifier "iVar4") (= "=") (binary_expression "(int)puVar6 - (iVar4 >> 0x1f)" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (- "-") (parenthesized_expression "(iVar4 >> 0x1f)" (( "(") (binary_expression "iVar4 >> 0x1f" (identifier "iVar4") (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if ((int)uVar7 <= (int)uVar14) {\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }" (if "if") (parenthesized_expression "((int)uVar7 <= (int)uVar14)" (( "(") (binary_expression "(int)uVar7 <= (int)uVar14" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (<= "<=") (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14"))) () ")")) (compound_statement "{\n                puVar2[2] = uVar14;\n                goto LAB_00026d7c;\n              }" ({ "{") (expression_statement "puVar2[2] = uVar14;" (assignment_expression "puVar2[2] = uVar14" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (goto_statement "goto LAB_00026d7c;" (goto "goto") (statement_identifier "LAB_00026d7c") (; ";")) (} "}"))) (expression_statement "puVar6 = (uint *)(iVar4 % 10);" (assignment_expression "puVar6 = (uint *)(iVar4 % 10)" (identifier "puVar6") (= "=") (cast_expression "(uint *)(iVar4 % 10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 % 10)" (( "(") (binary_expression "iVar4 % 10" (identifier "iVar4") (% "%") (number_literal "10")) () ")")))) (; ";")) (if_statement "if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }" (if "if") (parenthesized_expression "((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0)" (( "(") (binary_expression "(iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0" (parenthesized_expression "(iVar15 % 10 != 0 || (int)puVar5 % 10 != 0)" (( "(") (binary_expression "iVar15 % 10 != 0 || (int)puVar5 % 10 != 0" (binary_expression "iVar15 % 10 != 0" (binary_expression "iVar15 % 10" (identifier "iVar15") (% "%") (number_literal "10")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(int)puVar5 % 10 != 0" (binary_expression "(int)puVar5 % 10" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (% "%") (number_literal "10")) (!= "!=") (number_literal "0"))) () ")")) (|| "||") (binary_expression "puVar6 != (uint *)0x0" (identifier "puVar6") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n                puVar2[2] = uVar14;\n                uVar1 = uVar14;\n                if ((int)uVar14 < 2) goto LAB_00026ec8;\n                goto LAB_00026d7c;\n              }" ({ "{") (expression_statement "puVar2[2] = uVar14;" (assignment_expression "puVar2[2] = uVar14" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "uVar1 = uVar14;" (assignment_expression "uVar1 = uVar14" (identifier "uVar1") (= "=") (identifier "uVar14")) (; ";")) (if_statement "if ((int)uVar14 < 2) goto LAB_00026ec8;" (if "if") (parenthesized_expression "((int)uVar14 < 2)" (( "(") (binary_expression "(int)uVar14 < 2" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_00026ec8;" (goto "goto") (statement_identifier "LAB_00026ec8") (; ";"))) (goto_statement "goto LAB_00026d7c;" (goto "goto") (statement_identifier "LAB_00026d7c") (; ";")) (} "}"))) (expression_statement "iVar3 = iVar3 * 8;" (assignment_expression "iVar3 = iVar3 * 8" (identifier "iVar3") (= "=") (binary_expression "iVar3 * 8" (identifier "iVar3") (* "*") (number_literal "8"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar14 != 1000000000)" (( "(") (binary_expression "uVar14 != 1000000000" (identifier "uVar14") (!= "!=") (number_literal "1000000000")) () ")")) (; ";")) (if_statement "if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {\n              uVar14 = 2000000000;\n            }" (if "if") (parenthesized_expression "(((uVar11 | uVar9 | param_3[0x14]) & 1) == 0)" (( "(") (binary_expression "((uVar11 | uVar9 | param_3[0x14]) & 1) == 0" (parenthesized_expression "((uVar11 | uVar9 | param_3[0x14]) & 1)" (( "(") (binary_expression "(uVar11 | uVar9 | param_3[0x14]) & 1" (parenthesized_expression "(uVar11 | uVar9 | param_3[0x14])" (( "(") (binary_expression "uVar11 | uVar9 | param_3[0x14]" (binary_expression "uVar11 | uVar9" (identifier "uVar11") (| "|") (identifier "uVar9")) (| "|") (subscript_expression "param_3[0x14]" (identifier "param_3") ([ "[") (number_literal "0x14") (] "]"))) () ")")) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar14 = 2000000000;\n            }" ({ "{") (expression_statement "uVar14 = 2000000000;" (assignment_expression "uVar14 = 2000000000" (identifier "uVar14") (= "=") (number_literal "2000000000")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            uVar14 = 10;\n          }" (else "else") (compound_statement "{\n            uVar14 = 10;\n          }" ({ "{") (expression_statement "uVar14 = 10;" (assignment_expression "uVar14 = 10" (identifier "uVar14") (= "=") (number_literal "10")) (; ";")) (} "}")))) (} "}")))) (expression_statement "puVar2[2] = uVar14;" (assignment_expression "puVar2[2] = uVar14" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (labeled_statement "LAB_00026d7c:\n        param_3 = puVar6;" (statement_identifier "LAB_00026d7c") (: ":") (expression_statement "param_3 = puVar6;" (assignment_expression "param_3 = puVar6" (identifier "param_3") (= "=") (identifier "puVar6")) (; ";"))) (if_statement "if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))\n        goto LAB_00027074;" (if "if") (parenthesized_expression "(((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))" (( "(") (binary_expression "((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13)))" (parenthesized_expression "((int)uVar10 < (int)uVar11)" (( "(") (binary_expression "(int)uVar10 < (int)uVar11" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (< "<") (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11"))) () ")")) (|| "||") (parenthesized_expression "((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13)))" (( "(") (parenthesized_expression "(uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))" (( "(") (binary_expression "uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13)" (binary_expression "uVar11 == uVar10" (identifier "uVar11") (== "==") (identifier "uVar10")) (&& "&&") (parenthesized_expression "((int)uVar12 <= (int)uVar13)" (( "(") (binary_expression "(int)uVar12 <= (int)uVar13" (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12")) (<= "<=") (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00027074;" (goto "goto") (statement_identifier "LAB_00027074") (; ";"))) (expression_statement "uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;" (assignment_expression "uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10" (identifier "uVar7") (= "=") (binary_expression "~(uint)(uVar14 == 2000000000) & uVar10" (unary_expression "~(uint)(uVar14 == 2000000000)" (~ "~") (call_expression "(uint)(uVar14 == 2000000000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 == 2000000000)" (( "(") (binary_expression "uVar14 == 2000000000" (identifier "uVar14") (== "==") (number_literal "2000000000")) () ")")))) (& "&") (identifier "uVar10"))) (; ";")) (if_statement "if ((int)uVar11 < (int)uVar7) {\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }" (if "if") (parenthesized_expression "((int)uVar11 < (int)uVar7)" (( "(") (binary_expression "(int)uVar11 < (int)uVar7" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (< "<") (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7"))) () ")")) (compound_statement "{\n          param_5 = 0xffffffff;\n          goto LAB_00027074;\n        }" ({ "{") (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" (identifier "param_5") (= "=") (number_literal "0xffffffff")) (; ";")) (goto_statement "goto LAB_00027074;" (goto "goto") (statement_identifier "LAB_00027074") (; ";")) (} "}"))) (if_statement "if (uVar11 == uVar7) {\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }" (if "if") (parenthesized_expression "(uVar11 == uVar7)" (( "(") (binary_expression "uVar11 == uVar7" (identifier "uVar11") (== "==") (identifier "uVar7")) () ")")) (compound_statement "{\n          if (uVar14 == 0) {\n            trap(7);\n          }\n          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }\n        }" ({ "{") (if_statement "if (uVar14 == 0) {\n            trap(7);\n          }" (if "if") (parenthesized_expression "(uVar14 == 0)" (( "(") (binary_expression "uVar14 == 0" (identifier "uVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            trap(7);\n          }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (if_statement "if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }" (if "if") (parenthesized_expression "((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14))" (( "(") (binary_expression "(int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)" (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13")) (< "<") (cast_expression "(int)(uVar12 - (int)uVar12 % (int)uVar14)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar12 - (int)uVar12 % (int)uVar14)" (( "(") (binary_expression "uVar12 - (int)uVar12 % (int)uVar14" (identifier "uVar12") (- "-") (binary_expression "(int)uVar12 % (int)uVar14" (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12")) (% "%") (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")))) () ")")))) () ")")) (compound_statement "{\n            param_5 = 0xffffffff;\n            goto LAB_00027074;\n          }" ({ "{") (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" (identifier "param_5") (= "=") (number_literal "0xffffffff")) (; ";")) (goto_statement "goto LAB_00027074;" (goto "goto") (statement_identifier "LAB_00027074") (; ";")) (} "}"))) (} "}"))) (expression_statement "local_d8 = uVar14 == 2000000000 | uVar11;" (assignment_expression "local_d8 = uVar14 == 2000000000 | uVar11" (identifier "local_d8") (= "=") (binary_expression "uVar14 == 2000000000 | uVar11" (binary_expression "uVar14 == 2000000000" (identifier "uVar14") (== "==") (number_literal "2000000000")) (| "|") (identifier "uVar11"))) (; ";")) (expression_statement "local_d4 = (int)uVar14 / 9 + uVar13;" (assignment_expression "local_d4 = (int)uVar14 / 9 + uVar13" (identifier "local_d4") (= "=") (binary_expression "(int)uVar14 / 9 + uVar13" (binary_expression "(int)uVar14 / 9" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (/ "/") (number_literal "9")) (+ "+") (identifier "uVar13"))) (; ";")) (expression_statement "param_4 = (undefined *)0x100;" (assignment_expression "param_4 = (undefined *)0x100" (identifier "param_4") (= "=") (cast_expression "(undefined *)0x100" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x100"))) (; ";")) (expression_statement "param_3 = &local_e0;" (assignment_expression "param_3 = &local_e0" (identifier "param_3") (= "=") (pointer_expression "&local_e0" (& "&") (identifier "local_e0"))) (; ";")) (expression_statement "puVar5 = param_2;" (assignment_expression "puVar5 = param_2" (identifier "puVar5") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_e0 = uVar9;" (assignment_expression "local_e0 = uVar9" (identifier "local_e0") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "local_dc = uVar8;" (assignment_expression "local_dc = uVar8" (identifier "local_dc") (= "=") (identifier "uVar8")) (; ";")) (expression_statement "iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);" (assignment_expression "iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3)" (identifier "iVar15") (= "=") (call_expression "(*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_utimensat_00045680)" (( "(") (pointer_expression "*(code *)PTR_utimensat_00045680" (* "*") (cast_expression "(code *)PTR_utimensat_00045680" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_utimensat_00045680"))) () ")")) (argument_list "(param_1,param_2,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar15 != 0) {\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          param_5 = 0xfffffffe;\n          goto LAB_00027074;\n        }" ({ "{") (expression_statement "param_5 = 0xfffffffe;" (assignment_expression "param_5 = 0xfffffffe" (identifier "param_5") (= "=") (number_literal "0xfffffffe")) (; ";")) (goto_statement "goto LAB_00027074;" (goto "goto") (statement_identifier "LAB_00027074") (; ";")) (} "}"))) (expression_statement "puVar6 = param_2;" (assignment_expression "puVar6 = param_2" (identifier "puVar6") (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);" (assignment_expression "iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100)" (identifier "iVar15") (= "=") (call_expression "(*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100)" (parenthesized_expression "(*(code *)PTR___fxstatat64_000455e0)" (( "(") (pointer_expression "*(code *)PTR___fxstatat64_000455e0" (* "*") (cast_expression "(code *)PTR___fxstatat64_000455e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fxstatat64_000455e0"))) () ")")) (argument_list "(3,param_1,param_2,auStack_d0,0x100)" (( "(") (number_literal "3") (, ",") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "auStack_d0") (, ",") (number_literal "0x100") () ")")))) (; ";")) (expression_statement "param_4 = (undefined *)0x100;" (assignment_expression "param_4 = (undefined *)0x100" (identifier "param_4") (= "=") (cast_expression "(undefined *)0x100" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x100"))) (; ";")) (if_statement "if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }" (if "if") (parenthesized_expression "((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0)" (( "(") (binary_expression "(uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0" (parenthesized_expression "(uVar11 != local_88 || uVar13 != local_84)" (( "(") (binary_expression "uVar11 != local_88 || uVar13 != local_84" (binary_expression "uVar11 != local_88" (identifier "uVar11") (!= "!=") (identifier "local_88")) (|| "||") (binary_expression "uVar13 != local_84" (identifier "uVar13") (!= "!=") (identifier "local_84"))) () ")")) (|| "||") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n          puVar6 = &local_e0;\n          local_d8 = uVar11;\n          local_d4 = uVar13;\n          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);\n          if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }\n        }" ({ "{") (expression_statement "puVar6 = &local_e0;" (assignment_expression "puVar6 = &local_e0" (identifier "puVar6") (= "=") (pointer_expression "&local_e0" (& "&") (identifier "local_e0"))) (; ";")) (expression_statement "local_d8 = uVar11;" (assignment_expression "local_d8 = uVar11" (identifier "local_d8") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "local_d4 = uVar13;" (assignment_expression "local_d4 = uVar13" (identifier "local_d4") (= "=") (identifier "uVar13")) (; ";")) (expression_statement "(*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);" (call_expression "(*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6)" (parenthesized_expression "(*(code *)PTR_utimensat_00045680)" (( "(") (pointer_expression "*(code *)PTR_utimensat_00045680" (* "*") (cast_expression "(code *)PTR_utimensat_00045680" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_utimensat_00045680"))) () ")")) (argument_list "(param_1,param_2,puVar6)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "puVar6") () ")"))) (; ";")) (if_statement "if (iVar15 != 0) {\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            param_5 = 0xfffffffe;\n            puVar5 = param_2;\n            param_3 = puVar6;\n            goto LAB_00027074;\n          }" ({ "{") (expression_statement "param_5 = 0xfffffffe;" (assignment_expression "param_5 = 0xfffffffe" (identifier "param_5") (= "=") (number_literal "0xfffffffe")) (; ";")) (expression_statement "puVar5 = param_2;" (assignment_expression "puVar5 = param_2" (identifier "puVar5") (= "=") (identifier "param_2")) (; ";")) (expression_statement "param_3 = puVar6;" (assignment_expression "param_3 = puVar6" (identifier "param_3") (= "=") (identifier "puVar6")) (; ";")) (goto_statement "goto LAB_00027074;" (goto "goto") (statement_identifier "LAB_00027074") (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar5 = (uint *)((local_88 & 1) * 1000000000);" (assignment_expression "puVar5 = (uint *)((local_88 & 1) * 1000000000)" (identifier "puVar5") (= "=") (cast_expression "(uint *)((local_88 & 1) * 1000000000)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((local_88 & 1) * 1000000000)" (( "(") (binary_expression "(local_88 & 1) * 1000000000" (parenthesized_expression "(local_88 & 1)" (( "(") (binary_expression "local_88 & 1" (identifier "local_88") (& "&") (number_literal "1")) () ")")) (* "*") (number_literal "1000000000")) () ")")))) (; ";")) (expression_statement "iVar15 = (int)puVar5 + local_84;" (assignment_expression "iVar15 = (int)puVar5 + local_84" (identifier "iVar15") (= "=") (binary_expression "(int)puVar5 + local_84" (cast_expression "(int)puVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar5")) (+ "+") (identifier "local_84"))) (; ";")) (expression_statement "uVar1 = param_5;" (assignment_expression "uVar1 = param_5" (identifier "uVar1") (= "=") (identifier "param_5")) (; ";")) (if_statement "if ((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }" (if "if") (parenthesized_expression "((iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10))" (( "(") (binary_expression "(iVar15 == (iVar15 / 10) * 10) &&\n           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)" (parenthesized_expression "(iVar15 == (iVar15 / 10) * 10)" (( "(") (binary_expression "iVar15 == (iVar15 / 10) * 10" (identifier "iVar15") (== "==") (binary_expression "(iVar15 / 10) * 10" (parenthesized_expression "(iVar15 / 10)" (( "(") (binary_expression "iVar15 / 10" (identifier "iVar15") (/ "/") (number_literal "10")) () ")")) (* "*") (number_literal "10"))) () ")")) (&& "&&") (parenthesized_expression "(puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)" (( "(") (comma_expression "puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10" (assignment_expression "puVar5 = (uint *)0x66660000" (identifier "puVar5") (= "=") (cast_expression "(uint *)0x66660000" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x66660000"))) (, ",") (comma_expression "uVar1 = uVar14, uVar14 != 10" (assignment_expression "uVar1 = uVar14" (identifier "uVar1") (= "=") (identifier "uVar14")) (, ",") (binary_expression "uVar14 != 10" (identifier "uVar14") (!= "!=") (number_literal "10")))) () ")"))) () ")")) (compound_statement "{\n          uVar7 = 10;\n          puVar5 = (uint *)0x66666667;\n          puVar6 = (uint *)0x3b9aca00;\n          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n          do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);\n        }" ({ "{") (expression_statement "uVar7 = 10;" (assignment_expression "uVar7 = 10" (identifier "uVar7") (= "=") (number_literal "10")) (; ";")) (expression_statement "puVar5 = (uint *)0x66666667;" (assignment_expression "puVar5 = (uint *)0x66666667" (identifier "puVar5") (= "=") (cast_expression "(uint *)0x66666667" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x66666667"))) (; ";")) (expression_statement "puVar6 = (uint *)0x3b9aca00;" (assignment_expression "puVar6 = (uint *)0x3b9aca00" (identifier "puVar6") (= "=") (cast_expression "(uint *)0x3b9aca00" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3b9aca00"))) (; ";")) (expression_statement "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);" (assignment_expression "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" (identifier "iVar4") (= "=") (cast_expression "(int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" (( "(") (binary_expression "(ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20" (call_expression "(ulonglong)((longlong)iVar15 * 0x66666667)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "((longlong)iVar15 * 0x66666667)" (( "(") (binary_expression "(longlong)iVar15 * 0x66666667" (cast_expression "(longlong)iVar15" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "iVar15")) (* "*") (number_literal "0x66666667")) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (do_statement "do {\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          } while (uVar7 != uVar14);" (do "do") (compound_statement "{\n            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);\n            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);\n            uVar1 = uVar7;\n            if (iVar15 != (iVar15 / 10) * 10) break;\n            if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }\n            uVar7 = uVar7 * 10;\n            uVar1 = uVar14;\n          }" ({ "{") (expression_statement "iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);" (assignment_expression "iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f)" (identifier "iVar15") (= "=") (binary_expression "(iVar4 >> 2) - (iVar15 >> 0x1f)" (parenthesized_expression "(iVar4 >> 2)" (( "(") (binary_expression "iVar4 >> 2" (identifier "iVar4") (>> ">>") (number_literal "2")) () ")")) (- "-") (parenthesized_expression "(iVar15 >> 0x1f)" (( "(") (binary_expression "iVar15 >> 0x1f" (identifier "iVar15") (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);" (assignment_expression "iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" (identifier "iVar4") (= "=") (cast_expression "(int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20)" (( "(") (binary_expression "(ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20" (call_expression "(ulonglong)((longlong)iVar15 * 0x66666667)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "((longlong)iVar15 * 0x66666667)" (( "(") (binary_expression "(longlong)iVar15 * 0x66666667" (cast_expression "(longlong)iVar15" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "iVar15")) (* "*") (number_literal "0x66666667")) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar1 = uVar7;" (assignment_expression "uVar1 = uVar7" (identifier "uVar1") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (iVar15 != (iVar15 / 10) * 10) break;" (if "if") (parenthesized_expression "(iVar15 != (iVar15 / 10) * 10)" (( "(") (binary_expression "iVar15 != (iVar15 / 10) * 10" (identifier "iVar15") (!= "!=") (binary_expression "(iVar15 / 10) * 10" (parenthesized_expression "(iVar15 / 10)" (( "(") (binary_expression "iVar15 / 10" (identifier "iVar15") (/ "/") (number_literal "10")) () ")")) (* "*") (number_literal "10"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (uVar7 == 1000000000) {\n              uVar1 = 2000000000;\n              break;\n            }" (if "if") (parenthesized_expression "(uVar7 == 1000000000)" (( "(") (binary_expression "uVar7 == 1000000000" (identifier "uVar7") (== "==") (number_literal "1000000000")) () ")")) (compound_statement "{\n              uVar1 = 2000000000;\n              break;\n            }" ({ "{") (expression_statement "uVar1 = 2000000000;" (assignment_expression "uVar1 = 2000000000" (identifier "uVar1") (= "=") (number_literal "2000000000")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "uVar7 = uVar7 * 10;" (assignment_expression "uVar7 = uVar7 * 10" (identifier "uVar7") (= "=") (binary_expression "uVar7 * 10" (identifier "uVar7") (* "*") (number_literal "10"))) (; ";")) (expression_statement "uVar1 = uVar14;" (assignment_expression "uVar1 = uVar14" (identifier "uVar1") (= "=") (identifier "uVar14")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar7 != uVar14)" (( "(") (binary_expression "uVar7 != uVar14" (identifier "uVar7") (!= "!=") (identifier "uVar14")) () ")")) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00026ec8:\n      uVar7 = uVar1;" (statement_identifier "LAB_00026ec8") (: ":") (expression_statement "uVar7 = uVar1;" (assignment_expression "uVar7 = uVar1" (identifier "uVar7") (= "=") (identifier "uVar1")) (; ";"))) (expression_statement "puVar2[2] = uVar7;" (assignment_expression "puVar2[2] = uVar7" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 3) = 1;" (assignment_expression "*(undefined1 *)(puVar2 + 3) = 1" (pointer_expression "*(undefined1 *)(puVar2 + 3)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 3)" (( "(") (binary_expression "puVar2 + 3" (identifier "puVar2") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }" (else "else") (compound_statement "{\nLAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }\n      uVar7 = puVar2[2];\n      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;\n    }" ({ "{") (labeled_statement "LAB_00026a18:\n      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" (statement_identifier "LAB_00026a18") (: ":") (if_statement "if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }\n      else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)(PTR_DAT_00045118 + 0x5c60) == 0)" (( "(") (binary_expression "*(int *)(PTR_DAT_00045118 + 0x5c60) == 0" (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c60)" (* "*") (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" (( "(") (binary_expression "PTR_DAT_00045118 + 0x5c60" (identifier "PTR_DAT_00045118") (+ "+") (number_literal "0x5c60")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);\n        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;\n        if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }\n        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\nLAB_00026e84:\n        local_ec = *param_3;\n        local_f0 = 0;\n        puVar5 = &local_f0;\n        puVar2 = (uint *)hash_lookup(iVar15,puVar5);\n        if (puVar2 == (uint *)0x0) goto LAB_00026b00;\n      }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_malloc_00045594)(0x10);" (assignment_expression "iVar4 = (*(code *)PTR_malloc_00045594)(0x10)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_malloc_00045594)(0x10)" (parenthesized_expression "(*(code *)PTR_malloc_00045594)" (( "(") (pointer_expression "*(code *)PTR_malloc_00045594" (* "*") (cast_expression "(code *)PTR_malloc_00045594" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_malloc_00045594"))) () ")")) (argument_list "(0x10)" (( "(") (number_literal "0x10") () ")")))) (; ";")) (expression_statement "*(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;" (assignment_expression "*(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4" (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c60)" (* "*") (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" (( "(") (binary_expression "PTR_DAT_00045118 + 0x5c60" (identifier "PTR_DAT_00045118") (+ "+") (number_literal "0x5c60")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (iVar4 != 0) {\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)(iVar4 + 8) = 2000000000;\n          *(undefined1 *)(iVar4 + 0xc) = 0;\n          goto LAB_00026a28;\n        }" ({ "{") (expression_statement "*(undefined4 *)(iVar4 + 8) = 2000000000;" (assignment_expression "*(undefined4 *)(iVar4 + 8) = 2000000000" (pointer_expression "*(undefined4 *)(iVar4 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "2000000000")) (; ";")) (expression_statement "*(undefined1 *)(iVar4 + 0xc) = 0;" (assignment_expression "*(undefined1 *)(iVar4 + 0xc) = 0" (pointer_expression "*(undefined1 *)(iVar4 + 0xc)" (* "*") (cast_expression "(undefined1 *)(iVar4 + 0xc)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00026a28;" (goto "goto") (statement_identifier "LAB_00026a28") (; ";")) (} "}"))) (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" (* "*") (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" (( "(") (binary_expression "PTR_DAT_00045118 + 0x5c64" (identifier "PTR_DAT_00045118") (+ "+") (number_literal "0x5c64")) () ")"))))) (; ";")) (labeled_statement "LAB_00026e84:\n        local_ec = *param_3;" (statement_identifier "LAB_00026e84") (: ":") (expression_statement "local_ec = *param_3;" (assignment_expression "local_ec = *param_3" (identifier "local_ec") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";"))) (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" (identifier "local_f0") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5 = &local_f0;" (assignment_expression "puVar5 = &local_f0" (identifier "puVar5") (= "=") (pointer_expression "&local_f0" (& "&") (identifier "local_f0"))) (; ";")) (expression_statement "puVar2 = (uint *)hash_lookup(iVar15,puVar5);" (assignment_expression "puVar2 = (uint *)hash_lookup(iVar15,puVar5)" (identifier "puVar2") (= "=") (cast_expression "(uint *)hash_lookup(iVar15,puVar5)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "hash_lookup(iVar15,puVar5)" (identifier "hash_lookup") (argument_list "(iVar15,puVar5)" (( "(") (identifier "iVar15") (, ",") (identifier "puVar5") () ")"))))) (; ";")) (if_statement "if (puVar2 == (uint *)0x0) goto LAB_00026b00;" (if "if") (parenthesized_expression "(puVar2 == (uint *)0x0)" (( "(") (binary_expression "puVar2 == (uint *)0x0" (identifier "puVar2") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00026b00;" (goto "goto") (statement_identifier "LAB_00026b00") (; ";"))) (} "}")) (else_clause "else {\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" (else "else") (compound_statement "{\nLAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);\n        puVar5[1] = *param_3;\n        *puVar5 = 0;\n        puVar2 = (uint *)hash_insert(iVar15);\n        if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }\n        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }\n      }" ({ "{") (labeled_statement "LAB_00026a28:\n        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);" (statement_identifier "LAB_00026a28") (: ":") (expression_statement "puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);" (assignment_expression "puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60)" (identifier "puVar5") (= "=") (pointer_expression "*(uint **)(PTR_DAT_00045118 + 0x5c60)" (* "*") (cast_expression "(uint **)(PTR_DAT_00045118 + 0x5c60)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" (( "(") (binary_expression "PTR_DAT_00045118 + 0x5c60" (identifier "PTR_DAT_00045118") (+ "+") (number_literal "0x5c60")) () ")"))))) (; ";"))) (expression_statement "puVar5[1] = *param_3;" (assignment_expression "puVar5[1] = *param_3" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2 = (uint *)hash_insert(iVar15);" (assignment_expression "puVar2 = (uint *)hash_insert(iVar15)" (identifier "puVar2") (= "=") (cast_expression "(uint *)hash_insert(iVar15)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "hash_insert(iVar15)" (identifier "hash_insert") (argument_list "(iVar15)" (( "(") (identifier "iVar15") () ")"))))) (; ";")) (if_statement "if (puVar2 == (uint *)0x0) {\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }" (if "if") (parenthesized_expression "(puVar2 == (uint *)0x0)" (( "(") (binary_expression "puVar2 == (uint *)0x0" (identifier "puVar2") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);\n          if (iVar15 == 0) goto LAB_00026b00;\n          goto LAB_00026e84;\n        }" ({ "{") (expression_statement "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);" (assignment_expression "iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(PTR_DAT_00045118 + 0x5c64)" (* "*") (cast_expression "(int *)(PTR_DAT_00045118 + 0x5c64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00045118 + 0x5c64)" (( "(") (binary_expression "PTR_DAT_00045118 + 0x5c64" (identifier "PTR_DAT_00045118") (+ "+") (number_literal "0x5c64")) () ")"))))) (; ";")) (if_statement "if (iVar15 == 0) goto LAB_00026b00;" (if "if") (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00026b00;" (goto "goto") (statement_identifier "LAB_00026b00") (; ";"))) (goto_statement "goto LAB_00026e84;" (goto "goto") (statement_identifier "LAB_00026e84") (; ";")) (} "}"))) (if_statement "if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }" (if "if") (parenthesized_expression "(*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2)" (( "(") (binary_expression "*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2" (pointer_expression "*(uint **)(PTR_DAT_00045118 + 0x5c60)" (* "*") (cast_expression "(uint **)(PTR_DAT_00045118 + 0x5c60)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" (( "(") (binary_expression "PTR_DAT_00045118 + 0x5c60" (identifier "PTR_DAT_00045118") (+ "+") (number_literal "0x5c60")) () ")")))) (== "==") (identifier "puVar2")) () ")")) (compound_statement "{\n          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;\n        }" ({ "{") (expression_statement "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_00045118 + 0x5c60)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_00045118 + 0x5c60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_00045118 + 0x5c60)" (( "(") (binary_expression "PTR_DAT_00045118 + 0x5c60" (identifier "PTR_DAT_00045118") (+ "+") (number_literal "0x5c60")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}"))))) (expression_statement "uVar7 = puVar2[2];" (assignment_expression "uVar7 = puVar2[2]" (identifier "uVar7") (= "=") (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;" (if "if") (parenthesized_expression "(*(char *)(puVar2 + 3) == '\0')" (( "(") (binary_expression "*(char *)(puVar2 + 3) == '\0'" (pointer_expression "*(char *)(puVar2 + 3)" (* "*") (cast_expression "(char *)(puVar2 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 3)" (( "(") (binary_expression "puVar2 + 3" (identifier "puVar2") (+ "+") (number_literal "3")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00026b10;" (goto "goto") (statement_identifier "LAB_00026b10") (; ";"))) (} "}")))) (expression_statement "uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);" (assignment_expression "uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000)" (identifier "uVar10") (= "=") (binary_expression "uVar10 & ~(uint)(uVar7 == 2000000000)" (identifier "uVar10") (& "&") (unary_expression "~(uint)(uVar7 == 2000000000)" (~ "~") (call_expression "(uint)(uVar7 == 2000000000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 == 2000000000)" (( "(") (binary_expression "uVar7 == 2000000000" (identifier "uVar7") (== "==") (number_literal "2000000000")) () ")")))))) (; ";")) (if_statement "if (uVar7 == 0) {\n      trap(7);\n    }" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      trap(7);\n    }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar12 = uVar12 - (int)uVar12 % (int)uVar7;" (assignment_expression "uVar12 = uVar12 - (int)uVar12 % (int)uVar7" (identifier "uVar12") (= "=") (binary_expression "uVar12 - (int)uVar12 % (int)uVar7" (identifier "uVar12") (- "-") (binary_expression "(int)uVar12 % (int)uVar7" (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12")) (% "%") (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7"))))) (; ";")) (} "}"))) (expression_statement "param_3 = puVar6;" (assignment_expression "param_3 = puVar6" (identifier "param_3") (= "=") (identifier "puVar6")) (; ";")) (if_statement "if ((int)uVar11 < (int)uVar10) {\n    param_5 = 0xffffffff;\n  }\n  else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }" (if "if") (parenthesized_expression "((int)uVar11 < (int)uVar10)" (( "(") (binary_expression "(int)uVar11 < (int)uVar10" (cast_expression "(int)uVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar11")) (< "<") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) () ")")) (compound_statement "{\n    param_5 = 0xffffffff;\n  }" ({ "{") (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" (identifier "param_5") (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")) (else_clause "else if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }" (else "else") (if_statement "if (uVar10 == uVar11) {\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }\n  else {\n    param_5 = 1;\n  }" (if "if") (parenthesized_expression "(uVar10 == uVar11)" (( "(") (binary_expression "uVar10 == uVar11" (identifier "uVar10") (== "==") (identifier "uVar11")) () ")")) (compound_statement "{\n    if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }\n  }" ({ "{") (if_statement "if ((int)uVar13 < (int)uVar12) {\n      param_5 = 0xffffffff;\n    }\n    else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }" (if "if") (parenthesized_expression "((int)uVar13 < (int)uVar12)" (( "(") (binary_expression "(int)uVar13 < (int)uVar12" (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13")) (< "<") (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12"))) () ")")) (compound_statement "{\n      param_5 = 0xffffffff;\n    }" ({ "{") (expression_statement "param_5 = 0xffffffff;" (assignment_expression "param_5 = 0xffffffff" (identifier "param_5") (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")) (else_clause "else {\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }" (else "else") (compound_statement "{\n      param_5 = (uint)((int)uVar12 < (int)uVar13);\n    }" ({ "{") (expression_statement "param_5 = (uint)((int)uVar12 < (int)uVar13);" (assignment_expression "param_5 = (uint)((int)uVar12 < (int)uVar13)" (identifier "param_5") (= "=") (call_expression "(uint)((int)uVar12 < (int)uVar13)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)uVar12 < (int)uVar13)" (( "(") (binary_expression "(int)uVar12 < (int)uVar13" (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12")) (< "<") (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13"))) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    param_5 = 1;\n  }" (else "else") (compound_statement "{\n    param_5 = 1;\n  }" ({ "{") (expression_statement "param_5 = 1;" (assignment_expression "param_5 = 1" (identifier "param_5") (= "=") (number_literal "1")) (; ";")) (} "}")))))) (labeled_statement "LAB_00027074:\n  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }" (statement_identifier "LAB_00027074") (: ":") (if_statement "if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }" (if "if") (parenthesized_expression "(local_2c != *(int *)PTR___stack_chk_guard_00045630)" (( "(") (binary_expression "local_2c != *(int *)PTR___stack_chk_guard_00045630" (identifier "local_2c") (!= "!=") (pointer_expression "*(int *)PTR___stack_chk_guard_00045630" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00045630" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00045630")))) () ")")) (compound_statement "{\n    iVar15 = local_2c;\n    (*(code *)PTR___stack_chk_fail_00045600)();\n    uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);\n    return uVar10;\n  }" ({ "{") (expression_statement "iVar15 = local_2c;" (assignment_expression "iVar15 = local_2c" (identifier "iVar15") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00045600)();" (call_expression "(*(code *)PTR___stack_chk_fail_00045600)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00045600)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00045600" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00045600" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00045600"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4);" (assignment_expression "uVar10 = utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4)" (identifier "uVar10") (= "=") (call_expression "utimecmpat(0xffffff9c,iVar15,puVar5,param_3,param_4)" (identifier "utimecmpat") (argument_list "(0xffffff9c,iVar15,puVar5,param_3,param_4)" (( "(") (number_literal "0xffffff9c") (, ",") (identifier "iVar15") (, ",") (identifier "puVar5") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (; ";")) (return_statement "return uVar10;" (return "return") (identifier "uVar10") (; ";")) (} "}")))) (return_statement "return param_5;" (return "return") (identifier "param_5") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) 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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (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: (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: (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: (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: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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: (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: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (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: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (binary_expression left: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (number_literal)))) right: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) right: (number_literal))) right: (number_literal))) consequence: (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))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (labeled_statement label: (statement_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: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (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: (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: (pointer_expression argument: (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))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier) (number_literal))))) (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: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))) right: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) consequence: (break_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))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) 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: (identifier) arguments: (argument_list (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 (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (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))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (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 (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier) (identifier))))) (return_statement (identifier))))) (return_statement (identifier)))))

uint MASKED(undefined4 param_1,uint *param_2,uint *param_3,undefined *param_4,uint param_5)

{
  uint uVar1;
  uint *puVar2;
  int iVar3;
  int iVar4;
  uint *puVar5;
  uint *puVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  int iVar15;
  uint local_f0;
  uint local_ec;
  undefined4 local_e8;
  undefined1 local_e4;
  uint local_e0;
  uint local_dc;
  uint local_d8;
  uint local_d4;
  undefined1 auStack_d0 [72];
  uint local_88;
  uint local_84;
  int local_2c;
  
  local_2c = *(int *)PTR___stack_chk_guard_00045630;
  uVar11 = param_3[0x12];
  uVar10 = *(uint *)(param_4 + 0x48);
  uVar13 = param_3[0x13];
  param_5 = param_5 & 1;
  uVar12 = *(uint *)(param_4 + 0x4c);
  puVar5 = param_2;
  puVar6 = param_3;
  if (param_5 != 0) {
    if (uVar11 == uVar10) {
      if (uVar12 == uVar13) {
        param_5 = 0;
        goto LAB_00027074;
      }
      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);
    }
    else {
      if ((int)uVar11 < (int)(uVar10 - 1)) {
        param_5 = 0xffffffff;
        goto LAB_00027074;
      }
      if ((int)uVar10 < (int)(uVar11 - 1)) goto LAB_00027074;
      iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);
    }
    if (iVar15 == 0) {
      param_4 = PTR_LAB_0004521c + 0x6948;
      puVar6 = (uint *)(PTR_LAB_0004521c + 0x6900);
      iVar15 = hash_initialize(0x10,0,puVar6,param_4,PTR_free_0004563c);
      *(int *)(PTR_DAT_00045118 + 0x5c64) = iVar15;
      if (iVar15 != 0) goto LAB_00026a18;
LAB_00026b00:
      uVar7 = 2000000000;
      local_e8 = 2000000000;
      local_e4 = 0;
      puVar2 = &local_f0;
LAB_00026b10:
      uVar8 = param_3[0x11];
      puVar6 = (uint *)param_3[0x15];
      puVar5 = (uint *)((int)puVar6 / 10);
      uVar1 = param_5;
      if (((int)uVar8 % 10 == 0 && (int)puVar6 % 10 == 0) && (int)uVar13 % 10 == 0) {
        uVar9 = param_3[0x10];
        iVar15 = (int)uVar8 / 10;
        puVar5 = (uint *)((int)puVar6 / 10);
        iVar4 = (int)uVar13 / 10;
        if ((int)uVar7 < 0xb) {
          uVar14 = 10;
          puVar6 = (uint *)((int)puVar6 >> 0x1f);
        }
        else {
          puVar6 = (uint *)(iVar15 % 10 | (int)puVar5 % 10);
          param_4 = (undefined *)((iVar4 / 10) * 4);
          if (puVar6 == (uint *)0x0 && iVar4 % 10 == 0) {
            uVar14 = 10;
            param_4 = (undefined *)0x66666667;
            iVar3 = 0x28;
            do {
              iVar3 = iVar3 + uVar14;
              uVar14 = iVar3 * 2;
              iVar15 = iVar15 / 10;
              puVar5 = (uint *)((int)puVar5 / 10);
              puVar6 = (uint *)(iVar4 / 10 + (iVar4 >> 0x1f));
              iVar4 = (int)puVar6 - (iVar4 >> 0x1f);
              if ((int)uVar7 <= (int)uVar14) {
                puVar2[2] = uVar14;
                goto LAB_00026d7c;
              }
              puVar6 = (uint *)(iVar4 % 10);
              if ((iVar15 % 10 != 0 || (int)puVar5 % 10 != 0) || puVar6 != (uint *)0x0) {
                puVar2[2] = uVar14;
                uVar1 = uVar14;
                if ((int)uVar14 < 2) goto LAB_00026ec8;
                goto LAB_00026d7c;
              }
              iVar3 = iVar3 * 8;
            } while (uVar14 != 1000000000);
            if (((uVar11 | uVar9 | param_3[0x14]) & 1) == 0) {
              uVar14 = 2000000000;
            }
          }
          else {
            uVar14 = 10;
          }
        }
        puVar2[2] = uVar14;
LAB_00026d7c:
        param_3 = puVar6;
        if (((int)uVar10 < (int)uVar11) || ((uVar11 == uVar10 && ((int)uVar12 <= (int)uVar13))))
        goto LAB_00027074;
        uVar7 = ~(uint)(uVar14 == 2000000000) & uVar10;
        if ((int)uVar11 < (int)uVar7) {
          param_5 = 0xffffffff;
          goto LAB_00027074;
        }
        if (uVar11 == uVar7) {
          if (uVar14 == 0) {
            trap(7);
          }
          if ((int)uVar13 < (int)(uVar12 - (int)uVar12 % (int)uVar14)) {
            param_5 = 0xffffffff;
            goto LAB_00027074;
          }
        }
        local_d8 = uVar14 == 2000000000 | uVar11;
        local_d4 = (int)uVar14 / 9 + uVar13;
        param_4 = (undefined *)0x100;
        param_3 = &local_e0;
        puVar5 = param_2;
        local_e0 = uVar9;
        local_dc = uVar8;
        iVar15 = (*(code *)PTR_utimensat_00045680)(param_1,param_2,param_3);
        if (iVar15 != 0) {
          param_5 = 0xfffffffe;
          goto LAB_00027074;
        }
        puVar6 = param_2;
        iVar15 = (*(code *)PTR___fxstatat64_000455e0)(3,param_1,param_2,auStack_d0,0x100);
        param_4 = (undefined *)0x100;
        if ((uVar11 != local_88 || uVar13 != local_84) || iVar15 != 0) {
          puVar6 = &local_e0;
          local_d8 = uVar11;
          local_d4 = uVar13;
          (*(code *)PTR_utimensat_00045680)(param_1,param_2,puVar6);
          if (iVar15 != 0) {
            param_5 = 0xfffffffe;
            puVar5 = param_2;
            param_3 = puVar6;
            goto LAB_00027074;
          }
        }
        puVar5 = (uint *)((local_88 & 1) * 1000000000);
        iVar15 = (int)puVar5 + local_84;
        uVar1 = param_5;
        if ((iVar15 == (iVar15 / 10) * 10) &&
           (puVar5 = (uint *)0x66660000, uVar1 = uVar14, uVar14 != 10)) {
          uVar7 = 10;
          puVar5 = (uint *)0x66666667;
          puVar6 = (uint *)0x3b9aca00;
          iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);
          do {
            iVar15 = (iVar4 >> 2) - (iVar15 >> 0x1f);
            iVar4 = (int)((ulonglong)((longlong)iVar15 * 0x66666667) >> 0x20);
            uVar1 = uVar7;
            if (iVar15 != (iVar15 / 10) * 10) break;
            if (uVar7 == 1000000000) {
              uVar1 = 2000000000;
              break;
            }
            uVar7 = uVar7 * 10;
            uVar1 = uVar14;
          } while (uVar7 != uVar14);
        }
      }
LAB_00026ec8:
      uVar7 = uVar1;
      puVar2[2] = uVar7;
      *(undefined1 *)(puVar2 + 3) = 1;
    }
    else {
LAB_00026a18:
      if (*(int *)(PTR_DAT_00045118 + 0x5c60) == 0) {
        iVar4 = (*(code *)PTR_malloc_00045594)(0x10);
        *(int *)(PTR_DAT_00045118 + 0x5c60) = iVar4;
        if (iVar4 != 0) {
          *(undefined4 *)(iVar4 + 8) = 2000000000;
          *(undefined1 *)(iVar4 + 0xc) = 0;
          goto LAB_00026a28;
        }
        iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);
LAB_00026e84:
        local_ec = *param_3;
        local_f0 = 0;
        puVar5 = &local_f0;
        puVar2 = (uint *)hash_lookup(iVar15,puVar5);
        if (puVar2 == (uint *)0x0) goto LAB_00026b00;
      }
      else {
LAB_00026a28:
        puVar5 = *(uint **)(PTR_DAT_00045118 + 0x5c60);
        puVar5[1] = *param_3;
        *puVar5 = 0;
        puVar2 = (uint *)hash_insert(iVar15);
        if (puVar2 == (uint *)0x0) {
          iVar15 = *(int *)(PTR_DAT_00045118 + 0x5c64);
          if (iVar15 == 0) goto LAB_00026b00;
          goto LAB_00026e84;
        }
        if (*(uint **)(PTR_DAT_00045118 + 0x5c60) == puVar2) {
          *(undefined4 *)(PTR_DAT_00045118 + 0x5c60) = 0;
        }
      }
      uVar7 = puVar2[2];
      if (*(char *)(puVar2 + 3) == '\0') goto LAB_00026b10;
    }
    uVar10 = uVar10 & ~(uint)(uVar7 == 2000000000);
    if (uVar7 == 0) {
      trap(7);
    }
    uVar12 = uVar12 - (int)uVar12 % (int)uVar7;
  }
  param_3 = puVar6;
  if ((int)uVar11 < (int)uVar10) {
    param_5 = 0xffffffff;
  }
  else if (uVar10 == uVar11) {
    if ((int)uVar13 < (int)uVar12) {
      param_5 = 0xffffffff;
    }
    else {
      param_5 = (uint)((int)uVar12 < (int)uVar13);
    }
  }
  else {
    param_5 = 1;
  }
LAB_00027074:
  if (local_2c != *(int *)PTR___stack_chk_guard_00045630) {
    iVar15 = local_2c;
    (*(code *)PTR___stack_chk_fail_00045600)();
    uVar10 = MASKED(0xffffff9c,iVar15,puVar5,param_3,param_4);
    return uVar10;
  }
  return param_5;
}

