
char * rpl_getcwd(char *buf,size_t size)

{
  bool bVar1;
  undefined *puVar2;
  ulong uVar3;
  ulong uVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  char *pcVar8;
  int iVar9;
  int iVar10;
  char *pcVar11;
  int iVar12;
  int *piVar13;
  int *piVar14;
  char *pcVar15;
  char *pcVar16;
  int iVar17;
  undefined4 *puVar18;
  char *pcVar19;
  char *pcVar20;
  char *pcVar21;
  undefined4 uVar22;
  char *pcVar23;
  char *pcVar24;
  char *pcVar25;
  undefined *puVar26;
  code *pcVar27;
  char *local_108;
  ulong local_104;
  char *local_100;
  int local_fc;
  char *local_f8;
  char *local_e0;
  stat st;
  
  puVar26 = PTR___stack_chk_guard_00033430;
  pcVar8 = *(char **)PTR___stack_chk_guard_00033430;
  if (size == 0) {
    if (buf != (char *)0x0) {
      puVar18 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();
      local_108 = (char *)0x0;
      *puVar18 = 0x16;
      local_e0 = (char *)size;
      pcVar21 = local_108;
      goto LAB_0001e2bc;
    }
    local_f8 = (char *)0x1000;
LAB_0001dee8:
    local_e0 = (char *)size;
    local_108 = (char *)(*(code *)PTR_malloc_000333c4)(local_f8);
    pcVar21 = local_108;
    if (local_108 == (char *)0x0) goto LAB_0001e2bc;
  }
  else {
    local_108 = buf;
    local_f8 = (char *)size;
    if (buf == (char *)0x0) goto LAB_0001dee8;
  }
  puVar2 = PTR___lxstat64_000332f0;
  pcVar21 = local_108 + (int)local_f8;
  pcVar20 = PTR_LAB_00033108 + 0x1bd0;
  pcVar21[-1] = '\0';
  iVar9 = (*(code *)puVar2)(3,pcVar20,&st);
  iVar17 = st.st_ino._0_4_;
  if (-1 < iVar9) {
    local_104 = st.st_dev;
    pcVar20 = PTR_LAB_00033108 + 0x1af8;
    local_fc = st.st_ino._4_4_;
    iVar10 = (*(code *)PTR___lxstat64_000332f0)(3,pcVar20,&st);
    iVar6 = st.st_ino._4_4_;
    iVar9 = st.st_ino._0_4_;
    uVar3 = st.st_dev;
    if (-1 < iVar10) {
      iVar10 = 0;
      pcVar25 = (char *)0xffffff9c;
      pcVar11 = PTR_LAB_00033108 + 0x2900;
      do {
        local_e0 = pcVar21 + -1;
        if (((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)) {
          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))
          break;
          if (local_e0 == local_108 + (int)(local_f8 + -1)) {
            local_e0 = pcVar21 + -2;
            *local_e0 = '/';
          }
          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;
          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);
          local_100 = buf;
          if (size == 0) {
            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);
            local_e0 = pcVar21;
          }
          pcVar21 = local_100;
          if (local_100 == (char *)0x0) {
            pcVar21 = local_108;
          }
          goto LAB_0001e2bc;
        }
        pcVar21 = pcVar11;
        pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);
        if ((int)pcVar25 < 0) {
          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();
          iVar12 = *piVar13;
          if (iVar10 != 0) goto LAB_0001e298;
          goto joined_r0x0001e37c;
        }
        pcVar21 = pcVar25;
        iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st);
        if (iVar12 != 0) {
          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();
          iVar12 = *piVar13;
          if (iVar10 != 0) {
            (*(code *)PTR_closedir_000332e4)(iVar10);
          }
LAB_0001e36c:
          (*(code *)PTR_close_000332e8)(pcVar25);
          goto joined_r0x0001e37c;
        }
        if ((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)) {
          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();
LAB_0001e368:
          iVar12 = *piVar13;
          goto LAB_0001e36c;
        }
        iVar7 = st.st_ino._4_4_;
        iVar5 = st.st_ino._0_4_;
        uVar4 = st.st_dev;
        iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25);
        piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();
        if (iVar10 == 0) goto LAB_0001e368;
        bVar1 = true;
LAB_0001e078:
        do {
          do {
            puVar2 = PTR_readdir64_00033324;
            *piVar13 = 0;
            piVar14 = (int *)(*(code *)puVar2)(iVar10);
            if (piVar14 == (int *)0x0) {
              iVar12 = *piVar13;
              if (iVar12 != 0) goto LAB_0001e298;
              if (bVar1) {
                (*(code *)PTR_rewinddir_000332d0)(iVar10);
                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);
                if (piVar14 != (int *)0x0) {
                  bVar1 = false;
                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;
                  break;
                }
                iVar12 = *piVar13;
                if (iVar12 != 0) goto LAB_0001e298;
              }
              iVar12 = 2;
              *piVar13 = 2;
              goto LAB_0001e298;
            }
            if (*(char *)((int)piVar14 + 0x13) == '.') {
LAB_0001e240:
              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))
              goto LAB_0001e078;
            }
          } while ((bVar1) &&
                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));
          pcVar20 = (char *)((int)piVar14 + 0x13);
          pcVar21 = pcVar25;
          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);
        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))
                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));
        pcVar24 = local_e0 + -(int)local_108;
        pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20);
        if (pcVar24 <= pcVar15) {
          if (size != 0) {
            iVar12 = 0x22;
            *piVar13 = 0x22;
            goto LAB_0001e298;
          }
          pcVar19 = local_f8;
          if (local_f8 < pcVar15) {
            pcVar19 = pcVar15;
          }
          pcVar23 = pcVar19 + (int)local_f8;
          if ((pcVar23 < local_f8) ||
             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),
             pcVar16 == (char *)0x0)) goto LAB_0001e498;
          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)
                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),
                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);
          local_108 = pcVar16;
          local_f8 = pcVar23;
        }
        pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)
                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15);
        pcVar21[-1] = '/';
        local_fc = iVar7;
        local_104 = uVar4;
        iVar17 = iVar5;
      } while( true );
    }
  }
  piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();
  iVar12 = *piVar13;
  pcVar21 = pcVar20;
  goto joined_r0x0001e37c;
LAB_0001e498:
  iVar12 = 0xc;
  *piVar13 = 0xc;
LAB_0001e298:
  (*(code *)PTR_closedir_000332e4)(iVar10);
joined_r0x0001e37c:
  if (buf == (char *)0x0) {
    (*(code *)PTR_free_00033438)(local_108);
  }
  *piVar13 = iVar12;
  local_108 = (char *)0x0;
  local_e0 = pcVar21;
  pcVar21 = local_108;
LAB_0001e2bc:
  local_108 = pcVar21;
  if (pcVar8 != *(char **)puVar26) {
    puVar26 = PTR___stack_chk_fail_00033414;
    (*(code *)PTR___stack_chk_fail_00033414)();
    if (pcVar8 == (char *)0x0) {
      pcVar8 = (char *)0xffffffff;
      puVar18 = (undefined4 *)(**(code **)(puVar26 + 0x14ea8))();
      *puVar18 = 0x7a;
    }
    else if (pcVar8 == (char *)0xa) {
      uVar22 = *(undefined4 *)local_e0;
      iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940);
      if (iVar17 == 0) {
        pcVar8 = (char *)0xffffffff;
        (**(code **)(puVar26 + 0x14e58))(uVar22);
        pcVar27 = *(code **)(puVar26 + 0x14ea8);
        local_e0[0] = '\0';
        local_e0[1] = '\0';
        local_e0[2] = '\0';
        local_e0[3] = '\0';
        puVar18 = (undefined4 *)(*pcVar27)();
        *puVar18 = 0x3d;
      }
    }
    return pcVar8;
  }
  return local_108;
}



int rpl_getcwd(int param_1,undefined4 *param_2)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  undefined4 *puVar10;
  int *piVar11;
  int *piVar12;
  undefined4 *puVar13;
  int iVar14;
  undefined4 *puVar15;
  undefined4 *puVar16;
  undefined4 *puVar17;
  int iVar18;
  undefined4 uVar19;
  undefined4 *puVar20;
  undefined4 *puVar21;
  undefined4 *puVar22;
  undefined *puVar23;
  code *pcVar24;
  int local_108;
  int local_104;
  int local_100;
  int local_fc;
  undefined4 *local_f8;
  undefined4 *local_e0;
  int local_d0 [4];
  int local_c0;
  int local_bc;
  uint local_b8;
  int local_2c;
  
  puVar23 = PTR___stack_chk_guard_00033430;
  local_2c = *(int *)PTR___stack_chk_guard_00033430;
  if (param_2 == (undefined4 *)0x0) {
    if (param_1 != 0) {
      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();
      local_108 = 0;
      *puVar15 = 0x16;
      local_e0 = param_2;
      iVar18 = local_108;
      goto LAB_0001e2bc;
    }
    local_f8 = (undefined4 *)0x1000;
LAB_0001dee8:
    local_e0 = param_2;
    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);
    iVar18 = local_108;
    if (local_108 == 0) goto LAB_0001e2bc;
  }
  else {
    local_108 = param_1;
    local_f8 = param_2;
    if (param_1 == 0) goto LAB_0001dee8;
  }
  puVar2 = PTR___lxstat64_000332f0;
  iVar18 = local_108 + (int)local_f8;
  puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);
  *(undefined1 *)(iVar18 + -1) = 0;
  iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);
  iVar14 = local_c0;
  if (-1 < iVar8) {
    local_104 = local_d0[0];
    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);
    local_fc = local_bc;
    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);
    iVar6 = local_bc;
    iVar4 = local_c0;
    iVar8 = local_d0[0];
    if (-1 < iVar9) {
      iVar9 = 0;
      puVar22 = (undefined4 *)0xffffff9c;
      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);
      do {
        local_e0 = (undefined4 *)(iVar18 + -1);
        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {
          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))
          break;
          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {
            local_e0 = (undefined4 *)(iVar18 + -2);
            *(undefined1 *)local_e0 = 0x2f;
          }
          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));
          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);
          local_100 = param_1;
          if (param_2 == (undefined4 *)0x0) {
            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);
            local_e0 = local_f8;
          }
          iVar18 = local_100;
          if (local_100 == 0) {
            iVar18 = local_108;
          }
          goto LAB_0001e2bc;
        }
        puVar17 = puVar10;
        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);
        if ((int)puVar22 < 0) {
          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();
          iVar18 = *piVar11;
          if (iVar9 != 0) goto LAB_0001e298;
          goto joined_r0x0001e37c;
        }
        puVar17 = puVar22;
        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);
        if (iVar18 != 0) {
          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();
          iVar18 = *piVar11;
          if (iVar9 != 0) {
            (*(code *)PTR_closedir_000332e4)(iVar9);
          }
LAB_0001e36c:
          (*(code *)PTR_close_000332e8)(puVar22);
          goto joined_r0x0001e37c;
        }
        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {
          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();
LAB_0001e368:
          iVar18 = *piVar11;
          goto LAB_0001e36c;
        }
        iVar7 = local_bc;
        iVar5 = local_c0;
        iVar3 = local_d0[0];
        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);
        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();
        if (iVar9 == 0) goto LAB_0001e368;
        bVar1 = true;
LAB_0001e078:
        do {
          do {
            puVar2 = PTR_readdir64_00033324;
            *piVar11 = 0;
            piVar12 = (int *)(*(code *)puVar2)(iVar9);
            if (piVar12 == (int *)0x0) {
              iVar18 = *piVar11;
              if (iVar18 != 0) goto LAB_0001e298;
              if (bVar1) {
                (*(code *)PTR_rewinddir_000332d0)(iVar9);
                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);
                if (piVar12 != (int *)0x0) {
                  bVar1 = false;
                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;
                  break;
                }
                iVar18 = *piVar11;
                if (iVar18 != 0) goto LAB_0001e298;
              }
              iVar18 = 2;
              *piVar11 = 2;
              goto LAB_0001e298;
            }
            if (*(char *)((int)piVar12 + 0x13) == '.') {
LAB_0001e240:
              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))
              goto LAB_0001e078;
            }
          } while ((bVar1) &&
                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));
          puVar15 = (undefined4 *)((int)piVar12 + 0x13);
          puVar17 = puVar22;
          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);
        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))
                || ((local_c0 != iVar14 || (local_bc != local_fc))));
        puVar21 = (undefined4 *)((int)local_e0 - local_108);
        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);
        if (puVar21 <= puVar13) {
          if (param_2 != (undefined4 *)0x0) {
            iVar18 = 0x22;
            *piVar11 = 0x22;
            goto LAB_0001e298;
          }
          puVar16 = local_f8;
          if (local_f8 < puVar13) {
            puVar16 = puVar13;
          }
          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);
          if ((puVar20 < local_f8) ||
             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))
          goto LAB_0001e498;
          local_e0 = (undefined4 *)
                     (*(code *)PTR_memcpy_00033434)
                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,
                                (int)local_f8 - (int)puVar21);
          local_108 = iVar18;
          local_f8 = puVar20;
        }
        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);
        *(undefined1 *)(iVar18 + -1) = 0x2f;
        local_fc = iVar7;
        local_104 = iVar3;
        iVar14 = iVar5;
      } while( true );
    }
  }
  piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();
  iVar18 = *piVar11;
  puVar17 = puVar15;
  goto joined_r0x0001e37c;
LAB_0001e498:
  iVar18 = 0xc;
  *piVar11 = 0xc;
LAB_0001e298:
  (*(code *)PTR_closedir_000332e4)(iVar9);
joined_r0x0001e37c:
  if (param_1 == 0) {
    (*(code *)PTR_free_00033438)(local_108);
  }
  *piVar11 = iVar18;
  local_108 = 0;
  local_e0 = puVar17;
  iVar18 = local_108;
LAB_0001e2bc:
  local_108 = iVar18;
  if (local_2c != *(int *)puVar23) {
    iVar18 = local_2c;
    puVar23 = PTR___stack_chk_fail_00033414;
    (*(code *)PTR___stack_chk_fail_00033414)();
    if (iVar18 == 0) {
      iVar18 = -1;
      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();
      *puVar15 = 0x7a;
    }
    else if (iVar18 == 10) {
      uVar19 = *local_e0;
      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);
      if (iVar14 == 0) {
        iVar18 = -1;
        (**(code **)(puVar23 + 0x14e58))(uVar19);
        pcVar24 = *(code **)(puVar23 + 0x14ea8);
        *local_e0 = 0;
        puVar15 = (undefined4 *)(*pcVar24)();
        *puVar15 = 0x3d;
      }
    }
    return iVar18;
  }
  return local_108;
}


lui gp,0x2
addiu gp,gp,-0x2db0
addu gp,gp,t9
lw v0,-0x7ca0(gp)
addiu sp,sp,-0x128
sw v0,0x34(sp)
sw gp,0x18(sp)
sw ra,0x124(sp)
sw s8,0x120(sp)
sw s7,0x11c(sp)
sw s6,0x118(sp)
sw s5,0x114(sp)
sw s4,0x110(sp)
sw s3,0x10c(sp)
sw s2,0x108(sp)
sw s1,0x104(sp)
sw s0,0x100(sp)
sw a1,0x12c(sp)
sw a0,0x28(sp)
lw v0,0x0(v0)
sw v0,0xfc(sp)
bne a1,zero,0x0001df08
_lw v0,0x28(sp)
bne a0,zero,0x0001e324
_li v0,0x1000
sw v0,0x30(sp)
lw t9,-0x7d0c(gp)
jalr t9
_lw a0,0x30(sp)
lw gp,0x18(sp)
bne v0,zero,0x0001df1c
_sw v0,0x20(sp)
b 0x0001e2bc
_lw v1,0x34(sp)
beq v0,zero,0x0001e4b8
_lw v0,0x12c(sp)
sw v0,0x30(sp)
lw v0,0x28(sp)
sw v0,0x20(sp)
lw v0,0x20(sp)
addiu s7,sp,0x58
lw v1,0x30(sp)
li a0,0x3
lw a1,-0x7fc8(gp)
or a2,s7,zero
lw t9,-0x7de0(gp)
addu s0,v0,v1
addiu a1,a1,0x1bd0
jalr t9
_sb zero,-0x1(s0)
bltz v0,0x0001e2fc
_lw gp,0x18(sp)
lw v0,0x58(sp)
li a0,0x3
lw a1,-0x7fc8(gp)
or a2,s7,zero
lw t9,-0x7de0(gp)
lw s8,0x68(sp)
sw v0,0x24(sp)
addiu a1,a1,0x1af8
lw v0,0x6c(sp)
jalr t9
_sw v0,0x2c(sp)
bltz v0,0x0001e2fc
_lw gp,0x18(sp)
addiu v0,s0,-0x1
or s1,zero,zero
sw v0,0x48(sp)
li s6,-0x64
lw v0,0x58(sp)
sw v0,0x3c(sp)
lw v0,0x68(sp)
sw v0,0x44(sp)
lw v0,0x6c(sp)
sw v0,0x4c(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,0x2900
sw v0,0x40(sp)
lw v0,0x24(sp)
lw v1,0x3c(sp)
bne v0,v1,0x0001dfd0
_lw v0,0x44(sp)
beq s8,v0,0x0001e38c
_lw v0,0x2c(sp)
lw t9,-0x7d2c(gp)
or a2,zero,zero
lw a1,0x40(sp)
jalr t9
_or a0,s6,zero
lw gp,0x18(sp)
bltz v0,0x0001e410
_or s6,v0,zero
lw t9,-0x7cdc(gp)
li a0,0x3
or a2,s7,zero
jalr t9
_or a1,v0,zero
bne v0,zero,0x0001e434
_lw gp,0x18(sp)
beq s1,zero,0x0001e024
_lw t9,-0x7dec(gp)
jalr t9
_or a0,s1,zero
bne v0,zero,0x0001e354
_lw gp,0x18(sp)
lw v0,0x58(sp)
or a0,s6,zero
lw t9,-0x7d94(gp)
sw v0,0x38(sp)
lw v0,0x68(sp)
sw v0,0x50(sp)
lw v0,0x6c(sp)
jalr t9
_sw v0,0x54(sp)
lw gp,0x18(sp)
lw t9,-0x7d58(gp)
jalr t9
_or s1,v0,zero
lw gp,0x18(sp)
beq s1,zero,0x0001e368
_or s2,v0,zero
li s3,0x1
li s5,0x100
li s4,0x2e
lw t9,-0x7dac(gp)
or a0,s1,zero
jalr t9
_sw zero,0x0(s2)
beq v0,zero,0x0001e200
_lw gp,0x18(sp)
lb v1,0x13(v0)
beq v1,s4,0x0001e240
_nop
beq s3,zero,0x0001e0bc
_lw t9,-0x7cd0(gp)
lw v1,0x0(v0)
beq v1,s8,0x0001e268
_lw a0,0x2c(sp)
lw v1,0x24(sp)
lw a0,0x38(sp)
beq v1,a0,0x0001e074
_lw t9,-0x7dac(gp)
lw t9,-0x7cd0(gp)
addiu s0,v0,0x13
li a0,0x3
sw s5,0x10(sp)
or a3,s7,zero
or a2,s0,zero
jalr t9
_or a1,s6,zero
bne v0,zero,0x0001e070
_lw gp,0x18(sp)
lw v0,0x70(sp)
li v1,0x4000
andi v0,v0,0xf000
bne v0,v1,0x0001e074
_lw t9,-0x7dac(gp)
lw v0,0x58(sp)
lw v1,0x24(sp)
bne v0,v1,0x0001e078
_or a0,s1,zero
lw v0,0x68(sp)
bne v0,s8,0x0001e074
_lw v0,0x6c(sp)
lw v1,0x2c(sp)
bne v0,v1,0x0001e074
_lw v0,0x48(sp)
or a0,s0,zero
lw v1,0x20(sp)
lw t9,-0x7d28(gp)
jalr t9
_subu s5,v0,v1
or s3,v0,zero
sltu v0,v0,s5
bne v0,zero,0x0001e1b4
_lw gp,0x18(sp)
lw v0,0x12c(sp)
bne v0,zero,0x0001e4a8
_lw v0,0x30(sp)
sltu s4,v0,s3
or v1,v0,zero
movn v1,s3,s4
addu s4,v1,v0
sltu v0,s4,v0
bne v0,zero,0x0001e498
_lw t9,-0x7d04(gp)
or a1,s4,zero
lw a0,0x20(sp)
jalr t9
_sw v1,0x24(sp)
lw gp,0x18(sp)
beq v0,zero,0x0001e498
_or s8,v0,zero
lw v1,0x24(sp)
addu a1,s8,s5
lw v0,0x30(sp)
lw t9,-0x7c9c(gp)
addu a0,v1,s5
subu a2,v0,s5
jalr t9
_addu a0,s8,a0
lw gp,0x18(sp)
sw s4,0x30(sp)
sw v0,0x48(sp)
sw s8,0x20(sp)
lw v0,0x48(sp)
or a2,s3,zero
lw t9,-0x7c9c(gp)
or a1,s0,zero
subu v1,v0,s3
jalr t9
_or a0,v1,zero
or v1,v0,zero
lw gp,0x18(sp)
addiu v0,v0,-0x1
lw s8,0x50(sp)
sw v0,0x48(sp)
li v0,0x2f
sb v0,-0x1(v1)
lw v0,0x54(sp)
sw v0,0x2c(sp)
lw v0,0x38(sp)
b 0x0001dfb8
_sw v0,0x24(sp)
lw s0,0x0(s2)
bne s0,zero,0x0001e298
_lw t9,-0x7dec(gp)
beq s3,zero,0x0001e288
_lw t9,-0x7e00(gp)
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
lw t9,-0x7dac(gp)
jalr t9
_or a0,s1,zero
beq v0,zero,0x0001e27c
_lw gp,0x18(sp)
lb v1,0x13(v0)
bne v1,s4,0x0001e0b8
_or s3,zero,zero
lb v1,0x14(v0)
beq v1,zero,0x0001e070
_lui a0,0xffff
lw v1,0x14(v0)
and v1,v1,a0
lui a0,0x2e00
bne v1,a0,0x0001e094
_lw t9,-0x7dac(gp)
b 0x0001e078
_or a0,s1,zero
lw v1,0x4(v0)
bne v1,a0,0x0001e0ac
_lw v1,0x24(sp)
b 0x0001e0bc
_lw t9,-0x7cd0(gp)
lw s0,0x0(s2)
bne s0,zero,0x0001e298
_lw t9,-0x7dec(gp)
li v0,0x2
li s0,0x2
sw v0,0x0(s2)
lw t9,-0x7dec(gp)
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
lw v0,0x28(sp)
beq v0,zero,0x0001e344
_lw t9,-0x7c98(gp)
sw s0,0x0(s2)
sw zero,0x20(sp)
lw v1,0x34(sp)
lw a0,0xfc(sp)
lw v0,0x20(sp)
lw v1,0x0(v1)
bne a0,v1,0x0001e4c0
_lw ra,0x124(sp)
lw s8,0x120(sp)
lw s7,0x11c(sp)
lw s6,0x118(sp)
lw s5,0x114(sp)
lw s4,0x110(sp)
lw s3,0x10c(sp)
lw s2,0x108(sp)
lw s1,0x104(sp)
lw s0,0x100(sp)
jr ra
_addiu sp,sp,0x128
lw t9,-0x7d58(gp)
jalr t9
_nop
or s2,v0,zero
lw s0,0x0(v0)
lw v0,0x28(sp)
bne v0,zero,0x0001e2b0
_lw gp,0x18(sp)
b 0x0001e344
_lw t9,-0x7c98(gp)
lw t9,-0x7d58(gp)
jalr t9
_nop
li v1,0x16
lw gp,0x18(sp)
sw zero,0x20(sp)
b 0x0001e2b8
_sw v1,0x0(v0)
jalr t9
_lw a0,0x20(sp)
b 0x0001e2b0
_lw gp,0x18(sp)
lw t9,-0x7d58(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s2,v0,zero
lw s0,0x0(s2)
lw t9,-0x7de8(gp)
jalr t9
_or a0,s6,zero
lw v0,0x28(sp)
bne v0,zero,0x0001e2b0
_lw gp,0x18(sp)
b 0x0001e344
_lw t9,-0x7c98(gp)
lw v1,0x4c(sp)
bne v0,v1,0x0001dfd4
_lw t9,-0x7d2c(gp)
beq s1,zero,0x0001e3b0
_lw t9,-0x7dec(gp)
jalr t9
_or a0,s1,zero
bne v0,zero,0x0001e2fc
_lw gp,0x18(sp)
lw v0,0x30(sp)
lw v1,0x20(sp)
addiu v0,v0,-0x1
addu v0,v1,v0
lw v1,0x48(sp)
beq v1,v0,0x0001e480
_lw v0,0x48(sp)
lw v0,0x30(sp)
lw a0,0x20(sp)
lw t9,-0x7c94(gp)
addu s0,a0,v0
lw v0,0x48(sp)
subu s0,s0,v0
or a1,v0,zero
jalr t9
_or a2,s0,zero
lw v0,0x12c(sp)
beq v0,zero,0x0001e464
_lw gp,0x18(sp)
lw v1,0x20(sp)
lw v0,0x28(sp)
movz v0,v1,v0
b 0x0001e2b8
_sw v0,0x20(sp)
lw t9,-0x7d58(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s2,v0,zero
beq s1,zero,0x0001e2a4
_lw s0,0x0(v0)
b 0x0001e298
_lw t9,-0x7dec(gp)
lw t9,-0x7d58(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s2,v0,zero
beq s1,zero,0x0001e36c
_lw s0,0x0(v0)
lw t9,-0x7dec(gp)
jalr t9
_or a0,s1,zero
b 0x0001e36c
_lw gp,0x18(sp)
lw t9,-0x7d04(gp)
or a1,s0,zero
jalr t9
_lw a0,0x20(sp)
lw gp,0x18(sp)
b 0x0001e3fc
_sw v0,0x28(sp)
addiu v0,v0,-0x1
or v1,v0,zero
sw v0,0x48(sp)
li v0,0x2f
b 0x0001e3cc
_sb v0,0x0(v1)
li v0,0xc
li s0,0xc
b 0x0001e294
_sw v0,0x0(s2)
li v0,0x22
li s0,0x22
b 0x0001e294
_sw v0,0x0(s2)
b 0x0001dee8
_sw v0,0x30(sp)
lw t9,-0x7cbc(gp)
jalr t9
_nop
nop
lui gp,0x2
addiu gp,gp,-0x3400
addu gp,gp,t9
addiu sp,sp,-0x28
sw gp,0x10(sp)
sw ra,0x24(sp)
sw s2,0x20(sp)
sw s1,0x1c(sp)
beq a0,zero,0x0001e570
_sw s0,0x18(sp)
li v0,0xa
beq a0,v0,0x0001e520
_or s0,a0,zero
lw ra,0x24(sp)
or v0,s0,zero
lw s2,0x20(sp)
lw s1,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x28
lw s2,0x0(a1)
or s1,a1,zero
lw a1,-0x7fc8(gp)
lw t9,-0x7c6c(gp)
or a0,s2,zero
jalr t9
_addiu a1,a1,0x2940
bne v0,zero,0x0001e504
_lw gp,0x10(sp)
lw t9,-0x7da8(gp)
or a0,s2,zero
jalr t9
_li s0,-0x1
lw gp,0x10(sp)
lw t9,-0x7d58(gp)
jalr t9
_sw zero,0x0(s1)
li v1,0x3d
b 0x0001e504
_sw v1,0x0(v0)
lw t9,-0x7d58(gp)
jalr t9
_li s0,-0x1
li v1,0x7a
b 0x0001e504
_sw v1,0x0(v0)
(translation_unit "int rpl_getcwd(int param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  undefined4 *puVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  int local_108;\n  int local_104;\n  int local_100;\n  int local_fc;\n  undefined4 *local_f8;\n  undefined4 *local_e0;\n  int local_d0 [4];\n  int local_c0;\n  int local_bc;\n  uint local_b8;\n  int local_2c;\n  \n  puVar23 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  if (param_2 == (undefined4 *)0x0) {\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }\n  puVar2 = PTR___lxstat64_000332f0;\n  iVar18 = local_108 + (int)local_f8;\n  puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);\n  *(undefined1 *)(iVar18 + -1) = 0;\n  iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);\n  iVar14 = local_c0;\n  if (-1 < iVar8) {\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }\n  piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n  iVar18 = *piVar11;\n  puVar17 = puVar15;\n  goto joined_r0x0001e37c;\nLAB_0001e498:\n  iVar18 = 0xc;\n  *piVar11 = 0xc;\nLAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar9);\njoined_r0x0001e37c:\n  if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }\n  *piVar11 = iVar18;\n  local_108 = 0;\n  local_e0 = puVar17;\n  iVar18 = local_108;\nLAB_0001e2bc:\n  local_108 = iVar18;\n  if (local_2c != *(int *)puVar23) {\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }\n  return local_108;\n}\n\n" (function_definition "int rpl_getcwd(int param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  undefined4 *puVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  int local_108;\n  int local_104;\n  int local_100;\n  int local_fc;\n  undefined4 *local_f8;\n  undefined4 *local_e0;\n  int local_d0 [4];\n  int local_c0;\n  int local_bc;\n  uint local_b8;\n  int local_2c;\n  \n  puVar23 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  if (param_2 == (undefined4 *)0x0) {\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }\n  puVar2 = PTR___lxstat64_000332f0;\n  iVar18 = local_108 + (int)local_f8;\n  puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);\n  *(undefined1 *)(iVar18 + -1) = 0;\n  iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);\n  iVar14 = local_c0;\n  if (-1 < iVar8) {\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }\n  piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n  iVar18 = *piVar11;\n  puVar17 = puVar15;\n  goto joined_r0x0001e37c;\nLAB_0001e498:\n  iVar18 = 0xc;\n  *piVar11 = 0xc;\nLAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar9);\njoined_r0x0001e37c:\n  if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }\n  *piVar11 = iVar18;\n  local_108 = 0;\n  local_e0 = puVar17;\n  iVar18 = local_108;\nLAB_0001e2bc:\n  local_108 = iVar18;\n  if (local_2c != *(int *)puVar23) {\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }\n  return local_108;\n}" primitive_type (function_declarator "rpl_getcwd(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  undefined4 *puVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  int local_108;\n  int local_104;\n  int local_100;\n  int local_fc;\n  undefined4 *local_f8;\n  undefined4 *local_e0;\n  int local_d0 [4];\n  int local_c0;\n  int local_bc;\n  uint local_b8;\n  int local_2c;\n  \n  puVar23 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  if (param_2 == (undefined4 *)0x0) {\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }\n  puVar2 = PTR___lxstat64_000332f0;\n  iVar18 = local_108 + (int)local_f8;\n  puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);\n  *(undefined1 *)(iVar18 + -1) = 0;\n  iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);\n  iVar14 = local_c0;\n  if (-1 < iVar8) {\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }\n  piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n  iVar18 = *piVar11;\n  puVar17 = puVar15;\n  goto joined_r0x0001e37c;\nLAB_0001e498:\n  iVar18 = 0xc;\n  *piVar11 = 0xc;\nLAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar9);\njoined_r0x0001e37c:\n  if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }\n  *piVar11 = iVar18;\n  local_108 = 0;\n  local_e0 = puVar17;\n  iVar18 = local_108;\nLAB_0001e2bc:\n  local_108 = iVar18;\n  if (local_2c != *(int *)puVar23) {\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }\n  return local_108;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "int local_108;" primitive_type identifier ;) (declaration "int local_104;" primitive_type identifier ;) (declaration "int local_100;" primitive_type identifier ;) (declaration "int local_fc;" primitive_type identifier ;) (declaration "undefined4 *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "undefined4 *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "int local_d0 [4];" primitive_type (array_declarator "local_d0 [4]" identifier [ number_literal ]) ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "uint local_b8;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar23 = PTR___stack_chk_guard_00033430;" (assignment_expression "puVar23 = PTR___stack_chk_guard_00033430" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00033430;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00033430" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00033430" * (cast_expression "(int *)PTR___stack_chk_guard_00033430" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_2 == (undefined4 *)0x0) {\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }" if (parenthesized_expression "(param_2 == (undefined4 *)0x0)" ( (binary_expression "param_2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }" { (if_statement "if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }" { (expression_statement "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "*puVar15 = 0x16;" (assignment_expression "*puVar15 = 0x16" (pointer_expression "*puVar15" * identifier) = number_literal) ;) (expression_statement "local_e0 = param_2;" (assignment_expression "local_e0 = param_2" identifier = identifier) ;) (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" identifier = identifier) ;) (goto_statement "goto LAB_0001e2bc;" goto statement_identifier ;) })) (expression_statement "local_f8 = (undefined4 *)0x1000;" (assignment_expression "local_f8 = (undefined4 *)0x1000" identifier = (cast_expression "(undefined4 *)0x1000" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0001dee8:\n    local_e0 = param_2;" statement_identifier : (expression_statement "local_e0 = param_2;" (assignment_expression "local_e0 = param_2" identifier = identifier) ;)) (expression_statement "local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);" (assignment_expression "local_108 = (*(code *)PTR_malloc_000333c4)(local_f8)" identifier = (call_expression "(*(code *)PTR_malloc_000333c4)(local_f8)" (parenthesized_expression "(*(code *)PTR_malloc_000333c4)" ( (pointer_expression "*(code *)PTR_malloc_000333c4" * (cast_expression "(code *)PTR_malloc_000333c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_f8)" ( identifier )))) ;) (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" identifier = identifier) ;) (if_statement "if (local_108 == 0) goto LAB_0001e2bc;" if (parenthesized_expression "(local_108 == 0)" ( (binary_expression "local_108 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e2bc;" goto statement_identifier ;)) }) (else_clause "else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }" else (compound_statement "{\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }" { (expression_statement "local_108 = param_1;" (assignment_expression "local_108 = param_1" identifier = identifier) ;) (expression_statement "local_f8 = param_2;" (assignment_expression "local_f8 = param_2" identifier = identifier) ;) (if_statement "if (param_1 == 0) goto LAB_0001dee8;" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001dee8;" goto statement_identifier ;)) }))) (expression_statement "puVar2 = PTR___lxstat64_000332f0;" (assignment_expression "puVar2 = PTR___lxstat64_000332f0" identifier = identifier) ;) (expression_statement "iVar18 = local_108 + (int)local_f8;" (assignment_expression "iVar18 = local_108 + (int)local_f8" identifier = (binary_expression "local_108 + (int)local_f8" identifier + (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);" (assignment_expression "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0)" identifier = (cast_expression "(undefined4 *)(PTR_LAB_00033108 + 0x1bd0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00033108 + 0x1bd0)" ( (binary_expression "PTR_LAB_00033108 + 0x1bd0" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 *)(iVar18 + -1) = 0;" (assignment_expression "*(undefined1 *)(iVar18 + -1) = 0" (pointer_expression "*(undefined1 *)(iVar18 + -1)" * (cast_expression "(undefined1 *)(iVar18 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -1)" ( (binary_expression "iVar18 + -1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);" (assignment_expression "iVar8 = (*(code *)puVar2)(3,puVar15,local_d0)" identifier = (call_expression "(*(code *)puVar2)(3,puVar15,local_d0)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,puVar15,local_d0)" ( number_literal , identifier , identifier )))) ;) (expression_statement "iVar14 = local_c0;" (assignment_expression "iVar14 = local_c0" identifier = identifier) ;) (if_statement "if (-1 < iVar8) {\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(-1 < iVar8)" ( (binary_expression "-1 < iVar8" number_literal < identifier) )) (compound_statement "{\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }" { (expression_statement "local_104 = local_d0[0];" (assignment_expression "local_104 = local_d0[0]" identifier = (subscript_expression "local_d0[0]" identifier [ number_literal ])) ;) (expression_statement "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);" (assignment_expression "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8)" identifier = (cast_expression "(undefined4 *)(PTR_LAB_00033108 + 0x1af8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00033108 + 0x1af8)" ( (binary_expression "PTR_LAB_00033108 + 0x1af8" identifier + number_literal) )))) ;) (expression_statement "local_fc = local_bc;" (assignment_expression "local_fc = local_bc" identifier = identifier) ;) (expression_statement "iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);" (assignment_expression "iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0)" identifier = (call_expression "(*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0)" (parenthesized_expression "(*(code *)PTR___lxstat64_000332f0)" ( (pointer_expression "*(code *)PTR___lxstat64_000332f0" * (cast_expression "(code *)PTR___lxstat64_000332f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,puVar15,local_d0)" ( number_literal , identifier , identifier )))) ;) (expression_statement "iVar6 = local_bc;" (assignment_expression "iVar6 = local_bc" identifier = identifier) ;) (expression_statement "iVar4 = local_c0;" (assignment_expression "iVar4 = local_c0" identifier = identifier) ;) (expression_statement "iVar8 = local_d0[0];" (assignment_expression "iVar8 = local_d0[0]" identifier = (subscript_expression "local_d0[0]" identifier [ number_literal ])) ;) (if_statement "if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }" if (parenthesized_expression "(-1 < iVar9)" ( (binary_expression "-1 < iVar9" number_literal < identifier) )) (compound_statement "{\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "puVar22 = (undefined4 *)0xffffff9c;" (assignment_expression "puVar22 = (undefined4 *)0xffffff9c" identifier = (cast_expression "(undefined4 *)0xffffff9c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);" (assignment_expression "puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900)" identifier = (cast_expression "(undefined4 *)(PTR_LAB_00033108 + 0x2900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00033108 + 0x2900)" ( (binary_expression "PTR_LAB_00033108 + 0x2900" identifier + number_literal) )))) ;) (do_statement "do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );" do (compound_statement "{\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      }" { (expression_statement "local_e0 = (undefined4 *)(iVar18 + -1);" (assignment_expression "local_e0 = (undefined4 *)(iVar18 + -1)" identifier = (cast_expression "(undefined4 *)(iVar18 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -1)" ( (binary_expression "iVar18 + -1" identifier + number_literal) )))) ;) (if_statement "if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }" if (parenthesized_expression "(((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6))" ( (binary_expression "((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)" (parenthesized_expression "((local_104 == iVar8) && (iVar14 == iVar4))" ( (binary_expression "(local_104 == iVar8) && (iVar14 == iVar4)" (parenthesized_expression "(local_104 == iVar8)" ( (binary_expression "local_104 == iVar8" identifier == identifier) )) && (parenthesized_expression "(iVar14 == iVar4)" ( (binary_expression "iVar14 == iVar4" identifier == identifier) ))) )) && (parenthesized_expression "(local_fc == iVar6)" ( (binary_expression "local_fc == iVar6" identifier == identifier) ))) )) (compound_statement "{\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }" { (if_statement "if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;" if (parenthesized_expression "((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))" ( (binary_expression "(iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0)" ( (comma_expression "iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0" (assignment_expression "iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9)" identifier = (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier )))) , (binary_expression "iVar14 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (if_statement "if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }" if (parenthesized_expression "(local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1))" ( (binary_expression "local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)" identifier == (cast_expression "(undefined4 *)((int)local_f8 + local_108 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f8 + local_108 + -1)" ( (binary_expression "(int)local_f8 + local_108 + -1" (binary_expression "(int)local_f8 + local_108" (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) )) (compound_statement "{\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }" { (expression_statement "local_e0 = (undefined4 *)(iVar18 + -2);" (assignment_expression "local_e0 = (undefined4 *)(iVar18 + -2)" identifier = (cast_expression "(undefined4 *)(iVar18 + -2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -2)" ( (binary_expression "iVar18 + -2" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 *)local_e0 = 0x2f;" (assignment_expression "*(undefined1 *)local_e0 = 0x2f" (pointer_expression "*(undefined1 *)local_e0" * (cast_expression "(undefined1 *)local_e0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) (expression_statement "local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));" (assignment_expression "local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0))" identifier = (cast_expression "(undefined4 *)((int)local_f8 + (local_108 - (int)local_e0))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f8 + (local_108 - (int)local_e0))" ( (binary_expression "(int)local_f8 + (local_108 - (int)local_e0)" (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(local_108 - (int)local_e0)" ( (binary_expression "local_108 - (int)local_e0" identifier - (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "(*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);" (call_expression "(*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8)" (parenthesized_expression "(*(code *)PTR_memmove_0003343c)" ( (pointer_expression "*(code *)PTR_memmove_0003343c" * (cast_expression "(code *)PTR_memmove_0003343c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108,local_e0,local_f8)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_100 = param_1;" (assignment_expression "local_100 = param_1" identifier = identifier) ;) (if_statement "if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }" if (parenthesized_expression "(param_2 == (undefined4 *)0x0)" ( (binary_expression "param_2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }" { (expression_statement "local_100 = (*(code *)PTR_realloc_000333cc)(local_108);" (assignment_expression "local_100 = (*(code *)PTR_realloc_000333cc)(local_108)" identifier = (call_expression "(*(code *)PTR_realloc_000333cc)(local_108)" (parenthesized_expression "(*(code *)PTR_realloc_000333cc)" ( (pointer_expression "*(code *)PTR_realloc_000333cc" * (cast_expression "(code *)PTR_realloc_000333cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108)" ( identifier )))) ;) (expression_statement "local_e0 = local_f8;" (assignment_expression "local_e0 = local_f8" identifier = identifier) ;) })) (expression_statement "iVar18 = local_100;" (assignment_expression "iVar18 = local_100" identifier = identifier) ;) (if_statement "if (local_100 == 0) {\n            iVar18 = local_108;\n          }" if (parenthesized_expression "(local_100 == 0)" ( (binary_expression "local_100 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar18 = local_108;\n          }" { (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" identifier = identifier) ;) })) (goto_statement "goto LAB_0001e2bc;" goto statement_identifier ;) })) (expression_statement "puVar17 = puVar10;" (assignment_expression "puVar17 = puVar10" identifier = identifier) ;) (expression_statement "puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);" (assignment_expression "puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0)" (parenthesized_expression "(*(code *)PTR_openat64_000333a4)" ( (pointer_expression "*(code *)PTR_openat64_000333a4" * (cast_expression "(code *)PTR_openat64_000333a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar22,puVar10,0)" ( identifier , identifier , number_literal ))))) ;) (if_statement "if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }" if (parenthesized_expression "((int)puVar22 < 0)" ( (binary_expression "(int)puVar22 < 0" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }" { (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar9 != 0) goto LAB_0001e298;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;)) (goto_statement "goto joined_r0x0001e37c;" goto statement_identifier ;) })) (expression_statement "puVar17 = puVar22;" (assignment_expression "puVar17 = puVar22" identifier = identifier) ;) (expression_statement "iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);" (assignment_expression "iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0)" identifier = (call_expression "(*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0)" (parenthesized_expression "(*(code *)PTR___fxstat64_000333f4)" ( (pointer_expression "*(code *)PTR___fxstat64_000333f4" * (cast_expression "(code *)PTR___fxstat64_000333f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,puVar22,local_d0)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }" { (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }" { (expression_statement "(*(code *)PTR_closedir_000332e4)(iVar9);" (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))) ;) })) (labeled_statement "LAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);" statement_identifier : (expression_statement "(*(code *)PTR_close_000332e8)(puVar22);" (call_expression "(*(code *)PTR_close_000332e8)(puVar22)" (parenthesized_expression "(*(code *)PTR_close_000332e8)" ( (pointer_expression "*(code *)PTR_close_000332e8" * (cast_expression "(code *)PTR_close_000332e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar22)" ( identifier ))) ;)) (goto_statement "goto joined_r0x0001e37c;" goto statement_identifier ;) })) (if_statement "if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }" if (parenthesized_expression "((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0))" ( (binary_expression "(iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)" ( (comma_expression "iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0" (assignment_expression "iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9)" identifier = (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier )))) , (binary_expression "iVar18 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }" { (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (labeled_statement "LAB_0001e368:\n          iVar18 = *piVar11;" statement_identifier : (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;)) (goto_statement "goto LAB_0001e36c;" goto statement_identifier ;) })) (expression_statement "iVar7 = local_bc;" (assignment_expression "iVar7 = local_bc" identifier = identifier) ;) (expression_statement "iVar5 = local_c0;" (assignment_expression "iVar5 = local_c0" identifier = identifier) ;) (expression_statement "iVar3 = local_d0[0];" (assignment_expression "iVar3 = local_d0[0]" identifier = (subscript_expression "local_d0[0]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);" (assignment_expression "iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22)" identifier = (call_expression "(*(code *)PTR_fdopendir_0003333c)(puVar22)" (parenthesized_expression "(*(code *)PTR_fdopendir_0003333c)" ( (pointer_expression "*(code *)PTR_fdopendir_0003333c" * (cast_expression "(code *)PTR_fdopendir_0003333c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar22)" ( identifier )))) ;) (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (iVar9 == 0) goto LAB_0001e368;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e368;" goto statement_identifier ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (labeled_statement "LAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));" statement_identifier : (do_statement "do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));" do (compound_statement "{\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        }" { (do_statement "do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));" do (compound_statement "{\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          }" { (expression_statement "puVar2 = PTR_readdir64_00033324;" (assignment_expression "puVar2 = PTR_readdir64_00033324" identifier = identifier) ;) (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (expression_statement "piVar12 = (int *)(*(code *)puVar2)(iVar9);" (assignment_expression "piVar12 = (int *)(*(code *)puVar2)(iVar9)" identifier = (cast_expression "(int *)(*(code *)puVar2)(iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar2)(iVar9)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))))) ;) (if_statement "if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }" { (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar18 != 0) goto LAB_0001e298;" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;)) (if_statement "if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }" { (expression_statement "(*(code *)PTR_rewinddir_000332d0)(iVar9);" (call_expression "(*(code *)PTR_rewinddir_000332d0)(iVar9)" (parenthesized_expression "(*(code *)PTR_rewinddir_000332d0)" ( (pointer_expression "*(code *)PTR_rewinddir_000332d0" * (cast_expression "(code *)PTR_rewinddir_000332d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))) ;) (expression_statement "piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);" (assignment_expression "piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9)" identifier = (cast_expression "(int *)(*(code *)PTR_readdir64_00033324)(iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_readdir64_00033324)(iVar9)" (parenthesized_expression "(*(code *)PTR_readdir64_00033324)" ( (pointer_expression "*(code *)PTR_readdir64_00033324" * (cast_expression "(code *)PTR_readdir64_00033324" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))))) ;) (if_statement "if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }" if (parenthesized_expression "(piVar12 != (int *)0x0)" ( (binary_expression "piVar12 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;" if (parenthesized_expression "(*(char *)((int)piVar12 + 0x13) == '.')" ( (binary_expression "*(char *)((int)piVar12 + 0x13) == '.'" (pointer_expression "*(char *)((int)piVar12 + 0x13)" * (cast_expression "(char *)((int)piVar12 + 0x13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 0x13)" ( (binary_expression "(int)piVar12 + 0x13" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_0001e240;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar18 != 0) goto LAB_0001e298;" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;)) })) (expression_statement "iVar18 = 2;" (assignment_expression "iVar18 = 2" identifier = number_literal) ;) (expression_statement "*piVar11 = 2;" (assignment_expression "*piVar11 = 2" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;) })) (if_statement "if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }" if (parenthesized_expression "(*(char *)((int)piVar12 + 0x13) == '.')" ( (binary_expression "*(char *)((int)piVar12 + 0x13) == '.'" (pointer_expression "*(char *)((int)piVar12 + 0x13)" * (cast_expression "(char *)((int)piVar12 + 0x13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 0x13)" ( (binary_expression "(int)piVar12 + 0x13" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'.'" ' character ')) )) (compound_statement "{\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }" { (labeled_statement "LAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;" statement_identifier : (if_statement "if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;" if (parenthesized_expression "((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))" ( (binary_expression "(*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000)" (parenthesized_expression "(*(char *)(piVar12 + 5) == '\0')" ( (binary_expression "*(char *)(piVar12 + 5) == '\0'" (pointer_expression "*(char *)(piVar12 + 5)" * (cast_expression "(char *)(piVar12 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 5)" ( (binary_expression "piVar12 + 5" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((piVar12[5] & 0xffff0000U) == 0x2e000000)" ( (binary_expression "(piVar12[5] & 0xffff0000U) == 0x2e000000" (parenthesized_expression "(piVar12[5] & 0xffff0000U)" ( (binary_expression "piVar12[5] & 0xffff0000U" (subscript_expression "piVar12[5]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0001e078;" goto statement_identifier ;))) })) }) while (parenthesized_expression "((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))))" ( (binary_expression "(bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3)))" (parenthesized_expression "(bVar1)" ( identifier )) && (parenthesized_expression "(((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3)))" ( (parenthesized_expression "((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))" ( (binary_expression "(*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3)" (parenthesized_expression "(*piVar12 != iVar14 || (piVar12[1] != local_fc))" ( (binary_expression "*piVar12 != iVar14 || (piVar12[1] != local_fc)" (binary_expression "*piVar12 != iVar14" (pointer_expression "*piVar12" * identifier) != identifier) || (parenthesized_expression "(piVar12[1] != local_fc)" ( (binary_expression "piVar12[1] != local_fc" (subscript_expression "piVar12[1]" identifier [ number_literal ]) != identifier) ))) )) && (parenthesized_expression "(local_104 == iVar3)" ( (binary_expression "local_104 == iVar3" identifier == identifier) ))) )) ))) )) ;) (expression_statement "puVar15 = (undefined4 *)((int)piVar12 + 0x13);" (assignment_expression "puVar15 = (undefined4 *)((int)piVar12 + 0x13)" identifier = (cast_expression "(undefined4 *)((int)piVar12 + 0x13)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 0x13)" ( (binary_expression "(int)piVar12 + 0x13" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar17 = puVar22;" (assignment_expression "puVar17 = puVar22" identifier = identifier) ;) (expression_statement "iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);" (assignment_expression "iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100)" identifier = (call_expression "(*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100)" (parenthesized_expression "(*(code *)PTR___fxstatat64_00033400)" ( (pointer_expression "*(code *)PTR___fxstatat64_00033400" * (cast_expression "(code *)PTR___fxstatat64_00033400" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,puVar22,puVar15,local_d0,0x100)" ( number_literal , identifier , identifier , identifier , number_literal )))) ;) }) while (parenthesized_expression "((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))))" ( (binary_expression "(((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc)))" (parenthesized_expression "(((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))" ( (binary_expression "((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104)" (parenthesized_expression "((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000))" ( (binary_expression "(iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) || (parenthesized_expression "((local_b8 & 0xf000) != 0x4000)" ( (binary_expression "(local_b8 & 0xf000) != 0x4000" (parenthesized_expression "(local_b8 & 0xf000)" ( (binary_expression "local_b8 & 0xf000" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(local_d0[0] != local_104)" ( (binary_expression "local_d0[0] != local_104" (subscript_expression "local_d0[0]" identifier [ number_literal ]) != identifier) ))) )) || (parenthesized_expression "((local_c0 != iVar14 || (local_bc != local_fc)))" ( (parenthesized_expression "(local_c0 != iVar14 || (local_bc != local_fc))" ( (binary_expression "local_c0 != iVar14 || (local_bc != local_fc)" (binary_expression "local_c0 != iVar14" identifier != identifier) || (parenthesized_expression "(local_bc != local_fc)" ( (binary_expression "local_bc != local_fc" identifier != identifier) ))) )) ))) )) ;)) (expression_statement "puVar21 = (undefined4 *)((int)local_e0 - local_108);" (assignment_expression "puVar21 = (undefined4 *)((int)local_e0 - local_108)" identifier = (cast_expression "(undefined4 *)((int)local_e0 - local_108)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_e0 - local_108)" ( (binary_expression "(int)local_e0 - local_108" (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);" (assignment_expression "puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_000333a8)(puVar15)" (parenthesized_expression "(*(code *)PTR_strlen_000333a8)" ( (pointer_expression "*(code *)PTR_strlen_000333a8" * (cast_expression "(code *)PTR_strlen_000333a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar15)" ( identifier ))))) ;) (if_statement "if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }" if (parenthesized_expression "(puVar21 <= puVar13)" ( (binary_expression "puVar21 <= puVar13" identifier <= identifier) )) (compound_statement "{\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }" { (if_statement "if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }" if (parenthesized_expression "(param_2 != (undefined4 *)0x0)" ( (binary_expression "param_2 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }" { (expression_statement "iVar18 = 0x22;" (assignment_expression "iVar18 = 0x22" identifier = number_literal) ;) (expression_statement "*piVar11 = 0x22;" (assignment_expression "*piVar11 = 0x22" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;) })) (expression_statement "puVar16 = local_f8;" (assignment_expression "puVar16 = local_f8" identifier = identifier) ;) (if_statement "if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }" if (parenthesized_expression "(local_f8 < puVar13)" ( (binary_expression "local_f8 < puVar13" identifier < identifier) )) (compound_statement "{\n            puVar16 = puVar13;\n          }" { (expression_statement "puVar16 = puVar13;" (assignment_expression "puVar16 = puVar13" identifier = identifier) ;) })) (expression_statement "puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);" (assignment_expression "puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8)" identifier = (cast_expression "(undefined4 *)((int)puVar16 + (int)local_f8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + (int)local_f8)" ( (binary_expression "(int)puVar16 + (int)local_f8" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;" if (parenthesized_expression "((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))" ( (binary_expression "(puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0)" (parenthesized_expression "(puVar20 < local_f8)" ( (binary_expression "puVar20 < local_f8" identifier < identifier) )) || (parenthesized_expression "(puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0)" ( (comma_expression "puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0" (assignment_expression "puVar17 = puVar20" identifier = identifier) , (comma_expression "iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0" (assignment_expression "iVar18 = (*(code *)PTR_realloc_000333cc)(local_108)" identifier = (call_expression "(*(code *)PTR_realloc_000333cc)(local_108)" (parenthesized_expression "(*(code *)PTR_realloc_000333cc)" ( (pointer_expression "*(code *)PTR_realloc_000333cc" * (cast_expression "(code *)PTR_realloc_000333cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108)" ( identifier )))) , (binary_expression "iVar18 == 0" identifier == number_literal))) ))) )) (goto_statement "goto LAB_0001e498;" goto statement_identifier ;)) (expression_statement "local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);" (assignment_expression "local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" identifier = (cast_expression "(undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" (parenthesized_expression "(*(code *)PTR_memcpy_00033434)" ( (pointer_expression "*(code *)PTR_memcpy_00033434" * (cast_expression "(code *)PTR_memcpy_00033434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" ( (binary_expression "iVar18 + (int)puVar16 + (int)puVar21" (binary_expression "iVar18 + (int)puVar16" identifier + (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "iVar18 + (int)puVar21" identifier + (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(int)local_f8 - (int)puVar21" (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "local_108 = iVar18;" (assignment_expression "local_108 = iVar18" identifier = identifier) ;) (expression_statement "local_f8 = puVar20;" (assignment_expression "local_f8 = puVar20" identifier = identifier) ;) })) (expression_statement "iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);" (assignment_expression "iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13)" identifier = (call_expression "(*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13)" (parenthesized_expression "(*(code *)PTR_memcpy_00033434)" ( (pointer_expression "*(code *)PTR_memcpy_00033434" * (cast_expression "(code *)PTR_memcpy_00033434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)local_e0 - (int)puVar13,puVar15,puVar13)" ( (binary_expression "(int)local_e0 - (int)puVar13" (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier )))) ;) (expression_statement "*(undefined1 *)(iVar18 + -1) = 0x2f;" (assignment_expression "*(undefined1 *)(iVar18 + -1) = 0x2f" (pointer_expression "*(undefined1 *)(iVar18 + -1)" * (cast_expression "(undefined1 *)(iVar18 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -1)" ( (binary_expression "iVar18 + -1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_fc = iVar7;" (assignment_expression "local_fc = iVar7" identifier = identifier) ;) (expression_statement "local_104 = iVar3;" (assignment_expression "local_104 = iVar3" identifier = identifier) ;) (expression_statement "iVar14 = iVar5;" (assignment_expression "iVar14 = iVar5" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "puVar17 = puVar15;" (assignment_expression "puVar17 = puVar15" identifier = identifier) ;) (goto_statement "goto joined_r0x0001e37c;" goto statement_identifier ;) (labeled_statement "LAB_0001e498:\n  iVar18 = 0xc;" statement_identifier : (expression_statement "iVar18 = 0xc;" (assignment_expression "iVar18 = 0xc" identifier = number_literal) ;)) (expression_statement "*piVar11 = 0xc;" (assignment_expression "*piVar11 = 0xc" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (labeled_statement "LAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar9);" statement_identifier : (expression_statement "(*(code *)PTR_closedir_000332e4)(iVar9);" (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))) ;)) (labeled_statement "joined_r0x0001e37c:\n  if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }" statement_identifier : (if_statement "if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_free_00033438)(local_108);\n  }" { (expression_statement "(*(code *)PTR_free_00033438)(local_108);" (call_expression "(*(code *)PTR_free_00033438)(local_108)" (parenthesized_expression "(*(code *)PTR_free_00033438)" ( (pointer_expression "*(code *)PTR_free_00033438" * (cast_expression "(code *)PTR_free_00033438" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108)" ( identifier ))) ;) }))) (expression_statement "*piVar11 = iVar18;" (assignment_expression "*piVar11 = iVar18" (pointer_expression "*piVar11" * identifier) = identifier) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "local_e0 = puVar17;" (assignment_expression "local_e0 = puVar17" identifier = identifier) ;) (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" identifier = identifier) ;) (labeled_statement "LAB_0001e2bc:\n  local_108 = iVar18;" statement_identifier : (expression_statement "local_108 = iVar18;" (assignment_expression "local_108 = iVar18" identifier = identifier) ;)) (if_statement "if (local_2c != *(int *)puVar23) {\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }" if (parenthesized_expression "(local_2c != *(int *)puVar23)" ( (binary_expression "local_2c != *(int *)puVar23" identifier != (pointer_expression "*(int *)puVar23" * (cast_expression "(int *)puVar23" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }" { (expression_statement "iVar18 = local_2c;" (assignment_expression "iVar18 = local_2c" identifier = identifier) ;) (expression_statement "puVar23 = PTR___stack_chk_fail_00033414;" (assignment_expression "puVar23 = PTR___stack_chk_fail_00033414" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00033414)();" (call_expression "(*(code *)PTR___stack_chk_fail_00033414)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00033414)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00033414" * (cast_expression "(code *)PTR___stack_chk_fail_00033414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }" { (expression_statement "iVar18 = -1;" (assignment_expression "iVar18 = -1" identifier = number_literal) ;) (expression_statement "puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();" (assignment_expression "puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar23 + 0x14ea8))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar23 + 0x14ea8))()" (parenthesized_expression "(**(code **)(puVar23 + 0x14ea8))" ( (pointer_expression "**(code **)(puVar23 + 0x14ea8)" * (pointer_expression "*(code **)(puVar23 + 0x14ea8)" * (cast_expression "(code **)(puVar23 + 0x14ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x14ea8)" ( (binary_expression "puVar23 + 0x14ea8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*puVar15 = 0x7a;" (assignment_expression "*puVar15 = 0x7a" (pointer_expression "*puVar15" * identifier) = number_literal) ;) }) (else_clause "else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" else (if_statement "if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" if (parenthesized_expression "(iVar18 == 10)" ( (binary_expression "iVar18 == 10" identifier == number_literal) )) (compound_statement "{\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" { (expression_statement "uVar19 = *local_e0;" (assignment_expression "uVar19 = *local_e0" identifier = (pointer_expression "*local_e0" * identifier)) ;) (expression_statement "iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);" (assignment_expression "iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940)" identifier = (call_expression "(**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940)" (parenthesized_expression "(**(code **)(puVar23 + 0x14f94))" ( (pointer_expression "**(code **)(puVar23 + 0x14f94)" * (pointer_expression "*(code **)(puVar23 + 0x14f94)" * (cast_expression "(code **)(puVar23 + 0x14f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x14f94)" ( (binary_expression "puVar23 + 0x14f94" identifier + number_literal) ))))) )) (argument_list "(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940)" ( identifier , (binary_expression "*(int *)(puVar23 + 0x14c38) + 0x2940" (pointer_expression "*(int *)(puVar23 + 0x14c38)" * (cast_expression "(int *)(puVar23 + 0x14c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x14c38)" ( (binary_expression "puVar23 + 0x14c38" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }" { (expression_statement "iVar18 = -1;" (assignment_expression "iVar18 = -1" identifier = number_literal) ;) (expression_statement "(**(code **)(puVar23 + 0x14e58))(uVar19);" (call_expression "(**(code **)(puVar23 + 0x14e58))(uVar19)" (parenthesized_expression "(**(code **)(puVar23 + 0x14e58))" ( (pointer_expression "**(code **)(puVar23 + 0x14e58)" * (pointer_expression "*(code **)(puVar23 + 0x14e58)" * (cast_expression "(code **)(puVar23 + 0x14e58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x14e58)" ( (binary_expression "puVar23 + 0x14e58" identifier + number_literal) ))))) )) (argument_list "(uVar19)" ( identifier ))) ;) (expression_statement "pcVar24 = *(code **)(puVar23 + 0x14ea8);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x14ea8)" identifier = (pointer_expression "*(code **)(puVar23 + 0x14ea8)" * (cast_expression "(code **)(puVar23 + 0x14ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x14ea8)" ( (binary_expression "puVar23 + 0x14ea8" identifier + number_literal) ))))) ;) (expression_statement "*local_e0 = 0;" (assignment_expression "*local_e0 = 0" (pointer_expression "*local_e0" * identifier) = number_literal) ;) (expression_statement "puVar15 = (undefined4 *)(*pcVar24)();" (assignment_expression "puVar15 = (undefined4 *)(*pcVar24)()" identifier = (cast_expression "(undefined4 *)(*pcVar24)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "*puVar15 = 0x3d;" (assignment_expression "*puVar15 = 0x3d" (pointer_expression "*puVar15" * identifier) = number_literal) ;) })) })))) (return_statement "return iVar18;" return identifier ;) })) (return_statement "return local_108;" return identifier ;) })))
(translation_unit "char * rpl_getcwd(char *buf,size_t size)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  ulong uVar3;\n  ulong uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  int iVar9;\n  int iVar10;\n  char *pcVar11;\n  int iVar12;\n  int *piVar13;\n  int *piVar14;\n  char *pcVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  char *pcVar19;\n  char *pcVar20;\n  char *pcVar21;\n  undefined4 uVar22;\n  char *pcVar23;\n  char *pcVar24;\n  char *pcVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  char *local_108;\n  ulong local_104;\n  char *local_100;\n  int local_fc;\n  char *local_f8;\n  char *local_e0;\n  stat st;\n  \n  puVar26 = PTR___stack_chk_guard_00033430;\n  pcVar8 = *(char **)PTR___stack_chk_guard_00033430;\n  if (size == 0) {\n    if (buf != (char *)0x0) {\n      puVar18 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = (char *)0x0;\n      *puVar18 = 0x16;\n      local_e0 = (char *)size;\n      pcVar21 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (char *)0x1000;\nLAB_0001dee8:\n    local_e0 = (char *)size;\n    local_108 = (char *)(*(code *)PTR_malloc_000333c4)(local_f8);\n    pcVar21 = local_108;\n    if (local_108 == (char *)0x0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = buf;\n    local_f8 = (char *)size;\n    if (buf == (char *)0x0) goto LAB_0001dee8;\n  }\n  puVar2 = PTR___lxstat64_000332f0;\n  pcVar21 = local_108 + (int)local_f8;\n  pcVar20 = PTR_LAB_00033108 + 0x1bd0;\n  pcVar21[-1] = '\0';\n  iVar9 = (*(code *)puVar2)(3,pcVar20,&st);\n  iVar17 = st.st_ino._0_4_;\n  if (-1 < iVar9) {\n    local_104 = st.st_dev;\n    pcVar20 = PTR_LAB_00033108 + 0x1af8;\n    local_fc = st.st_ino._4_4_;\n    iVar10 = (*(code *)PTR___lxstat64_000332f0)(3,pcVar20,&st);\n    iVar6 = st.st_ino._4_4_;\n    iVar9 = st.st_ino._0_4_;\n    uVar3 = st.st_dev;\n    if (-1 < iVar10) {\n      iVar10 = 0;\n      pcVar25 = (char *)0xffffff9c;\n      pcVar11 = PTR_LAB_00033108 + 0x2900;\n      do {\n        local_e0 = pcVar21 + -1;\n        if (((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)) {\n          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;\n          if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }\n          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);\n          local_100 = buf;\n          if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }\n          pcVar21 = local_100;\n          if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        pcVar21 = pcVar11;\n        pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);\n        if ((int)pcVar25 < 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        pcVar21 = pcVar25;\n        iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st);\n        if (iVar12 != 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar12 = *piVar13;\n          goto LAB_0001e36c;\n        }\n        iVar7 = st.st_ino._4_4_;\n        iVar5 = st.st_ino._0_4_;\n        uVar4 = st.st_dev;\n        iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25);\n        piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar10 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));\n        pcVar24 = local_e0 + -(int)local_108;\n        pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20);\n        if (pcVar24 <= pcVar15) {\n          if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }\n          pcVar19 = local_f8;\n          if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }\n          pcVar23 = pcVar19 + (int)local_f8;\n          if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;\n          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);\n          local_108 = pcVar16;\n          local_f8 = pcVar23;\n        }\n        pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15);\n        pcVar21[-1] = '/';\n        local_fc = iVar7;\n        local_104 = uVar4;\n        iVar17 = iVar5;\n      } while( true );\n    }\n  }\n  piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n  iVar12 = *piVar13;\n  pcVar21 = pcVar20;\n  goto joined_r0x0001e37c;\nLAB_0001e498:\n  iVar12 = 0xc;\n  *piVar13 = 0xc;\nLAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar10);\njoined_r0x0001e37c:\n  if (buf == (char *)0x0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }\n  *piVar13 = iVar12;\n  local_108 = (char *)0x0;\n  local_e0 = pcVar21;\n  pcVar21 = local_108;\nLAB_0001e2bc:\n  local_108 = pcVar21;\n  if (pcVar8 != *(char **)puVar26) {\n    puVar26 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (pcVar8 == (char *)0x0) {\n      pcVar8 = (char *)0xffffffff;\n      puVar18 = (undefined4 *)(**(code **)(puVar26 + 0x14ea8))();\n      *puVar18 = 0x7a;\n    }\n    else if (pcVar8 == (char *)0xa) {\n      uVar22 = *(undefined4 *)local_e0;\n      iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940);\n      if (iVar17 == 0) {\n        pcVar8 = (char *)0xffffffff;\n        (**(code **)(puVar26 + 0x14e58))(uVar22);\n        pcVar27 = *(code **)(puVar26 + 0x14ea8);\n        local_e0[0] = '\0';\n        local_e0[1] = '\0';\n        local_e0[2] = '\0';\n        local_e0[3] = '\0';\n        puVar18 = (undefined4 *)(*pcVar27)();\n        *puVar18 = 0x3d;\n      }\n    }\n    return pcVar8;\n  }\n  return local_108;\n}\n\n" (function_definition "char * rpl_getcwd(char *buf,size_t size)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  ulong uVar3;\n  ulong uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  int iVar9;\n  int iVar10;\n  char *pcVar11;\n  int iVar12;\n  int *piVar13;\n  int *piVar14;\n  char *pcVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  char *pcVar19;\n  char *pcVar20;\n  char *pcVar21;\n  undefined4 uVar22;\n  char *pcVar23;\n  char *pcVar24;\n  char *pcVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  char *local_108;\n  ulong local_104;\n  char *local_100;\n  int local_fc;\n  char *local_f8;\n  char *local_e0;\n  stat st;\n  \n  puVar26 = PTR___stack_chk_guard_00033430;\n  pcVar8 = *(char **)PTR___stack_chk_guard_00033430;\n  if (size == 0) {\n    if (buf != (char *)0x0) {\n      puVar18 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = (char *)0x0;\n      *puVar18 = 0x16;\n      local_e0 = (char *)size;\n      pcVar21 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (char *)0x1000;\nLAB_0001dee8:\n    local_e0 = (char *)size;\n    local_108 = (char *)(*(code *)PTR_malloc_000333c4)(local_f8);\n    pcVar21 = local_108;\n    if (local_108 == (char *)0x0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = buf;\n    local_f8 = (char *)size;\n    if (buf == (char *)0x0) goto LAB_0001dee8;\n  }\n  puVar2 = PTR___lxstat64_000332f0;\n  pcVar21 = local_108 + (int)local_f8;\n  pcVar20 = PTR_LAB_00033108 + 0x1bd0;\n  pcVar21[-1] = '\0';\n  iVar9 = (*(code *)puVar2)(3,pcVar20,&st);\n  iVar17 = st.st_ino._0_4_;\n  if (-1 < iVar9) {\n    local_104 = st.st_dev;\n    pcVar20 = PTR_LAB_00033108 + 0x1af8;\n    local_fc = st.st_ino._4_4_;\n    iVar10 = (*(code *)PTR___lxstat64_000332f0)(3,pcVar20,&st);\n    iVar6 = st.st_ino._4_4_;\n    iVar9 = st.st_ino._0_4_;\n    uVar3 = st.st_dev;\n    if (-1 < iVar10) {\n      iVar10 = 0;\n      pcVar25 = (char *)0xffffff9c;\n      pcVar11 = PTR_LAB_00033108 + 0x2900;\n      do {\n        local_e0 = pcVar21 + -1;\n        if (((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)) {\n          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;\n          if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }\n          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);\n          local_100 = buf;\n          if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }\n          pcVar21 = local_100;\n          if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        pcVar21 = pcVar11;\n        pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);\n        if ((int)pcVar25 < 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        pcVar21 = pcVar25;\n        iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st);\n        if (iVar12 != 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar12 = *piVar13;\n          goto LAB_0001e36c;\n        }\n        iVar7 = st.st_ino._4_4_;\n        iVar5 = st.st_ino._0_4_;\n        uVar4 = st.st_dev;\n        iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25);\n        piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar10 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));\n        pcVar24 = local_e0 + -(int)local_108;\n        pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20);\n        if (pcVar24 <= pcVar15) {\n          if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }\n          pcVar19 = local_f8;\n          if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }\n          pcVar23 = pcVar19 + (int)local_f8;\n          if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;\n          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);\n          local_108 = pcVar16;\n          local_f8 = pcVar23;\n        }\n        pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15);\n        pcVar21[-1] = '/';\n        local_fc = iVar7;\n        local_104 = uVar4;\n        iVar17 = iVar5;\n      } while( true );\n    }\n  }\n  piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n  iVar12 = *piVar13;\n  pcVar21 = pcVar20;\n  goto joined_r0x0001e37c;\nLAB_0001e498:\n  iVar12 = 0xc;\n  *piVar13 = 0xc;\nLAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar10);\njoined_r0x0001e37c:\n  if (buf == (char *)0x0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }\n  *piVar13 = iVar12;\n  local_108 = (char *)0x0;\n  local_e0 = pcVar21;\n  pcVar21 = local_108;\nLAB_0001e2bc:\n  local_108 = pcVar21;\n  if (pcVar8 != *(char **)puVar26) {\n    puVar26 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (pcVar8 == (char *)0x0) {\n      pcVar8 = (char *)0xffffffff;\n      puVar18 = (undefined4 *)(**(code **)(puVar26 + 0x14ea8))();\n      *puVar18 = 0x7a;\n    }\n    else if (pcVar8 == (char *)0xa) {\n      uVar22 = *(undefined4 *)local_e0;\n      iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940);\n      if (iVar17 == 0) {\n        pcVar8 = (char *)0xffffffff;\n        (**(code **)(puVar26 + 0x14e58))(uVar22);\n        pcVar27 = *(code **)(puVar26 + 0x14ea8);\n        local_e0[0] = '\0';\n        local_e0[1] = '\0';\n        local_e0[2] = '\0';\n        local_e0[3] = '\0';\n        puVar18 = (undefined4 *)(*pcVar27)();\n        *puVar18 = 0x3d;\n      }\n    }\n    return pcVar8;\n  }\n  return local_108;\n}" primitive_type (pointer_declarator "* rpl_getcwd(char *buf,size_t size)" * (function_declarator "rpl_getcwd(char *buf,size_t size)" identifier (parameter_list "(char *buf,size_t size)" ( (parameter_declaration "char *buf" primitive_type (pointer_declarator "*buf" * identifier)) , (parameter_declaration "size_t size" primitive_type identifier) )))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  ulong uVar3;\n  ulong uVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  char *pcVar8;\n  int iVar9;\n  int iVar10;\n  char *pcVar11;\n  int iVar12;\n  int *piVar13;\n  int *piVar14;\n  char *pcVar15;\n  char *pcVar16;\n  int iVar17;\n  undefined4 *puVar18;\n  char *pcVar19;\n  char *pcVar20;\n  char *pcVar21;\n  undefined4 uVar22;\n  char *pcVar23;\n  char *pcVar24;\n  char *pcVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  char *local_108;\n  ulong local_104;\n  char *local_100;\n  int local_fc;\n  char *local_f8;\n  char *local_e0;\n  stat st;\n  \n  puVar26 = PTR___stack_chk_guard_00033430;\n  pcVar8 = *(char **)PTR___stack_chk_guard_00033430;\n  if (size == 0) {\n    if (buf != (char *)0x0) {\n      puVar18 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = (char *)0x0;\n      *puVar18 = 0x16;\n      local_e0 = (char *)size;\n      pcVar21 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (char *)0x1000;\nLAB_0001dee8:\n    local_e0 = (char *)size;\n    local_108 = (char *)(*(code *)PTR_malloc_000333c4)(local_f8);\n    pcVar21 = local_108;\n    if (local_108 == (char *)0x0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = buf;\n    local_f8 = (char *)size;\n    if (buf == (char *)0x0) goto LAB_0001dee8;\n  }\n  puVar2 = PTR___lxstat64_000332f0;\n  pcVar21 = local_108 + (int)local_f8;\n  pcVar20 = PTR_LAB_00033108 + 0x1bd0;\n  pcVar21[-1] = '\0';\n  iVar9 = (*(code *)puVar2)(3,pcVar20,&st);\n  iVar17 = st.st_ino._0_4_;\n  if (-1 < iVar9) {\n    local_104 = st.st_dev;\n    pcVar20 = PTR_LAB_00033108 + 0x1af8;\n    local_fc = st.st_ino._4_4_;\n    iVar10 = (*(code *)PTR___lxstat64_000332f0)(3,pcVar20,&st);\n    iVar6 = st.st_ino._4_4_;\n    iVar9 = st.st_ino._0_4_;\n    uVar3 = st.st_dev;\n    if (-1 < iVar10) {\n      iVar10 = 0;\n      pcVar25 = (char *)0xffffff9c;\n      pcVar11 = PTR_LAB_00033108 + 0x2900;\n      do {\n        local_e0 = pcVar21 + -1;\n        if (((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)) {\n          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;\n          if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }\n          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);\n          local_100 = buf;\n          if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }\n          pcVar21 = local_100;\n          if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        pcVar21 = pcVar11;\n        pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);\n        if ((int)pcVar25 < 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        pcVar21 = pcVar25;\n        iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st);\n        if (iVar12 != 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar12 = *piVar13;\n          goto LAB_0001e36c;\n        }\n        iVar7 = st.st_ino._4_4_;\n        iVar5 = st.st_ino._0_4_;\n        uVar4 = st.st_dev;\n        iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25);\n        piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar10 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));\n        pcVar24 = local_e0 + -(int)local_108;\n        pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20);\n        if (pcVar24 <= pcVar15) {\n          if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }\n          pcVar19 = local_f8;\n          if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }\n          pcVar23 = pcVar19 + (int)local_f8;\n          if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;\n          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);\n          local_108 = pcVar16;\n          local_f8 = pcVar23;\n        }\n        pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15);\n        pcVar21[-1] = '/';\n        local_fc = iVar7;\n        local_104 = uVar4;\n        iVar17 = iVar5;\n      } while( true );\n    }\n  }\n  piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n  iVar12 = *piVar13;\n  pcVar21 = pcVar20;\n  goto joined_r0x0001e37c;\nLAB_0001e498:\n  iVar12 = 0xc;\n  *piVar13 = 0xc;\nLAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar10);\njoined_r0x0001e37c:\n  if (buf == (char *)0x0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }\n  *piVar13 = iVar12;\n  local_108 = (char *)0x0;\n  local_e0 = pcVar21;\n  pcVar21 = local_108;\nLAB_0001e2bc:\n  local_108 = pcVar21;\n  if (pcVar8 != *(char **)puVar26) {\n    puVar26 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (pcVar8 == (char *)0x0) {\n      pcVar8 = (char *)0xffffffff;\n      puVar18 = (undefined4 *)(**(code **)(puVar26 + 0x14ea8))();\n      *puVar18 = 0x7a;\n    }\n    else if (pcVar8 == (char *)0xa) {\n      uVar22 = *(undefined4 *)local_e0;\n      iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940);\n      if (iVar17 == 0) {\n        pcVar8 = (char *)0xffffffff;\n        (**(code **)(puVar26 + 0x14e58))(uVar22);\n        pcVar27 = *(code **)(puVar26 + 0x14ea8);\n        local_e0[0] = '\0';\n        local_e0[1] = '\0';\n        local_e0[2] = '\0';\n        local_e0[3] = '\0';\n        puVar18 = (undefined4 *)(*pcVar27)();\n        *puVar18 = 0x3d;\n      }\n    }\n    return pcVar8;\n  }\n  return local_108;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "ulong uVar3;" type_identifier identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "char *pcVar24;" primitive_type (pointer_declarator "*pcVar24" * identifier) ;) (declaration "char *pcVar25;" primitive_type (pointer_declarator "*pcVar25" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "char *local_108;" primitive_type (pointer_declarator "*local_108" * identifier) ;) (declaration "ulong local_104;" type_identifier identifier ;) (declaration "char *local_100;" primitive_type (pointer_declarator "*local_100" * identifier) ;) (declaration "int local_fc;" primitive_type identifier ;) (declaration "char *local_f8;" primitive_type (pointer_declarator "*local_f8" * identifier) ;) (declaration "char *local_e0;" primitive_type (pointer_declarator "*local_e0" * identifier) ;) (declaration "stat st;" type_identifier identifier ;) (expression_statement "puVar26 = PTR___stack_chk_guard_00033430;" (assignment_expression "puVar26 = PTR___stack_chk_guard_00033430" identifier = identifier) ;) (expression_statement "pcVar8 = *(char **)PTR___stack_chk_guard_00033430;" (assignment_expression "pcVar8 = *(char **)PTR___stack_chk_guard_00033430" identifier = (pointer_expression "*(char **)PTR___stack_chk_guard_00033430" * (cast_expression "(char **)PTR___stack_chk_guard_00033430" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (size == 0) {\n    if (buf != (char *)0x0) {\n      puVar18 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = (char *)0x0;\n      *puVar18 = 0x16;\n      local_e0 = (char *)size;\n      pcVar21 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (char *)0x1000;\nLAB_0001dee8:\n    local_e0 = (char *)size;\n    local_108 = (char *)(*(code *)PTR_malloc_000333c4)(local_f8);\n    pcVar21 = local_108;\n    if (local_108 == (char *)0x0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = buf;\n    local_f8 = (char *)size;\n    if (buf == (char *)0x0) goto LAB_0001dee8;\n  }" if (parenthesized_expression "(size == 0)" ( (binary_expression "size == 0" identifier == number_literal) )) (compound_statement "{\n    if (buf != (char *)0x0) {\n      puVar18 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = (char *)0x0;\n      *puVar18 = 0x16;\n      local_e0 = (char *)size;\n      pcVar21 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (char *)0x1000;\nLAB_0001dee8:\n    local_e0 = (char *)size;\n    local_108 = (char *)(*(code *)PTR_malloc_000333c4)(local_f8);\n    pcVar21 = local_108;\n    if (local_108 == (char *)0x0) goto LAB_0001e2bc;\n  }" { (if_statement "if (buf != (char *)0x0) {\n      puVar18 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = (char *)0x0;\n      *puVar18 = 0x16;\n      local_e0 = (char *)size;\n      pcVar21 = local_108;\n      goto LAB_0001e2bc;\n    }" if (parenthesized_expression "(buf != (char *)0x0)" ( (binary_expression "buf != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar18 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = (char *)0x0;\n      *puVar18 = 0x16;\n      local_e0 = (char *)size;\n      pcVar21 = local_108;\n      goto LAB_0001e2bc;\n    }" { (expression_statement "puVar18 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar18 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "local_108 = (char *)0x0;" (assignment_expression "local_108 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*puVar18 = 0x16;" (assignment_expression "*puVar18 = 0x16" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "local_e0 = (char *)size;" (assignment_expression "local_e0 = (char *)size" identifier = (cast_expression "(char *)size" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar21 = local_108;" (assignment_expression "pcVar21 = local_108" identifier = identifier) ;) (goto_statement "goto LAB_0001e2bc;" goto statement_identifier ;) })) (expression_statement "local_f8 = (char *)0x1000;" (assignment_expression "local_f8 = (char *)0x1000" identifier = (cast_expression "(char *)0x1000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0001dee8:\n    local_e0 = (char *)size;" statement_identifier : (expression_statement "local_e0 = (char *)size;" (assignment_expression "local_e0 = (char *)size" identifier = (cast_expression "(char *)size" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "local_108 = (char *)(*(code *)PTR_malloc_000333c4)(local_f8);" (assignment_expression "local_108 = (char *)(*(code *)PTR_malloc_000333c4)(local_f8)" identifier = (cast_expression "(char *)(*(code *)PTR_malloc_000333c4)(local_f8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_malloc_000333c4)(local_f8)" (parenthesized_expression "(*(code *)PTR_malloc_000333c4)" ( (pointer_expression "*(code *)PTR_malloc_000333c4" * (cast_expression "(code *)PTR_malloc_000333c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_f8)" ( identifier ))))) ;) (expression_statement "pcVar21 = local_108;" (assignment_expression "pcVar21 = local_108" identifier = identifier) ;) (if_statement "if (local_108 == (char *)0x0) goto LAB_0001e2bc;" if (parenthesized_expression "(local_108 == (char *)0x0)" ( (binary_expression "local_108 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001e2bc;" goto statement_identifier ;)) }) (else_clause "else {\n    local_108 = buf;\n    local_f8 = (char *)size;\n    if (buf == (char *)0x0) goto LAB_0001dee8;\n  }" else (compound_statement "{\n    local_108 = buf;\n    local_f8 = (char *)size;\n    if (buf == (char *)0x0) goto LAB_0001dee8;\n  }" { (expression_statement "local_108 = buf;" (assignment_expression "local_108 = buf" identifier = identifier) ;) (expression_statement "local_f8 = (char *)size;" (assignment_expression "local_f8 = (char *)size" identifier = (cast_expression "(char *)size" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (buf == (char *)0x0) goto LAB_0001dee8;" if (parenthesized_expression "(buf == (char *)0x0)" ( (binary_expression "buf == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001dee8;" goto statement_identifier ;)) }))) (expression_statement "puVar2 = PTR___lxstat64_000332f0;" (assignment_expression "puVar2 = PTR___lxstat64_000332f0" identifier = identifier) ;) (expression_statement "pcVar21 = local_108 + (int)local_f8;" (assignment_expression "pcVar21 = local_108 + (int)local_f8" identifier = (binary_expression "local_108 + (int)local_f8" identifier + (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar20 = PTR_LAB_00033108 + 0x1bd0;" (assignment_expression "pcVar20 = PTR_LAB_00033108 + 0x1bd0" identifier = (binary_expression "PTR_LAB_00033108 + 0x1bd0" identifier + number_literal)) ;) (expression_statement "pcVar21[-1] = '\0';" (assignment_expression "pcVar21[-1] = '\0'" (subscript_expression "pcVar21[-1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar9 = (*(code *)puVar2)(3,pcVar20,&st);" (assignment_expression "iVar9 = (*(code *)puVar2)(3,pcVar20,&st)" identifier = (call_expression "(*(code *)puVar2)(3,pcVar20,&st)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,pcVar20,&st)" ( number_literal , identifier , (pointer_expression "&st" & identifier) )))) ;) (expression_statement "iVar17 = st.st_ino._0_4_;" (assignment_expression "iVar17 = st.st_ino._0_4_" identifier = (field_expression "st.st_ino._0_4_" (field_expression "st.st_ino" identifier . field_identifier) . field_identifier)) ;) (if_statement "if (-1 < iVar9) {\n    local_104 = st.st_dev;\n    pcVar20 = PTR_LAB_00033108 + 0x1af8;\n    local_fc = st.st_ino._4_4_;\n    iVar10 = (*(code *)PTR___lxstat64_000332f0)(3,pcVar20,&st);\n    iVar6 = st.st_ino._4_4_;\n    iVar9 = st.st_ino._0_4_;\n    uVar3 = st.st_dev;\n    if (-1 < iVar10) {\n      iVar10 = 0;\n      pcVar25 = (char *)0xffffff9c;\n      pcVar11 = PTR_LAB_00033108 + 0x2900;\n      do {\n        local_e0 = pcVar21 + -1;\n        if (((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)) {\n          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;\n          if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }\n          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);\n          local_100 = buf;\n          if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }\n          pcVar21 = local_100;\n          if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        pcVar21 = pcVar11;\n        pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);\n        if ((int)pcVar25 < 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        pcVar21 = pcVar25;\n        iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st);\n        if (iVar12 != 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar12 = *piVar13;\n          goto LAB_0001e36c;\n        }\n        iVar7 = st.st_ino._4_4_;\n        iVar5 = st.st_ino._0_4_;\n        uVar4 = st.st_dev;\n        iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25);\n        piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar10 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));\n        pcVar24 = local_e0 + -(int)local_108;\n        pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20);\n        if (pcVar24 <= pcVar15) {\n          if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }\n          pcVar19 = local_f8;\n          if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }\n          pcVar23 = pcVar19 + (int)local_f8;\n          if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;\n          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);\n          local_108 = pcVar16;\n          local_f8 = pcVar23;\n        }\n        pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15);\n        pcVar21[-1] = '/';\n        local_fc = iVar7;\n        local_104 = uVar4;\n        iVar17 = iVar5;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(-1 < iVar9)" ( (binary_expression "-1 < iVar9" number_literal < identifier) )) (compound_statement "{\n    local_104 = st.st_dev;\n    pcVar20 = PTR_LAB_00033108 + 0x1af8;\n    local_fc = st.st_ino._4_4_;\n    iVar10 = (*(code *)PTR___lxstat64_000332f0)(3,pcVar20,&st);\n    iVar6 = st.st_ino._4_4_;\n    iVar9 = st.st_ino._0_4_;\n    uVar3 = st.st_dev;\n    if (-1 < iVar10) {\n      iVar10 = 0;\n      pcVar25 = (char *)0xffffff9c;\n      pcVar11 = PTR_LAB_00033108 + 0x2900;\n      do {\n        local_e0 = pcVar21 + -1;\n        if (((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)) {\n          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;\n          if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }\n          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);\n          local_100 = buf;\n          if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }\n          pcVar21 = local_100;\n          if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        pcVar21 = pcVar11;\n        pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);\n        if ((int)pcVar25 < 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        pcVar21 = pcVar25;\n        iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st);\n        if (iVar12 != 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar12 = *piVar13;\n          goto LAB_0001e36c;\n        }\n        iVar7 = st.st_ino._4_4_;\n        iVar5 = st.st_ino._0_4_;\n        uVar4 = st.st_dev;\n        iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25);\n        piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar10 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));\n        pcVar24 = local_e0 + -(int)local_108;\n        pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20);\n        if (pcVar24 <= pcVar15) {\n          if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }\n          pcVar19 = local_f8;\n          if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }\n          pcVar23 = pcVar19 + (int)local_f8;\n          if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;\n          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);\n          local_108 = pcVar16;\n          local_f8 = pcVar23;\n        }\n        pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15);\n        pcVar21[-1] = '/';\n        local_fc = iVar7;\n        local_104 = uVar4;\n        iVar17 = iVar5;\n      } while( true );\n    }\n  }" { (expression_statement "local_104 = st.st_dev;" (assignment_expression "local_104 = st.st_dev" identifier = (field_expression "st.st_dev" identifier . field_identifier)) ;) (expression_statement "pcVar20 = PTR_LAB_00033108 + 0x1af8;" (assignment_expression "pcVar20 = PTR_LAB_00033108 + 0x1af8" identifier = (binary_expression "PTR_LAB_00033108 + 0x1af8" identifier + number_literal)) ;) (expression_statement "local_fc = st.st_ino._4_4_;" (assignment_expression "local_fc = st.st_ino._4_4_" identifier = (field_expression "st.st_ino._4_4_" (field_expression "st.st_ino" identifier . field_identifier) . field_identifier)) ;) (expression_statement "iVar10 = (*(code *)PTR___lxstat64_000332f0)(3,pcVar20,&st);" (assignment_expression "iVar10 = (*(code *)PTR___lxstat64_000332f0)(3,pcVar20,&st)" identifier = (call_expression "(*(code *)PTR___lxstat64_000332f0)(3,pcVar20,&st)" (parenthesized_expression "(*(code *)PTR___lxstat64_000332f0)" ( (pointer_expression "*(code *)PTR___lxstat64_000332f0" * (cast_expression "(code *)PTR___lxstat64_000332f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,pcVar20,&st)" ( number_literal , identifier , (pointer_expression "&st" & identifier) )))) ;) (expression_statement "iVar6 = st.st_ino._4_4_;" (assignment_expression "iVar6 = st.st_ino._4_4_" identifier = (field_expression "st.st_ino._4_4_" (field_expression "st.st_ino" identifier . field_identifier) . field_identifier)) ;) (expression_statement "iVar9 = st.st_ino._0_4_;" (assignment_expression "iVar9 = st.st_ino._0_4_" identifier = (field_expression "st.st_ino._0_4_" (field_expression "st.st_ino" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uVar3 = st.st_dev;" (assignment_expression "uVar3 = st.st_dev" identifier = (field_expression "st.st_dev" identifier . field_identifier)) ;) (if_statement "if (-1 < iVar10) {\n      iVar10 = 0;\n      pcVar25 = (char *)0xffffff9c;\n      pcVar11 = PTR_LAB_00033108 + 0x2900;\n      do {\n        local_e0 = pcVar21 + -1;\n        if (((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)) {\n          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;\n          if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }\n          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);\n          local_100 = buf;\n          if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }\n          pcVar21 = local_100;\n          if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        pcVar21 = pcVar11;\n        pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);\n        if ((int)pcVar25 < 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        pcVar21 = pcVar25;\n        iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st);\n        if (iVar12 != 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar12 = *piVar13;\n          goto LAB_0001e36c;\n        }\n        iVar7 = st.st_ino._4_4_;\n        iVar5 = st.st_ino._0_4_;\n        uVar4 = st.st_dev;\n        iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25);\n        piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar10 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));\n        pcVar24 = local_e0 + -(int)local_108;\n        pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20);\n        if (pcVar24 <= pcVar15) {\n          if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }\n          pcVar19 = local_f8;\n          if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }\n          pcVar23 = pcVar19 + (int)local_f8;\n          if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;\n          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);\n          local_108 = pcVar16;\n          local_f8 = pcVar23;\n        }\n        pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15);\n        pcVar21[-1] = '/';\n        local_fc = iVar7;\n        local_104 = uVar4;\n        iVar17 = iVar5;\n      } while( true );\n    }" if (parenthesized_expression "(-1 < iVar10)" ( (binary_expression "-1 < iVar10" number_literal < identifier) )) (compound_statement "{\n      iVar10 = 0;\n      pcVar25 = (char *)0xffffff9c;\n      pcVar11 = PTR_LAB_00033108 + 0x2900;\n      do {\n        local_e0 = pcVar21 + -1;\n        if (((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)) {\n          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;\n          if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }\n          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);\n          local_100 = buf;\n          if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }\n          pcVar21 = local_100;\n          if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        pcVar21 = pcVar11;\n        pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);\n        if ((int)pcVar25 < 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        pcVar21 = pcVar25;\n        iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st);\n        if (iVar12 != 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar12 = *piVar13;\n          goto LAB_0001e36c;\n        }\n        iVar7 = st.st_ino._4_4_;\n        iVar5 = st.st_ino._0_4_;\n        uVar4 = st.st_dev;\n        iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25);\n        piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar10 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));\n        pcVar24 = local_e0 + -(int)local_108;\n        pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20);\n        if (pcVar24 <= pcVar15) {\n          if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }\n          pcVar19 = local_f8;\n          if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }\n          pcVar23 = pcVar19 + (int)local_f8;\n          if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;\n          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);\n          local_108 = pcVar16;\n          local_f8 = pcVar23;\n        }\n        pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15);\n        pcVar21[-1] = '/';\n        local_fc = iVar7;\n        local_104 = uVar4;\n        iVar17 = iVar5;\n      } while( true );\n    }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "pcVar25 = (char *)0xffffff9c;" (assignment_expression "pcVar25 = (char *)0xffffff9c" identifier = (cast_expression "(char *)0xffffff9c" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar11 = PTR_LAB_00033108 + 0x2900;" (assignment_expression "pcVar11 = PTR_LAB_00033108 + 0x2900" identifier = (binary_expression "PTR_LAB_00033108 + 0x2900" identifier + number_literal)) ;) (do_statement "do {\n        local_e0 = pcVar21 + -1;\n        if (((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)) {\n          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;\n          if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }\n          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);\n          local_100 = buf;\n          if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }\n          pcVar21 = local_100;\n          if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        pcVar21 = pcVar11;\n        pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);\n        if ((int)pcVar25 < 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        pcVar21 = pcVar25;\n        iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st);\n        if (iVar12 != 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar12 = *piVar13;\n          goto LAB_0001e36c;\n        }\n        iVar7 = st.st_ino._4_4_;\n        iVar5 = st.st_ino._0_4_;\n        uVar4 = st.st_dev;\n        iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25);\n        piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar10 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));\n        pcVar24 = local_e0 + -(int)local_108;\n        pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20);\n        if (pcVar24 <= pcVar15) {\n          if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }\n          pcVar19 = local_f8;\n          if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }\n          pcVar23 = pcVar19 + (int)local_f8;\n          if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;\n          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);\n          local_108 = pcVar16;\n          local_f8 = pcVar23;\n        }\n        pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15);\n        pcVar21[-1] = '/';\n        local_fc = iVar7;\n        local_104 = uVar4;\n        iVar17 = iVar5;\n      } while( true );" do (compound_statement "{\n        local_e0 = pcVar21 + -1;\n        if (((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)) {\n          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;\n          if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }\n          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);\n          local_100 = buf;\n          if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }\n          pcVar21 = local_100;\n          if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        pcVar21 = pcVar11;\n        pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);\n        if ((int)pcVar25 < 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        pcVar21 = pcVar25;\n        iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st);\n        if (iVar12 != 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar12 = *piVar13;\n          goto LAB_0001e36c;\n        }\n        iVar7 = st.st_ino._4_4_;\n        iVar5 = st.st_ino._0_4_;\n        uVar4 = st.st_dev;\n        iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25);\n        piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar10 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));\n        pcVar24 = local_e0 + -(int)local_108;\n        pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20);\n        if (pcVar24 <= pcVar15) {\n          if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }\n          pcVar19 = local_f8;\n          if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }\n          pcVar23 = pcVar19 + (int)local_f8;\n          if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;\n          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);\n          local_108 = pcVar16;\n          local_f8 = pcVar23;\n        }\n        pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15);\n        pcVar21[-1] = '/';\n        local_fc = iVar7;\n        local_104 = uVar4;\n        iVar17 = iVar5;\n      }" { (expression_statement "local_e0 = pcVar21 + -1;" (assignment_expression "local_e0 = pcVar21 + -1" identifier = (binary_expression "pcVar21 + -1" identifier + number_literal)) ;) (if_statement "if (((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)) {\n          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;\n          if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }\n          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);\n          local_100 = buf;\n          if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }\n          pcVar21 = local_100;\n          if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }" if (parenthesized_expression "(((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6))" ( (binary_expression "((local_104 == uVar3) && (iVar17 == iVar9)) && (local_fc == iVar6)" (parenthesized_expression "((local_104 == uVar3) && (iVar17 == iVar9))" ( (binary_expression "(local_104 == uVar3) && (iVar17 == iVar9)" (parenthesized_expression "(local_104 == uVar3)" ( (binary_expression "local_104 == uVar3" identifier == identifier) )) && (parenthesized_expression "(iVar17 == iVar9)" ( (binary_expression "iVar17 == iVar9" identifier == identifier) ))) )) && (parenthesized_expression "(local_fc == iVar6)" ( (binary_expression "local_fc == iVar6" identifier == identifier) ))) )) (compound_statement "{\n          if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;\n          if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }\n          pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);\n          local_100 = buf;\n          if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }\n          pcVar21 = local_100;\n          if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }" { (if_statement "if ((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))\n          break;" if (parenthesized_expression "((iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0))" ( (binary_expression "(iVar10 != 0) && (iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0)" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0)" ( (comma_expression "iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar17 != 0" (assignment_expression "iVar17 = (*(code *)PTR_closedir_000332e4)(iVar10)" identifier = (call_expression "(*(code *)PTR_closedir_000332e4)(iVar10)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier )))) , (binary_expression "iVar17 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (if_statement "if (local_e0 == local_108 + (int)(local_f8 + -1)) {\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }" if (parenthesized_expression "(local_e0 == local_108 + (int)(local_f8 + -1))" ( (binary_expression "local_e0 == local_108 + (int)(local_f8 + -1)" identifier == (binary_expression "local_108 + (int)(local_f8 + -1)" identifier + (cast_expression "(int)(local_f8 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_f8 + -1)" ( (binary_expression "local_f8 + -1" identifier + number_literal) ))))) )) (compound_statement "{\n            local_e0 = pcVar21 + -2;\n            *local_e0 = '/';\n          }" { (expression_statement "local_e0 = pcVar21 + -2;" (assignment_expression "local_e0 = pcVar21 + -2" identifier = (binary_expression "pcVar21 + -2" identifier + number_literal)) ;) (expression_statement "*local_e0 = '/';" (assignment_expression "*local_e0 = '/'" (pointer_expression "*local_e0" * identifier) = (char_literal "'/'" ' character ')) ;) })) (expression_statement "pcVar21 = local_108 + (int)local_f8 + -(int)local_e0;" (assignment_expression "pcVar21 = local_108 + (int)local_f8 + -(int)local_e0" identifier = (binary_expression "local_108 + (int)local_f8 + -(int)local_e0" (binary_expression "local_108 + (int)local_f8" identifier + (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier)) + (unary_expression "-(int)local_e0" - (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "(*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21);" (call_expression "(*(code *)PTR_memmove_0003343c)(local_108,local_e0,pcVar21)" (parenthesized_expression "(*(code *)PTR_memmove_0003343c)" ( (pointer_expression "*(code *)PTR_memmove_0003343c" * (cast_expression "(code *)PTR_memmove_0003343c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108,local_e0,pcVar21)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_100 = buf;" (assignment_expression "local_100 = buf" identifier = identifier) ;) (if_statement "if (size == 0) {\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }" if (parenthesized_expression "(size == 0)" ( (binary_expression "size == 0" identifier == number_literal) )) (compound_statement "{\n            local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = pcVar21;\n          }" { (expression_statement "local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108);" (assignment_expression "local_100 = (char *)(*(code *)PTR_realloc_000333cc)(local_108)" identifier = (cast_expression "(char *)(*(code *)PTR_realloc_000333cc)(local_108)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_realloc_000333cc)(local_108)" (parenthesized_expression "(*(code *)PTR_realloc_000333cc)" ( (pointer_expression "*(code *)PTR_realloc_000333cc" * (cast_expression "(code *)PTR_realloc_000333cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108)" ( identifier ))))) ;) (expression_statement "local_e0 = pcVar21;" (assignment_expression "local_e0 = pcVar21" identifier = identifier) ;) })) (expression_statement "pcVar21 = local_100;" (assignment_expression "pcVar21 = local_100" identifier = identifier) ;) (if_statement "if (local_100 == (char *)0x0) {\n            pcVar21 = local_108;\n          }" if (parenthesized_expression "(local_100 == (char *)0x0)" ( (binary_expression "local_100 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar21 = local_108;\n          }" { (expression_statement "pcVar21 = local_108;" (assignment_expression "pcVar21 = local_108" identifier = identifier) ;) })) (goto_statement "goto LAB_0001e2bc;" goto statement_identifier ;) })) (expression_statement "pcVar21 = pcVar11;" (assignment_expression "pcVar21 = pcVar11" identifier = identifier) ;) (expression_statement "pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);" (assignment_expression "pcVar25 = (char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0)" identifier = (cast_expression "(char *)(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_openat64_000333a4)(pcVar25,pcVar11,0)" (parenthesized_expression "(*(code *)PTR_openat64_000333a4)" ( (pointer_expression "*(code *)PTR_openat64_000333a4" * (cast_expression "(code *)PTR_openat64_000333a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar25,pcVar11,0)" ( identifier , identifier , number_literal ))))) ;) (if_statement "if ((int)pcVar25 < 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }" if (parenthesized_expression "((int)pcVar25 < 0)" ( (binary_expression "(int)pcVar25 < 0" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }" { (expression_statement "piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar13 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar12 = *piVar13;" (assignment_expression "iVar12 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (if_statement "if (iVar10 != 0) goto LAB_0001e298;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;)) (goto_statement "goto joined_r0x0001e37c;" goto statement_identifier ;) })) (expression_statement "pcVar21 = pcVar25;" (assignment_expression "pcVar21 = pcVar25" identifier = identifier) ;) (expression_statement "iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st);" (assignment_expression "iVar12 = (*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st)" identifier = (call_expression "(*(code *)PTR___fxstat64_000333f4)(3,pcVar25,&st)" (parenthesized_expression "(*(code *)PTR___fxstat64_000333f4)" ( (pointer_expression "*(code *)PTR___fxstat64_000333f4" * (cast_expression "(code *)PTR___fxstat64_000333f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,pcVar25,&st)" ( number_literal , identifier , (pointer_expression "&st" & identifier) )))) ;) (if_statement "if (iVar12 != 0) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);\n          goto joined_r0x0001e37c;\n        }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar12 = *piVar13;\n          if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);\n          goto joined_r0x0001e37c;\n        }" { (expression_statement "piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar13 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar12 = *piVar13;" (assignment_expression "iVar12 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (if_statement "if (iVar10 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n            (*(code *)PTR_closedir_000332e4)(iVar10);\n          }" { (expression_statement "(*(code *)PTR_closedir_000332e4)(iVar10);" (call_expression "(*(code *)PTR_closedir_000332e4)(iVar10)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier ))) ;) })) (labeled_statement "LAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(pcVar25);" statement_identifier : (expression_statement "(*(code *)PTR_close_000332e8)(pcVar25);" (call_expression "(*(code *)PTR_close_000332e8)(pcVar25)" (parenthesized_expression "(*(code *)PTR_close_000332e8)" ( (pointer_expression "*(code *)PTR_close_000332e8" * (cast_expression "(code *)PTR_close_000332e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar25)" ( identifier ))) ;)) (goto_statement "goto joined_r0x0001e37c;" goto statement_identifier ;) })) (if_statement "if ((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)) {\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar12 = *piVar13;\n          goto LAB_0001e36c;\n        }" if (parenthesized_expression "((iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0))" ( (binary_expression "(iVar10 != 0) && (iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0)" ( (comma_expression "iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10), iVar10 != 0" (assignment_expression "iVar10 = (*(code *)PTR_closedir_000332e4)(iVar10)" identifier = (call_expression "(*(code *)PTR_closedir_000332e4)(iVar10)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier )))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar12 = *piVar13;\n          goto LAB_0001e36c;\n        }" { (expression_statement "piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar13 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (labeled_statement "LAB_0001e368:\n          iVar12 = *piVar13;" statement_identifier : (expression_statement "iVar12 = *piVar13;" (assignment_expression "iVar12 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;)) (goto_statement "goto LAB_0001e36c;" goto statement_identifier ;) })) (expression_statement "iVar7 = st.st_ino._4_4_;" (assignment_expression "iVar7 = st.st_ino._4_4_" identifier = (field_expression "st.st_ino._4_4_" (field_expression "st.st_ino" identifier . field_identifier) . field_identifier)) ;) (expression_statement "iVar5 = st.st_ino._0_4_;" (assignment_expression "iVar5 = st.st_ino._0_4_" identifier = (field_expression "st.st_ino._0_4_" (field_expression "st.st_ino" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uVar4 = st.st_dev;" (assignment_expression "uVar4 = st.st_dev" identifier = (field_expression "st.st_dev" identifier . field_identifier)) ;) (expression_statement "iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25);" (assignment_expression "iVar10 = (*(code *)PTR_fdopendir_0003333c)(pcVar25)" identifier = (call_expression "(*(code *)PTR_fdopendir_0003333c)(pcVar25)" (parenthesized_expression "(*(code *)PTR_fdopendir_0003333c)" ( (pointer_expression "*(code *)PTR_fdopendir_0003333c" * (cast_expression "(code *)PTR_fdopendir_0003333c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar25)" ( identifier )))) ;) (expression_statement "piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar13 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (iVar10 == 0) goto LAB_0001e368;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e368;" goto statement_identifier ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (labeled_statement "LAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));" statement_identifier : (do_statement "do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        } while ((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))));" do (compound_statement "{\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));\n          pcVar20 = (char *)((int)piVar14 + 0x13);\n          pcVar21 = pcVar25;\n          iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);\n        }" { (do_statement "do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))));" do (compound_statement "{\n            puVar2 = PTR_readdir64_00033324;\n            *piVar13 = 0;\n            piVar14 = (int *)(*(code *)puVar2)(iVar10);\n            if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          }" { (expression_statement "puVar2 = PTR_readdir64_00033324;" (assignment_expression "puVar2 = PTR_readdir64_00033324" identifier = identifier) ;) (expression_statement "*piVar13 = 0;" (assignment_expression "*piVar13 = 0" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (expression_statement "piVar14 = (int *)(*(code *)puVar2)(iVar10);" (assignment_expression "piVar14 = (int *)(*(code *)puVar2)(iVar10)" identifier = (cast_expression "(int *)(*(code *)puVar2)(iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar2)(iVar10)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier ))))) ;) (if_statement "if (piVar14 == (int *)0x0) {\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar12 = *piVar13;\n              if (iVar12 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }\n              iVar12 = 2;\n              *piVar13 = 2;\n              goto LAB_0001e298;\n            }" { (expression_statement "iVar12 = *piVar13;" (assignment_expression "iVar12 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (if_statement "if (iVar12 != 0) goto LAB_0001e298;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;)) (if_statement "if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n                (*(code *)PTR_rewinddir_000332d0)(iVar10);\n                piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);\n                if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar12 = *piVar13;\n                if (iVar12 != 0) goto LAB_0001e298;\n              }" { (expression_statement "(*(code *)PTR_rewinddir_000332d0)(iVar10);" (call_expression "(*(code *)PTR_rewinddir_000332d0)(iVar10)" (parenthesized_expression "(*(code *)PTR_rewinddir_000332d0)" ( (pointer_expression "*(code *)PTR_rewinddir_000332d0" * (cast_expression "(code *)PTR_rewinddir_000332d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier ))) ;) (expression_statement "piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10);" (assignment_expression "piVar14 = (int *)(*(code *)PTR_readdir64_00033324)(iVar10)" identifier = (cast_expression "(int *)(*(code *)PTR_readdir64_00033324)(iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_readdir64_00033324)(iVar10)" (parenthesized_expression "(*(code *)PTR_readdir64_00033324)" ( (pointer_expression "*(code *)PTR_readdir64_00033324" * (cast_expression "(code *)PTR_readdir64_00033324" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier ))))) ;) (if_statement "if (piVar14 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  bVar1 = false;\n                  if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (*(char *)((int)piVar14 + 0x13) == '.') goto LAB_0001e240;" if (parenthesized_expression "(*(char *)((int)piVar14 + 0x13) == '.')" ( (binary_expression "*(char *)((int)piVar14 + 0x13) == '.'" (pointer_expression "*(char *)((int)piVar14 + 0x13)" * (cast_expression "(char *)((int)piVar14 + 0x13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x13)" ( (binary_expression "(int)piVar14 + 0x13" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_0001e240;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "iVar12 = *piVar13;" (assignment_expression "iVar12 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (if_statement "if (iVar12 != 0) goto LAB_0001e298;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;)) })) (expression_statement "iVar12 = 2;" (assignment_expression "iVar12 = 2" identifier = number_literal) ;) (expression_statement "*piVar13 = 2;" (assignment_expression "*piVar13 = 2" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;) })) (if_statement "if (*(char *)((int)piVar14 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }" if (parenthesized_expression "(*(char *)((int)piVar14 + 0x13) == '.')" ( (binary_expression "*(char *)((int)piVar14 + 0x13) == '.'" (pointer_expression "*(char *)((int)piVar14 + 0x13)" * (cast_expression "(char *)((int)piVar14 + 0x13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x13)" ( (binary_expression "(int)piVar14 + 0x13" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'.'" ' character ')) )) (compound_statement "{\nLAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }" { (labeled_statement "LAB_0001e240:\n              if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;" statement_identifier : (if_statement "if ((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;" if (parenthesized_expression "((*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000))" ( (binary_expression "(*(char *)(piVar14 + 5) == '\0') || ((piVar14[5] & 0xffff0000U) == 0x2e000000)" (parenthesized_expression "(*(char *)(piVar14 + 5) == '\0')" ( (binary_expression "*(char *)(piVar14 + 5) == '\0'" (pointer_expression "*(char *)(piVar14 + 5)" * (cast_expression "(char *)(piVar14 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14 + 5)" ( (binary_expression "piVar14 + 5" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((piVar14[5] & 0xffff0000U) == 0x2e000000)" ( (binary_expression "(piVar14[5] & 0xffff0000U) == 0x2e000000" (parenthesized_expression "(piVar14[5] & 0xffff0000U)" ( (binary_expression "piVar14[5] & 0xffff0000U" (subscript_expression "piVar14[5]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0001e078;" goto statement_identifier ;))) })) }) while (parenthesized_expression "((bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))))" ( (binary_expression "(bVar1) &&\n                  (((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4)))" (parenthesized_expression "(bVar1)" ( identifier )) && (parenthesized_expression "(((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4)))" ( (parenthesized_expression "((*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4))" ( (binary_expression "(*piVar14 != iVar17 || (piVar14[1] != local_fc)) && (local_104 == uVar4)" (parenthesized_expression "(*piVar14 != iVar17 || (piVar14[1] != local_fc))" ( (binary_expression "*piVar14 != iVar17 || (piVar14[1] != local_fc)" (binary_expression "*piVar14 != iVar17" (pointer_expression "*piVar14" * identifier) != identifier) || (parenthesized_expression "(piVar14[1] != local_fc)" ( (binary_expression "piVar14[1] != local_fc" (subscript_expression "piVar14[1]" identifier [ number_literal ]) != identifier) ))) )) && (parenthesized_expression "(local_104 == uVar4)" ( (binary_expression "local_104 == uVar4" identifier == identifier) ))) )) ))) )) ;) (expression_statement "pcVar20 = (char *)((int)piVar14 + 0x13);" (assignment_expression "pcVar20 = (char *)((int)piVar14 + 0x13)" identifier = (cast_expression "(char *)((int)piVar14 + 0x13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar14 + 0x13)" ( (binary_expression "(int)piVar14 + 0x13" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pcVar21 = pcVar25;" (assignment_expression "pcVar21 = pcVar25" identifier = identifier) ;) (expression_statement "iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);" (assignment_expression "iVar12 = (*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100)" identifier = (call_expression "(*(code *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100)" (parenthesized_expression "(*(code *)PTR___fxstatat64_00033400)" ( (pointer_expression "*(code *)PTR___fxstatat64_00033400" * (cast_expression "(code *)PTR___fxstatat64_00033400" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,pcVar25,pcVar20,&st,0x100)" ( number_literal , identifier , identifier , (pointer_expression "&st" & identifier) , number_literal )))) ;) }) while (parenthesized_expression "((((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))))" ( (binary_expression "(((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))\n                || ((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc)))" (parenthesized_expression "(((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104))" ( (binary_expression "((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != local_104)" (parenthesized_expression "((iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000))" ( (binary_expression "(iVar12 != 0) || ((st.st_mode & 0xf000) != 0x4000)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) || (parenthesized_expression "((st.st_mode & 0xf000) != 0x4000)" ( (binary_expression "(st.st_mode & 0xf000) != 0x4000" (parenthesized_expression "(st.st_mode & 0xf000)" ( (binary_expression "st.st_mode & 0xf000" (field_expression "st.st_mode" identifier . field_identifier) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(st.st_dev != local_104)" ( (binary_expression "st.st_dev != local_104" (field_expression "st.st_dev" identifier . field_identifier) != identifier) ))) )) || (parenthesized_expression "((st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc)))" ( (parenthesized_expression "(st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc))" ( (binary_expression "st.st_ino._0_4_ != iVar17 || (st.st_ino._4_4_ != local_fc)" (binary_expression "st.st_ino._0_4_ != iVar17" (field_expression "st.st_ino._0_4_" (field_expression "st.st_ino" identifier . field_identifier) . field_identifier) != identifier) || (parenthesized_expression "(st.st_ino._4_4_ != local_fc)" ( (binary_expression "st.st_ino._4_4_ != local_fc" (field_expression "st.st_ino._4_4_" (field_expression "st.st_ino" identifier . field_identifier) . field_identifier) != identifier) ))) )) ))) )) ;)) (expression_statement "pcVar24 = local_e0 + -(int)local_108;" (assignment_expression "pcVar24 = local_e0 + -(int)local_108" identifier = (binary_expression "local_e0 + -(int)local_108" identifier + (unary_expression "-(int)local_108" - (cast_expression "(int)local_108" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20);" (assignment_expression "pcVar15 = (char *)(*(code *)PTR_strlen_000333a8)(pcVar20)" identifier = (cast_expression "(char *)(*(code *)PTR_strlen_000333a8)(pcVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_000333a8)(pcVar20)" (parenthesized_expression "(*(code *)PTR_strlen_000333a8)" ( (pointer_expression "*(code *)PTR_strlen_000333a8" * (cast_expression "(code *)PTR_strlen_000333a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar20)" ( identifier ))))) ;) (if_statement "if (pcVar24 <= pcVar15) {\n          if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }\n          pcVar19 = local_f8;\n          if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }\n          pcVar23 = pcVar19 + (int)local_f8;\n          if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;\n          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);\n          local_108 = pcVar16;\n          local_f8 = pcVar23;\n        }" if (parenthesized_expression "(pcVar24 <= pcVar15)" ( (binary_expression "pcVar24 <= pcVar15" identifier <= identifier) )) (compound_statement "{\n          if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }\n          pcVar19 = local_f8;\n          if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }\n          pcVar23 = pcVar19 + (int)local_f8;\n          if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;\n          local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);\n          local_108 = pcVar16;\n          local_f8 = pcVar23;\n        }" { (if_statement "if (size != 0) {\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }" if (parenthesized_expression "(size != 0)" ( (binary_expression "size != 0" identifier != number_literal) )) (compound_statement "{\n            iVar12 = 0x22;\n            *piVar13 = 0x22;\n            goto LAB_0001e298;\n          }" { (expression_statement "iVar12 = 0x22;" (assignment_expression "iVar12 = 0x22" identifier = number_literal) ;) (expression_statement "*piVar13 = 0x22;" (assignment_expression "*piVar13 = 0x22" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;) })) (expression_statement "pcVar19 = local_f8;" (assignment_expression "pcVar19 = local_f8" identifier = identifier) ;) (if_statement "if (local_f8 < pcVar15) {\n            pcVar19 = pcVar15;\n          }" if (parenthesized_expression "(local_f8 < pcVar15)" ( (binary_expression "local_f8 < pcVar15" identifier < identifier) )) (compound_statement "{\n            pcVar19 = pcVar15;\n          }" { (expression_statement "pcVar19 = pcVar15;" (assignment_expression "pcVar19 = pcVar15" identifier = identifier) ;) })) (expression_statement "pcVar23 = pcVar19 + (int)local_f8;" (assignment_expression "pcVar23 = pcVar19 + (int)local_f8" identifier = (binary_expression "pcVar19 + (int)local_f8" identifier + (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)) goto LAB_0001e498;" if (parenthesized_expression "((pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0))" ( (binary_expression "(pcVar23 < local_f8) ||\n             (pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)" (parenthesized_expression "(pcVar23 < local_f8)" ( (binary_expression "pcVar23 < local_f8" identifier < identifier) )) || (parenthesized_expression "(pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0)" ( (comma_expression "pcVar21 = pcVar23, pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0" (assignment_expression "pcVar21 = pcVar23" identifier = identifier) , (comma_expression "pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108),\n             pcVar16 == (char *)0x0" (assignment_expression "pcVar16 = (char *)(*(code *)PTR_realloc_000333cc)(local_108)" identifier = (cast_expression "(char *)(*(code *)PTR_realloc_000333cc)(local_108)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_realloc_000333cc)(local_108)" (parenthesized_expression "(*(code *)PTR_realloc_000333cc)" ( (pointer_expression "*(code *)PTR_realloc_000333cc" * (cast_expression "(code *)PTR_realloc_000333cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108)" ( identifier ))))) , (binary_expression "pcVar16 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (goto_statement "goto LAB_0001e498;" goto statement_identifier ;)) (expression_statement "local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24);" (assignment_expression "local_e0 = (char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24)" identifier = (cast_expression "(char *)(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_00033434)\n                                       (pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24)" (parenthesized_expression "(*(code *)PTR_memcpy_00033434)" ( (pointer_expression "*(code *)PTR_memcpy_00033434" * (cast_expression "(code *)PTR_memcpy_00033434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar16 + (int)(pcVar19 + (int)pcVar24),\n                                        pcVar16 + (int)pcVar24,(int)local_f8 - (int)pcVar24)" ( (binary_expression "pcVar16 + (int)(pcVar19 + (int)pcVar24)" identifier + (cast_expression "(int)(pcVar19 + (int)pcVar24)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar19 + (int)pcVar24)" ( (binary_expression "pcVar19 + (int)pcVar24" identifier + (cast_expression "(int)pcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )))) , (binary_expression "pcVar16 + (int)pcVar24" identifier + (cast_expression "(int)pcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(int)local_f8 - (int)pcVar24" (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "local_108 = pcVar16;" (assignment_expression "local_108 = pcVar16" identifier = identifier) ;) (expression_statement "local_f8 = pcVar23;" (assignment_expression "local_f8 = pcVar23" identifier = identifier) ;) })) (expression_statement "pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15);" (assignment_expression "pcVar21 = (char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15)" identifier = (cast_expression "(char *)(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_00033434)\n                                    ((int)local_e0 - (int)pcVar15,pcVar20,pcVar15)" (parenthesized_expression "(*(code *)PTR_memcpy_00033434)" ( (pointer_expression "*(code *)PTR_memcpy_00033434" * (cast_expression "(code *)PTR_memcpy_00033434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)local_e0 - (int)pcVar15,pcVar20,pcVar15)" ( (binary_expression "(int)local_e0 - (int)pcVar15" (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar15" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier ))))) ;) (expression_statement "pcVar21[-1] = '/';" (assignment_expression "pcVar21[-1] = '/'" (subscript_expression "pcVar21[-1]" identifier [ number_literal ]) = (char_literal "'/'" ' character ')) ;) (expression_statement "local_fc = iVar7;" (assignment_expression "local_fc = iVar7" identifier = identifier) ;) (expression_statement "local_104 = uVar4;" (assignment_expression "local_104 = uVar4" identifier = identifier) ;) (expression_statement "iVar17 = iVar5;" (assignment_expression "iVar17 = iVar5" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "piVar13 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar13 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar12 = *piVar13;" (assignment_expression "iVar12 = *piVar13" identifier = (pointer_expression "*piVar13" * identifier)) ;) (expression_statement "pcVar21 = pcVar20;" (assignment_expression "pcVar21 = pcVar20" identifier = identifier) ;) (goto_statement "goto joined_r0x0001e37c;" goto statement_identifier ;) (labeled_statement "LAB_0001e498:\n  iVar12 = 0xc;" statement_identifier : (expression_statement "iVar12 = 0xc;" (assignment_expression "iVar12 = 0xc" identifier = number_literal) ;)) (expression_statement "*piVar13 = 0xc;" (assignment_expression "*piVar13 = 0xc" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (labeled_statement "LAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar10);" statement_identifier : (expression_statement "(*(code *)PTR_closedir_000332e4)(iVar10);" (call_expression "(*(code *)PTR_closedir_000332e4)(iVar10)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier ))) ;)) (labeled_statement "joined_r0x0001e37c:\n  if (buf == (char *)0x0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }" statement_identifier : (if_statement "if (buf == (char *)0x0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }" if (parenthesized_expression "(buf == (char *)0x0)" ( (binary_expression "buf == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_free_00033438)(local_108);\n  }" { (expression_statement "(*(code *)PTR_free_00033438)(local_108);" (call_expression "(*(code *)PTR_free_00033438)(local_108)" (parenthesized_expression "(*(code *)PTR_free_00033438)" ( (pointer_expression "*(code *)PTR_free_00033438" * (cast_expression "(code *)PTR_free_00033438" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108)" ( identifier ))) ;) }))) (expression_statement "*piVar13 = iVar12;" (assignment_expression "*piVar13 = iVar12" (pointer_expression "*piVar13" * identifier) = identifier) ;) (expression_statement "local_108 = (char *)0x0;" (assignment_expression "local_108 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_e0 = pcVar21;" (assignment_expression "local_e0 = pcVar21" identifier = identifier) ;) (expression_statement "pcVar21 = local_108;" (assignment_expression "pcVar21 = local_108" identifier = identifier) ;) (labeled_statement "LAB_0001e2bc:\n  local_108 = pcVar21;" statement_identifier : (expression_statement "local_108 = pcVar21;" (assignment_expression "local_108 = pcVar21" identifier = identifier) ;)) (if_statement "if (pcVar8 != *(char **)puVar26) {\n    puVar26 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (pcVar8 == (char *)0x0) {\n      pcVar8 = (char *)0xffffffff;\n      puVar18 = (undefined4 *)(**(code **)(puVar26 + 0x14ea8))();\n      *puVar18 = 0x7a;\n    }\n    else if (pcVar8 == (char *)0xa) {\n      uVar22 = *(undefined4 *)local_e0;\n      iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940);\n      if (iVar17 == 0) {\n        pcVar8 = (char *)0xffffffff;\n        (**(code **)(puVar26 + 0x14e58))(uVar22);\n        pcVar27 = *(code **)(puVar26 + 0x14ea8);\n        local_e0[0] = '\0';\n        local_e0[1] = '\0';\n        local_e0[2] = '\0';\n        local_e0[3] = '\0';\n        puVar18 = (undefined4 *)(*pcVar27)();\n        *puVar18 = 0x3d;\n      }\n    }\n    return pcVar8;\n  }" if (parenthesized_expression "(pcVar8 != *(char **)puVar26)" ( (binary_expression "pcVar8 != *(char **)puVar26" identifier != (pointer_expression "*(char **)puVar26" * (cast_expression "(char **)puVar26" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    puVar26 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (pcVar8 == (char *)0x0) {\n      pcVar8 = (char *)0xffffffff;\n      puVar18 = (undefined4 *)(**(code **)(puVar26 + 0x14ea8))();\n      *puVar18 = 0x7a;\n    }\n    else if (pcVar8 == (char *)0xa) {\n      uVar22 = *(undefined4 *)local_e0;\n      iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940);\n      if (iVar17 == 0) {\n        pcVar8 = (char *)0xffffffff;\n        (**(code **)(puVar26 + 0x14e58))(uVar22);\n        pcVar27 = *(code **)(puVar26 + 0x14ea8);\n        local_e0[0] = '\0';\n        local_e0[1] = '\0';\n        local_e0[2] = '\0';\n        local_e0[3] = '\0';\n        puVar18 = (undefined4 *)(*pcVar27)();\n        *puVar18 = 0x3d;\n      }\n    }\n    return pcVar8;\n  }" { (expression_statement "puVar26 = PTR___stack_chk_fail_00033414;" (assignment_expression "puVar26 = PTR___stack_chk_fail_00033414" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00033414)();" (call_expression "(*(code *)PTR___stack_chk_fail_00033414)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00033414)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00033414" * (cast_expression "(code *)PTR___stack_chk_fail_00033414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (pcVar8 == (char *)0x0) {\n      pcVar8 = (char *)0xffffffff;\n      puVar18 = (undefined4 *)(**(code **)(puVar26 + 0x14ea8))();\n      *puVar18 = 0x7a;\n    }\n    else if (pcVar8 == (char *)0xa) {\n      uVar22 = *(undefined4 *)local_e0;\n      iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940);\n      if (iVar17 == 0) {\n        pcVar8 = (char *)0xffffffff;\n        (**(code **)(puVar26 + 0x14e58))(uVar22);\n        pcVar27 = *(code **)(puVar26 + 0x14ea8);\n        local_e0[0] = '\0';\n        local_e0[1] = '\0';\n        local_e0[2] = '\0';\n        local_e0[3] = '\0';\n        puVar18 = (undefined4 *)(*pcVar27)();\n        *puVar18 = 0x3d;\n      }\n    }" if (parenthesized_expression "(pcVar8 == (char *)0x0)" ( (binary_expression "pcVar8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar8 = (char *)0xffffffff;\n      puVar18 = (undefined4 *)(**(code **)(puVar26 + 0x14ea8))();\n      *puVar18 = 0x7a;\n    }" { (expression_statement "pcVar8 = (char *)0xffffffff;" (assignment_expression "pcVar8 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar18 = (undefined4 *)(**(code **)(puVar26 + 0x14ea8))();" (assignment_expression "puVar18 = (undefined4 *)(**(code **)(puVar26 + 0x14ea8))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar26 + 0x14ea8))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar26 + 0x14ea8))()" (parenthesized_expression "(**(code **)(puVar26 + 0x14ea8))" ( (pointer_expression "**(code **)(puVar26 + 0x14ea8)" * (pointer_expression "*(code **)(puVar26 + 0x14ea8)" * (cast_expression "(code **)(puVar26 + 0x14ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x14ea8)" ( (binary_expression "puVar26 + 0x14ea8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*puVar18 = 0x7a;" (assignment_expression "*puVar18 = 0x7a" (pointer_expression "*puVar18" * identifier) = number_literal) ;) }) (else_clause "else if (pcVar8 == (char *)0xa) {\n      uVar22 = *(undefined4 *)local_e0;\n      iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940);\n      if (iVar17 == 0) {\n        pcVar8 = (char *)0xffffffff;\n        (**(code **)(puVar26 + 0x14e58))(uVar22);\n        pcVar27 = *(code **)(puVar26 + 0x14ea8);\n        local_e0[0] = '\0';\n        local_e0[1] = '\0';\n        local_e0[2] = '\0';\n        local_e0[3] = '\0';\n        puVar18 = (undefined4 *)(*pcVar27)();\n        *puVar18 = 0x3d;\n      }\n    }" else (if_statement "if (pcVar8 == (char *)0xa) {\n      uVar22 = *(undefined4 *)local_e0;\n      iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940);\n      if (iVar17 == 0) {\n        pcVar8 = (char *)0xffffffff;\n        (**(code **)(puVar26 + 0x14e58))(uVar22);\n        pcVar27 = *(code **)(puVar26 + 0x14ea8);\n        local_e0[0] = '\0';\n        local_e0[1] = '\0';\n        local_e0[2] = '\0';\n        local_e0[3] = '\0';\n        puVar18 = (undefined4 *)(*pcVar27)();\n        *puVar18 = 0x3d;\n      }\n    }" if (parenthesized_expression "(pcVar8 == (char *)0xa)" ( (binary_expression "pcVar8 == (char *)0xa" identifier == (cast_expression "(char *)0xa" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar22 = *(undefined4 *)local_e0;\n      iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940);\n      if (iVar17 == 0) {\n        pcVar8 = (char *)0xffffffff;\n        (**(code **)(puVar26 + 0x14e58))(uVar22);\n        pcVar27 = *(code **)(puVar26 + 0x14ea8);\n        local_e0[0] = '\0';\n        local_e0[1] = '\0';\n        local_e0[2] = '\0';\n        local_e0[3] = '\0';\n        puVar18 = (undefined4 *)(*pcVar27)();\n        *puVar18 = 0x3d;\n      }\n    }" { (expression_statement "uVar22 = *(undefined4 *)local_e0;" (assignment_expression "uVar22 = *(undefined4 *)local_e0" identifier = (pointer_expression "*(undefined4 *)local_e0" * (cast_expression "(undefined4 *)local_e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940);" (assignment_expression "iVar17 = (**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940)" identifier = (call_expression "(**(code **)(puVar26 + 0x14f94))(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940)" (parenthesized_expression "(**(code **)(puVar26 + 0x14f94))" ( (pointer_expression "**(code **)(puVar26 + 0x14f94)" * (pointer_expression "*(code **)(puVar26 + 0x14f94)" * (cast_expression "(code **)(puVar26 + 0x14f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x14f94)" ( (binary_expression "puVar26 + 0x14f94" identifier + number_literal) ))))) )) (argument_list "(uVar22,*(int *)(puVar26 + 0x14c38) + 0x2940)" ( identifier , (binary_expression "*(int *)(puVar26 + 0x14c38) + 0x2940" (pointer_expression "*(int *)(puVar26 + 0x14c38)" * (cast_expression "(int *)(puVar26 + 0x14c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x14c38)" ( (binary_expression "puVar26 + 0x14c38" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar17 == 0) {\n        pcVar8 = (char *)0xffffffff;\n        (**(code **)(puVar26 + 0x14e58))(uVar22);\n        pcVar27 = *(code **)(puVar26 + 0x14ea8);\n        local_e0[0] = '\0';\n        local_e0[1] = '\0';\n        local_e0[2] = '\0';\n        local_e0[3] = '\0';\n        puVar18 = (undefined4 *)(*pcVar27)();\n        *puVar18 = 0x3d;\n      }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar8 = (char *)0xffffffff;\n        (**(code **)(puVar26 + 0x14e58))(uVar22);\n        pcVar27 = *(code **)(puVar26 + 0x14ea8);\n        local_e0[0] = '\0';\n        local_e0[1] = '\0';\n        local_e0[2] = '\0';\n        local_e0[3] = '\0';\n        puVar18 = (undefined4 *)(*pcVar27)();\n        *puVar18 = 0x3d;\n      }" { (expression_statement "pcVar8 = (char *)0xffffffff;" (assignment_expression "pcVar8 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(puVar26 + 0x14e58))(uVar22);" (call_expression "(**(code **)(puVar26 + 0x14e58))(uVar22)" (parenthesized_expression "(**(code **)(puVar26 + 0x14e58))" ( (pointer_expression "**(code **)(puVar26 + 0x14e58)" * (pointer_expression "*(code **)(puVar26 + 0x14e58)" * (cast_expression "(code **)(puVar26 + 0x14e58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x14e58)" ( (binary_expression "puVar26 + 0x14e58" identifier + number_literal) ))))) )) (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x14ea8);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x14ea8)" identifier = (pointer_expression "*(code **)(puVar26 + 0x14ea8)" * (cast_expression "(code **)(puVar26 + 0x14ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x14ea8)" ( (binary_expression "puVar26 + 0x14ea8" identifier + number_literal) ))))) ;) (expression_statement "local_e0[0] = '\0';" (assignment_expression "local_e0[0] = '\0'" (subscript_expression "local_e0[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_e0[1] = '\0';" (assignment_expression "local_e0[1] = '\0'" (subscript_expression "local_e0[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_e0[2] = '\0';" (assignment_expression "local_e0[2] = '\0'" (subscript_expression "local_e0[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_e0[3] = '\0';" (assignment_expression "local_e0[3] = '\0'" (subscript_expression "local_e0[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar18 = (undefined4 *)(*pcVar27)();" (assignment_expression "puVar18 = (undefined4 *)(*pcVar27)()" identifier = (cast_expression "(undefined4 *)(*pcVar27)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "*puVar18 = 0x3d;" (assignment_expression "*puVar18 = 0x3d" (pointer_expression "*puVar18" * identifier) = number_literal) ;) })) })))) (return_statement "return pcVar8;" return identifier ;) })) (return_statement "return local_108;" return identifier ;) })))
(translation_unit "int rpl_getcwd(int param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  undefined4 *puVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  int local_108;\n  int local_104;\n  int local_100;\n  int local_fc;\n  undefined4 *local_f8;\n  undefined4 *local_e0;\n  int local_d0 [4];\n  int local_c0;\n  int local_bc;\n  uint local_b8;\n  int local_2c;\n  \n  puVar23 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  if (param_2 == (undefined4 *)0x0) {\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }\n  puVar2 = PTR___lxstat64_000332f0;\n  iVar18 = local_108 + (int)local_f8;\n  puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);\n  *(undefined1 *)(iVar18 + -1) = 0;\n  iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);\n  iVar14 = local_c0;\n  if (-1 < iVar8) {\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }\n  piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n  iVar18 = *piVar11;\n  puVar17 = puVar15;\n  goto joined_r0x0001e37c;\nLAB_0001e498:\n  iVar18 = 0xc;\n  *piVar11 = 0xc;\nLAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar9);\njoined_r0x0001e37c:\n  if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }\n  *piVar11 = iVar18;\n  local_108 = 0;\n  local_e0 = puVar17;\n  iVar18 = local_108;\nLAB_0001e2bc:\n  local_108 = iVar18;\n  if (local_2c != *(int *)puVar23) {\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }\n  return local_108;\n}\n\n" (function_definition "int rpl_getcwd(int param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  undefined4 *puVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  int local_108;\n  int local_104;\n  int local_100;\n  int local_fc;\n  undefined4 *local_f8;\n  undefined4 *local_e0;\n  int local_d0 [4];\n  int local_c0;\n  int local_bc;\n  uint local_b8;\n  int local_2c;\n  \n  puVar23 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  if (param_2 == (undefined4 *)0x0) {\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }\n  puVar2 = PTR___lxstat64_000332f0;\n  iVar18 = local_108 + (int)local_f8;\n  puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);\n  *(undefined1 *)(iVar18 + -1) = 0;\n  iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);\n  iVar14 = local_c0;\n  if (-1 < iVar8) {\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }\n  piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n  iVar18 = *piVar11;\n  puVar17 = puVar15;\n  goto joined_r0x0001e37c;\nLAB_0001e498:\n  iVar18 = 0xc;\n  *piVar11 = 0xc;\nLAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar9);\njoined_r0x0001e37c:\n  if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }\n  *piVar11 = iVar18;\n  local_108 = 0;\n  local_e0 = puVar17;\n  iVar18 = local_108;\nLAB_0001e2bc:\n  local_108 = iVar18;\n  if (local_2c != *(int *)puVar23) {\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }\n  return local_108;\n}" primitive_type (function_declarator "rpl_getcwd(int param_1,undefined4 *param_2)" identifier (parameter_list "(int param_1,undefined4 *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  undefined4 *puVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  int local_108;\n  int local_104;\n  int local_100;\n  int local_fc;\n  undefined4 *local_f8;\n  undefined4 *local_e0;\n  int local_d0 [4];\n  int local_c0;\n  int local_bc;\n  uint local_b8;\n  int local_2c;\n  \n  puVar23 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  if (param_2 == (undefined4 *)0x0) {\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }\n  puVar2 = PTR___lxstat64_000332f0;\n  iVar18 = local_108 + (int)local_f8;\n  puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);\n  *(undefined1 *)(iVar18 + -1) = 0;\n  iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);\n  iVar14 = local_c0;\n  if (-1 < iVar8) {\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }\n  piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n  iVar18 = *piVar11;\n  puVar17 = puVar15;\n  goto joined_r0x0001e37c;\nLAB_0001e498:\n  iVar18 = 0xc;\n  *piVar11 = 0xc;\nLAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar9);\njoined_r0x0001e37c:\n  if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }\n  *piVar11 = iVar18;\n  local_108 = 0;\n  local_e0 = puVar17;\n  iVar18 = local_108;\nLAB_0001e2bc:\n  local_108 = iVar18;\n  if (local_2c != *(int *)puVar23) {\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }\n  return local_108;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "int local_108;" primitive_type identifier ;) (declaration "int local_104;" primitive_type identifier ;) (declaration "int local_100;" primitive_type identifier ;) (declaration "int local_fc;" primitive_type identifier ;) (declaration "undefined4 *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "undefined4 *local_e0;" type_identifier (pointer_declarator "*local_e0" * identifier) ;) (declaration "int local_d0 [4];" primitive_type (array_declarator "local_d0 [4]" identifier [ number_literal ]) ;) (declaration "int local_c0;" primitive_type identifier ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "uint local_b8;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar23 = PTR___stack_chk_guard_00033430;" (assignment_expression "puVar23 = PTR___stack_chk_guard_00033430" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00033430;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00033430" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00033430" * (cast_expression "(int *)PTR___stack_chk_guard_00033430" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_2 == (undefined4 *)0x0) {\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }" if (parenthesized_expression "(param_2 == (undefined4 *)0x0)" ( (binary_expression "param_2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }" { (if_statement "if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }" { (expression_statement "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "*puVar15 = 0x16;" (assignment_expression "*puVar15 = 0x16" (pointer_expression "*puVar15" * identifier) = number_literal) ;) (expression_statement "local_e0 = param_2;" (assignment_expression "local_e0 = param_2" identifier = identifier) ;) (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" identifier = identifier) ;) (goto_statement "goto LAB_0001e2bc;" goto statement_identifier ;) })) (expression_statement "local_f8 = (undefined4 *)0x1000;" (assignment_expression "local_f8 = (undefined4 *)0x1000" identifier = (cast_expression "(undefined4 *)0x1000" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0001dee8:\n    local_e0 = param_2;" statement_identifier : (expression_statement "local_e0 = param_2;" (assignment_expression "local_e0 = param_2" identifier = identifier) ;)) (expression_statement "local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);" (assignment_expression "local_108 = (*(code *)PTR_malloc_000333c4)(local_f8)" identifier = (call_expression "(*(code *)PTR_malloc_000333c4)(local_f8)" (parenthesized_expression "(*(code *)PTR_malloc_000333c4)" ( (pointer_expression "*(code *)PTR_malloc_000333c4" * (cast_expression "(code *)PTR_malloc_000333c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_f8)" ( identifier )))) ;) (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" identifier = identifier) ;) (if_statement "if (local_108 == 0) goto LAB_0001e2bc;" if (parenthesized_expression "(local_108 == 0)" ( (binary_expression "local_108 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e2bc;" goto statement_identifier ;)) }) (else_clause "else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }" else (compound_statement "{\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }" { (expression_statement "local_108 = param_1;" (assignment_expression "local_108 = param_1" identifier = identifier) ;) (expression_statement "local_f8 = param_2;" (assignment_expression "local_f8 = param_2" identifier = identifier) ;) (if_statement "if (param_1 == 0) goto LAB_0001dee8;" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001dee8;" goto statement_identifier ;)) }))) (expression_statement "puVar2 = PTR___lxstat64_000332f0;" (assignment_expression "puVar2 = PTR___lxstat64_000332f0" identifier = identifier) ;) (expression_statement "iVar18 = local_108 + (int)local_f8;" (assignment_expression "iVar18 = local_108 + (int)local_f8" identifier = (binary_expression "local_108 + (int)local_f8" identifier + (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);" (assignment_expression "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0)" identifier = (cast_expression "(undefined4 *)(PTR_LAB_00033108 + 0x1bd0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00033108 + 0x1bd0)" ( (binary_expression "PTR_LAB_00033108 + 0x1bd0" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 *)(iVar18 + -1) = 0;" (assignment_expression "*(undefined1 *)(iVar18 + -1) = 0" (pointer_expression "*(undefined1 *)(iVar18 + -1)" * (cast_expression "(undefined1 *)(iVar18 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -1)" ( (binary_expression "iVar18 + -1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);" (assignment_expression "iVar8 = (*(code *)puVar2)(3,puVar15,local_d0)" identifier = (call_expression "(*(code *)puVar2)(3,puVar15,local_d0)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,puVar15,local_d0)" ( number_literal , identifier , identifier )))) ;) (expression_statement "iVar14 = local_c0;" (assignment_expression "iVar14 = local_c0" identifier = identifier) ;) (if_statement "if (-1 < iVar8) {\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }" if (parenthesized_expression "(-1 < iVar8)" ( (binary_expression "-1 < iVar8" number_literal < identifier) )) (compound_statement "{\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }" { (expression_statement "local_104 = local_d0[0];" (assignment_expression "local_104 = local_d0[0]" identifier = (subscript_expression "local_d0[0]" identifier [ number_literal ])) ;) (expression_statement "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);" (assignment_expression "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8)" identifier = (cast_expression "(undefined4 *)(PTR_LAB_00033108 + 0x1af8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00033108 + 0x1af8)" ( (binary_expression "PTR_LAB_00033108 + 0x1af8" identifier + number_literal) )))) ;) (expression_statement "local_fc = local_bc;" (assignment_expression "local_fc = local_bc" identifier = identifier) ;) (expression_statement "iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);" (assignment_expression "iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0)" identifier = (call_expression "(*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0)" (parenthesized_expression "(*(code *)PTR___lxstat64_000332f0)" ( (pointer_expression "*(code *)PTR___lxstat64_000332f0" * (cast_expression "(code *)PTR___lxstat64_000332f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,puVar15,local_d0)" ( number_literal , identifier , identifier )))) ;) (expression_statement "iVar6 = local_bc;" (assignment_expression "iVar6 = local_bc" identifier = identifier) ;) (expression_statement "iVar4 = local_c0;" (assignment_expression "iVar4 = local_c0" identifier = identifier) ;) (expression_statement "iVar8 = local_d0[0];" (assignment_expression "iVar8 = local_d0[0]" identifier = (subscript_expression "local_d0[0]" identifier [ number_literal ])) ;) (if_statement "if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }" if (parenthesized_expression "(-1 < iVar9)" ( (binary_expression "-1 < iVar9" number_literal < identifier) )) (compound_statement "{\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "puVar22 = (undefined4 *)0xffffff9c;" (assignment_expression "puVar22 = (undefined4 *)0xffffff9c" identifier = (cast_expression "(undefined4 *)0xffffff9c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);" (assignment_expression "puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900)" identifier = (cast_expression "(undefined4 *)(PTR_LAB_00033108 + 0x2900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00033108 + 0x2900)" ( (binary_expression "PTR_LAB_00033108 + 0x2900" identifier + number_literal) )))) ;) (do_statement "do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );" do (compound_statement "{\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      }" { (expression_statement "local_e0 = (undefined4 *)(iVar18 + -1);" (assignment_expression "local_e0 = (undefined4 *)(iVar18 + -1)" identifier = (cast_expression "(undefined4 *)(iVar18 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -1)" ( (binary_expression "iVar18 + -1" identifier + number_literal) )))) ;) (if_statement "if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }" if (parenthesized_expression "(((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6))" ( (binary_expression "((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)" (parenthesized_expression "((local_104 == iVar8) && (iVar14 == iVar4))" ( (binary_expression "(local_104 == iVar8) && (iVar14 == iVar4)" (parenthesized_expression "(local_104 == iVar8)" ( (binary_expression "local_104 == iVar8" identifier == identifier) )) && (parenthesized_expression "(iVar14 == iVar4)" ( (binary_expression "iVar14 == iVar4" identifier == identifier) ))) )) && (parenthesized_expression "(local_fc == iVar6)" ( (binary_expression "local_fc == iVar6" identifier == identifier) ))) )) (compound_statement "{\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }" { (if_statement "if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;" if (parenthesized_expression "((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))" ( (binary_expression "(iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0)" ( (comma_expression "iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0" (assignment_expression "iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9)" identifier = (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier )))) , (binary_expression "iVar14 != 0" identifier != number_literal)) ))) )) (break_statement "break;" break ;)) (if_statement "if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }" if (parenthesized_expression "(local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1))" ( (binary_expression "local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)" identifier == (cast_expression "(undefined4 *)((int)local_f8 + local_108 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f8 + local_108 + -1)" ( (binary_expression "(int)local_f8 + local_108 + -1" (binary_expression "(int)local_f8 + local_108" (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) )) (compound_statement "{\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }" { (expression_statement "local_e0 = (undefined4 *)(iVar18 + -2);" (assignment_expression "local_e0 = (undefined4 *)(iVar18 + -2)" identifier = (cast_expression "(undefined4 *)(iVar18 + -2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -2)" ( (binary_expression "iVar18 + -2" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 *)local_e0 = 0x2f;" (assignment_expression "*(undefined1 *)local_e0 = 0x2f" (pointer_expression "*(undefined1 *)local_e0" * (cast_expression "(undefined1 *)local_e0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) (expression_statement "local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));" (assignment_expression "local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0))" identifier = (cast_expression "(undefined4 *)((int)local_f8 + (local_108 - (int)local_e0))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_f8 + (local_108 - (int)local_e0))" ( (binary_expression "(int)local_f8 + (local_108 - (int)local_e0)" (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(local_108 - (int)local_e0)" ( (binary_expression "local_108 - (int)local_e0" identifier - (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "(*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);" (call_expression "(*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8)" (parenthesized_expression "(*(code *)PTR_memmove_0003343c)" ( (pointer_expression "*(code *)PTR_memmove_0003343c" * (cast_expression "(code *)PTR_memmove_0003343c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108,local_e0,local_f8)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_100 = param_1;" (assignment_expression "local_100 = param_1" identifier = identifier) ;) (if_statement "if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }" if (parenthesized_expression "(param_2 == (undefined4 *)0x0)" ( (binary_expression "param_2 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }" { (expression_statement "local_100 = (*(code *)PTR_realloc_000333cc)(local_108);" (assignment_expression "local_100 = (*(code *)PTR_realloc_000333cc)(local_108)" identifier = (call_expression "(*(code *)PTR_realloc_000333cc)(local_108)" (parenthesized_expression "(*(code *)PTR_realloc_000333cc)" ( (pointer_expression "*(code *)PTR_realloc_000333cc" * (cast_expression "(code *)PTR_realloc_000333cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108)" ( identifier )))) ;) (expression_statement "local_e0 = local_f8;" (assignment_expression "local_e0 = local_f8" identifier = identifier) ;) })) (expression_statement "iVar18 = local_100;" (assignment_expression "iVar18 = local_100" identifier = identifier) ;) (if_statement "if (local_100 == 0) {\n            iVar18 = local_108;\n          }" if (parenthesized_expression "(local_100 == 0)" ( (binary_expression "local_100 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar18 = local_108;\n          }" { (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" identifier = identifier) ;) })) (goto_statement "goto LAB_0001e2bc;" goto statement_identifier ;) })) (expression_statement "puVar17 = puVar10;" (assignment_expression "puVar17 = puVar10" identifier = identifier) ;) (expression_statement "puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);" (assignment_expression "puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0)" (parenthesized_expression "(*(code *)PTR_openat64_000333a4)" ( (pointer_expression "*(code *)PTR_openat64_000333a4" * (cast_expression "(code *)PTR_openat64_000333a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar22,puVar10,0)" ( identifier , identifier , number_literal ))))) ;) (if_statement "if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }" if (parenthesized_expression "((int)puVar22 < 0)" ( (binary_expression "(int)puVar22 < 0" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }" { (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar9 != 0) goto LAB_0001e298;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;)) (goto_statement "goto joined_r0x0001e37c;" goto statement_identifier ;) })) (expression_statement "puVar17 = puVar22;" (assignment_expression "puVar17 = puVar22" identifier = identifier) ;) (expression_statement "iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);" (assignment_expression "iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0)" identifier = (call_expression "(*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0)" (parenthesized_expression "(*(code *)PTR___fxstat64_000333f4)" ( (pointer_expression "*(code *)PTR___fxstat64_000333f4" * (cast_expression "(code *)PTR___fxstat64_000333f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,puVar22,local_d0)" ( number_literal , identifier , identifier )))) ;) (if_statement "if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }" { (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }" { (expression_statement "(*(code *)PTR_closedir_000332e4)(iVar9);" (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))) ;) })) (labeled_statement "LAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);" statement_identifier : (expression_statement "(*(code *)PTR_close_000332e8)(puVar22);" (call_expression "(*(code *)PTR_close_000332e8)(puVar22)" (parenthesized_expression "(*(code *)PTR_close_000332e8)" ( (pointer_expression "*(code *)PTR_close_000332e8" * (cast_expression "(code *)PTR_close_000332e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar22)" ( identifier ))) ;)) (goto_statement "goto joined_r0x0001e37c;" goto statement_identifier ;) })) (if_statement "if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }" if (parenthesized_expression "((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0))" ( (binary_expression "(iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)" ( (comma_expression "iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0" (assignment_expression "iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9)" identifier = (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier )))) , (binary_expression "iVar18 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }" { (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (labeled_statement "LAB_0001e368:\n          iVar18 = *piVar11;" statement_identifier : (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;)) (goto_statement "goto LAB_0001e36c;" goto statement_identifier ;) })) (expression_statement "iVar7 = local_bc;" (assignment_expression "iVar7 = local_bc" identifier = identifier) ;) (expression_statement "iVar5 = local_c0;" (assignment_expression "iVar5 = local_c0" identifier = identifier) ;) (expression_statement "iVar3 = local_d0[0];" (assignment_expression "iVar3 = local_d0[0]" identifier = (subscript_expression "local_d0[0]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);" (assignment_expression "iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22)" identifier = (call_expression "(*(code *)PTR_fdopendir_0003333c)(puVar22)" (parenthesized_expression "(*(code *)PTR_fdopendir_0003333c)" ( (pointer_expression "*(code *)PTR_fdopendir_0003333c" * (cast_expression "(code *)PTR_fdopendir_0003333c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar22)" ( identifier )))) ;) (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (iVar9 == 0) goto LAB_0001e368;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001e368;" goto statement_identifier ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (labeled_statement "LAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));" statement_identifier : (do_statement "do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));" do (compound_statement "{\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        }" { (do_statement "do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));" do (compound_statement "{\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          }" { (expression_statement "puVar2 = PTR_readdir64_00033324;" (assignment_expression "puVar2 = PTR_readdir64_00033324" identifier = identifier) ;) (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (expression_statement "piVar12 = (int *)(*(code *)puVar2)(iVar9);" (assignment_expression "piVar12 = (int *)(*(code *)puVar2)(iVar9)" identifier = (cast_expression "(int *)(*(code *)puVar2)(iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar2)(iVar9)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))))) ;) (if_statement "if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }" if (parenthesized_expression "(piVar12 == (int *)0x0)" ( (binary_expression "piVar12 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }" { (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar18 != 0) goto LAB_0001e298;" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;)) (if_statement "if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }" { (expression_statement "(*(code *)PTR_rewinddir_000332d0)(iVar9);" (call_expression "(*(code *)PTR_rewinddir_000332d0)(iVar9)" (parenthesized_expression "(*(code *)PTR_rewinddir_000332d0)" ( (pointer_expression "*(code *)PTR_rewinddir_000332d0" * (cast_expression "(code *)PTR_rewinddir_000332d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))) ;) (expression_statement "piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);" (assignment_expression "piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9)" identifier = (cast_expression "(int *)(*(code *)PTR_readdir64_00033324)(iVar9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_readdir64_00033324)(iVar9)" (parenthesized_expression "(*(code *)PTR_readdir64_00033324)" ( (pointer_expression "*(code *)PTR_readdir64_00033324" * (cast_expression "(code *)PTR_readdir64_00033324" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))))) ;) (if_statement "if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }" if (parenthesized_expression "(piVar12 != (int *)0x0)" ( (binary_expression "piVar12 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }" { (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (if_statement "if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;" if (parenthesized_expression "(*(char *)((int)piVar12 + 0x13) == '.')" ( (binary_expression "*(char *)((int)piVar12 + 0x13) == '.'" (pointer_expression "*(char *)((int)piVar12 + 0x13)" * (cast_expression "(char *)((int)piVar12 + 0x13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 0x13)" ( (binary_expression "(int)piVar12 + 0x13" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_0001e240;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (if_statement "if (iVar18 != 0) goto LAB_0001e298;" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;)) })) (expression_statement "iVar18 = 2;" (assignment_expression "iVar18 = 2" identifier = number_literal) ;) (expression_statement "*piVar11 = 2;" (assignment_expression "*piVar11 = 2" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;) })) (if_statement "if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }" if (parenthesized_expression "(*(char *)((int)piVar12 + 0x13) == '.')" ( (binary_expression "*(char *)((int)piVar12 + 0x13) == '.'" (pointer_expression "*(char *)((int)piVar12 + 0x13)" * (cast_expression "(char *)((int)piVar12 + 0x13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 0x13)" ( (binary_expression "(int)piVar12 + 0x13" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'.'" ' character ')) )) (compound_statement "{\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }" { (labeled_statement "LAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;" statement_identifier : (if_statement "if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;" if (parenthesized_expression "((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))" ( (binary_expression "(*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000)" (parenthesized_expression "(*(char *)(piVar12 + 5) == '\0')" ( (binary_expression "*(char *)(piVar12 + 5) == '\0'" (pointer_expression "*(char *)(piVar12 + 5)" * (cast_expression "(char *)(piVar12 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 5)" ( (binary_expression "piVar12 + 5" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "((piVar12[5] & 0xffff0000U) == 0x2e000000)" ( (binary_expression "(piVar12[5] & 0xffff0000U) == 0x2e000000" (parenthesized_expression "(piVar12[5] & 0xffff0000U)" ( (binary_expression "piVar12[5] & 0xffff0000U" (subscript_expression "piVar12[5]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0001e078;" goto statement_identifier ;))) })) }) while (parenthesized_expression "((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))))" ( (binary_expression "(bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3)))" (parenthesized_expression "(bVar1)" ( identifier )) && (parenthesized_expression "(((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3)))" ( (parenthesized_expression "((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))" ( (binary_expression "(*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3)" (parenthesized_expression "(*piVar12 != iVar14 || (piVar12[1] != local_fc))" ( (binary_expression "*piVar12 != iVar14 || (piVar12[1] != local_fc)" (binary_expression "*piVar12 != iVar14" (pointer_expression "*piVar12" * identifier) != identifier) || (parenthesized_expression "(piVar12[1] != local_fc)" ( (binary_expression "piVar12[1] != local_fc" (subscript_expression "piVar12[1]" identifier [ number_literal ]) != identifier) ))) )) && (parenthesized_expression "(local_104 == iVar3)" ( (binary_expression "local_104 == iVar3" identifier == identifier) ))) )) ))) )) ;) (expression_statement "puVar15 = (undefined4 *)((int)piVar12 + 0x13);" (assignment_expression "puVar15 = (undefined4 *)((int)piVar12 + 0x13)" identifier = (cast_expression "(undefined4 *)((int)piVar12 + 0x13)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar12 + 0x13)" ( (binary_expression "(int)piVar12 + 0x13" (cast_expression "(int)piVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar17 = puVar22;" (assignment_expression "puVar17 = puVar22" identifier = identifier) ;) (expression_statement "iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);" (assignment_expression "iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100)" identifier = (call_expression "(*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100)" (parenthesized_expression "(*(code *)PTR___fxstatat64_00033400)" ( (pointer_expression "*(code *)PTR___fxstatat64_00033400" * (cast_expression "(code *)PTR___fxstatat64_00033400" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,puVar22,puVar15,local_d0,0x100)" ( number_literal , identifier , identifier , identifier , number_literal )))) ;) }) while (parenthesized_expression "((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))))" ( (binary_expression "(((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc)))" (parenthesized_expression "(((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))" ( (binary_expression "((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104)" (parenthesized_expression "((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000))" ( (binary_expression "(iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)" (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) || (parenthesized_expression "((local_b8 & 0xf000) != 0x4000)" ( (binary_expression "(local_b8 & 0xf000) != 0x4000" (parenthesized_expression "(local_b8 & 0xf000)" ( (binary_expression "local_b8 & 0xf000" identifier & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "(local_d0[0] != local_104)" ( (binary_expression "local_d0[0] != local_104" (subscript_expression "local_d0[0]" identifier [ number_literal ]) != identifier) ))) )) || (parenthesized_expression "((local_c0 != iVar14 || (local_bc != local_fc)))" ( (parenthesized_expression "(local_c0 != iVar14 || (local_bc != local_fc))" ( (binary_expression "local_c0 != iVar14 || (local_bc != local_fc)" (binary_expression "local_c0 != iVar14" identifier != identifier) || (parenthesized_expression "(local_bc != local_fc)" ( (binary_expression "local_bc != local_fc" identifier != identifier) ))) )) ))) )) ;)) (expression_statement "puVar21 = (undefined4 *)((int)local_e0 - local_108);" (assignment_expression "puVar21 = (undefined4 *)((int)local_e0 - local_108)" identifier = (cast_expression "(undefined4 *)((int)local_e0 - local_108)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_e0 - local_108)" ( (binary_expression "(int)local_e0 - local_108" (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);" (assignment_expression "puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_000333a8)(puVar15)" (parenthesized_expression "(*(code *)PTR_strlen_000333a8)" ( (pointer_expression "*(code *)PTR_strlen_000333a8" * (cast_expression "(code *)PTR_strlen_000333a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar15)" ( identifier ))))) ;) (if_statement "if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }" if (parenthesized_expression "(puVar21 <= puVar13)" ( (binary_expression "puVar21 <= puVar13" identifier <= identifier) )) (compound_statement "{\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }" { (if_statement "if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }" if (parenthesized_expression "(param_2 != (undefined4 *)0x0)" ( (binary_expression "param_2 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }" { (expression_statement "iVar18 = 0x22;" (assignment_expression "iVar18 = 0x22" identifier = number_literal) ;) (expression_statement "*piVar11 = 0x22;" (assignment_expression "*piVar11 = 0x22" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (goto_statement "goto LAB_0001e298;" goto statement_identifier ;) })) (expression_statement "puVar16 = local_f8;" (assignment_expression "puVar16 = local_f8" identifier = identifier) ;) (if_statement "if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }" if (parenthesized_expression "(local_f8 < puVar13)" ( (binary_expression "local_f8 < puVar13" identifier < identifier) )) (compound_statement "{\n            puVar16 = puVar13;\n          }" { (expression_statement "puVar16 = puVar13;" (assignment_expression "puVar16 = puVar13" identifier = identifier) ;) })) (expression_statement "puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);" (assignment_expression "puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8)" identifier = (cast_expression "(undefined4 *)((int)puVar16 + (int)local_f8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + (int)local_f8)" ( (binary_expression "(int)puVar16 + (int)local_f8" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;" if (parenthesized_expression "((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))" ( (binary_expression "(puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0)" (parenthesized_expression "(puVar20 < local_f8)" ( (binary_expression "puVar20 < local_f8" identifier < identifier) )) || (parenthesized_expression "(puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0)" ( (comma_expression "puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0" (assignment_expression "puVar17 = puVar20" identifier = identifier) , (comma_expression "iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0" (assignment_expression "iVar18 = (*(code *)PTR_realloc_000333cc)(local_108)" identifier = (call_expression "(*(code *)PTR_realloc_000333cc)(local_108)" (parenthesized_expression "(*(code *)PTR_realloc_000333cc)" ( (pointer_expression "*(code *)PTR_realloc_000333cc" * (cast_expression "(code *)PTR_realloc_000333cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108)" ( identifier )))) , (binary_expression "iVar18 == 0" identifier == number_literal))) ))) )) (goto_statement "goto LAB_0001e498;" goto statement_identifier ;)) (expression_statement "local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);" (assignment_expression "local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" identifier = (cast_expression "(undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" (parenthesized_expression "(*(code *)PTR_memcpy_00033434)" ( (pointer_expression "*(code *)PTR_memcpy_00033434" * (cast_expression "(code *)PTR_memcpy_00033434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" ( (binary_expression "iVar18 + (int)puVar16 + (int)puVar21" (binary_expression "iVar18 + (int)puVar16" identifier + (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier)) + (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "iVar18 + (int)puVar21" identifier + (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(int)local_f8 - (int)puVar21" (cast_expression "(int)local_f8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "local_108 = iVar18;" (assignment_expression "local_108 = iVar18" identifier = identifier) ;) (expression_statement "local_f8 = puVar20;" (assignment_expression "local_f8 = puVar20" identifier = identifier) ;) })) (expression_statement "iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);" (assignment_expression "iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13)" identifier = (call_expression "(*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13)" (parenthesized_expression "(*(code *)PTR_memcpy_00033434)" ( (pointer_expression "*(code *)PTR_memcpy_00033434" * (cast_expression "(code *)PTR_memcpy_00033434" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((int)local_e0 - (int)puVar13,puVar15,puVar13)" ( (binary_expression "(int)local_e0 - (int)puVar13" (cast_expression "(int)local_e0" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier )))) ;) (expression_statement "*(undefined1 *)(iVar18 + -1) = 0x2f;" (assignment_expression "*(undefined1 *)(iVar18 + -1) = 0x2f" (pointer_expression "*(undefined1 *)(iVar18 + -1)" * (cast_expression "(undefined1 *)(iVar18 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + -1)" ( (binary_expression "iVar18 + -1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_fc = iVar7;" (assignment_expression "local_fc = iVar7" identifier = identifier) ;) (expression_statement "local_104 = iVar3;" (assignment_expression "local_104 = iVar3" identifier = identifier) ;) (expression_statement "iVar14 = iVar5;" (assignment_expression "iVar14 = iVar5" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "puVar17 = puVar15;" (assignment_expression "puVar17 = puVar15" identifier = identifier) ;) (goto_statement "goto joined_r0x0001e37c;" goto statement_identifier ;) (labeled_statement "LAB_0001e498:\n  iVar18 = 0xc;" statement_identifier : (expression_statement "iVar18 = 0xc;" (assignment_expression "iVar18 = 0xc" identifier = number_literal) ;)) (expression_statement "*piVar11 = 0xc;" (assignment_expression "*piVar11 = 0xc" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (labeled_statement "LAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar9);" statement_identifier : (expression_statement "(*(code *)PTR_closedir_000332e4)(iVar9);" (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" ( (pointer_expression "*(code *)PTR_closedir_000332e4" * (cast_expression "(code *)PTR_closedir_000332e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9)" ( identifier ))) ;)) (labeled_statement "joined_r0x0001e37c:\n  if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }" statement_identifier : (if_statement "if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_free_00033438)(local_108);\n  }" { (expression_statement "(*(code *)PTR_free_00033438)(local_108);" (call_expression "(*(code *)PTR_free_00033438)(local_108)" (parenthesized_expression "(*(code *)PTR_free_00033438)" ( (pointer_expression "*(code *)PTR_free_00033438" * (cast_expression "(code *)PTR_free_00033438" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_108)" ( identifier ))) ;) }))) (expression_statement "*piVar11 = iVar18;" (assignment_expression "*piVar11 = iVar18" (pointer_expression "*piVar11" * identifier) = identifier) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "local_e0 = puVar17;" (assignment_expression "local_e0 = puVar17" identifier = identifier) ;) (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" identifier = identifier) ;) (labeled_statement "LAB_0001e2bc:\n  local_108 = iVar18;" statement_identifier : (expression_statement "local_108 = iVar18;" (assignment_expression "local_108 = iVar18" identifier = identifier) ;)) (if_statement "if (local_2c != *(int *)puVar23) {\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }" if (parenthesized_expression "(local_2c != *(int *)puVar23)" ( (binary_expression "local_2c != *(int *)puVar23" identifier != (pointer_expression "*(int *)puVar23" * (cast_expression "(int *)puVar23" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }" { (expression_statement "iVar18 = local_2c;" (assignment_expression "iVar18 = local_2c" identifier = identifier) ;) (expression_statement "puVar23 = PTR___stack_chk_fail_00033414;" (assignment_expression "puVar23 = PTR___stack_chk_fail_00033414" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00033414)();" (call_expression "(*(code *)PTR___stack_chk_fail_00033414)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00033414)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00033414" * (cast_expression "(code *)PTR___stack_chk_fail_00033414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }" { (expression_statement "iVar18 = -1;" (assignment_expression "iVar18 = -1" identifier = number_literal) ;) (expression_statement "puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();" (assignment_expression "puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar23 + 0x14ea8))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar23 + 0x14ea8))()" (parenthesized_expression "(**(code **)(puVar23 + 0x14ea8))" ( (pointer_expression "**(code **)(puVar23 + 0x14ea8)" * (pointer_expression "*(code **)(puVar23 + 0x14ea8)" * (cast_expression "(code **)(puVar23 + 0x14ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x14ea8)" ( (binary_expression "puVar23 + 0x14ea8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*puVar15 = 0x7a;" (assignment_expression "*puVar15 = 0x7a" (pointer_expression "*puVar15" * identifier) = number_literal) ;) }) (else_clause "else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" else (if_statement "if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" if (parenthesized_expression "(iVar18 == 10)" ( (binary_expression "iVar18 == 10" identifier == number_literal) )) (compound_statement "{\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" { (expression_statement "uVar19 = *local_e0;" (assignment_expression "uVar19 = *local_e0" identifier = (pointer_expression "*local_e0" * identifier)) ;) (expression_statement "iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);" (assignment_expression "iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940)" identifier = (call_expression "(**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940)" (parenthesized_expression "(**(code **)(puVar23 + 0x14f94))" ( (pointer_expression "**(code **)(puVar23 + 0x14f94)" * (pointer_expression "*(code **)(puVar23 + 0x14f94)" * (cast_expression "(code **)(puVar23 + 0x14f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x14f94)" ( (binary_expression "puVar23 + 0x14f94" identifier + number_literal) ))))) )) (argument_list "(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940)" ( identifier , (binary_expression "*(int *)(puVar23 + 0x14c38) + 0x2940" (pointer_expression "*(int *)(puVar23 + 0x14c38)" * (cast_expression "(int *)(puVar23 + 0x14c38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 0x14c38)" ( (binary_expression "puVar23 + 0x14c38" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }" { (expression_statement "iVar18 = -1;" (assignment_expression "iVar18 = -1" identifier = number_literal) ;) (expression_statement "(**(code **)(puVar23 + 0x14e58))(uVar19);" (call_expression "(**(code **)(puVar23 + 0x14e58))(uVar19)" (parenthesized_expression "(**(code **)(puVar23 + 0x14e58))" ( (pointer_expression "**(code **)(puVar23 + 0x14e58)" * (pointer_expression "*(code **)(puVar23 + 0x14e58)" * (cast_expression "(code **)(puVar23 + 0x14e58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x14e58)" ( (binary_expression "puVar23 + 0x14e58" identifier + number_literal) ))))) )) (argument_list "(uVar19)" ( identifier ))) ;) (expression_statement "pcVar24 = *(code **)(puVar23 + 0x14ea8);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x14ea8)" identifier = (pointer_expression "*(code **)(puVar23 + 0x14ea8)" * (cast_expression "(code **)(puVar23 + 0x14ea8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + 0x14ea8)" ( (binary_expression "puVar23 + 0x14ea8" identifier + number_literal) ))))) ;) (expression_statement "*local_e0 = 0;" (assignment_expression "*local_e0 = 0" (pointer_expression "*local_e0" * identifier) = number_literal) ;) (expression_statement "puVar15 = (undefined4 *)(*pcVar24)();" (assignment_expression "puVar15 = (undefined4 *)(*pcVar24)()" identifier = (cast_expression "(undefined4 *)(*pcVar24)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "*puVar15 = 0x3d;" (assignment_expression "*puVar15 = 0x3d" (pointer_expression "*puVar15" * identifier) = number_literal) ;) })) })))) (return_statement "return iVar18;" return identifier ;) })) (return_statement "return local_108;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_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 *)) ) LIT)) ;) (labeled_statement 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 ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_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 = 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 )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (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 (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) + (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;))) })) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) != IDENT) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) ))) )) ;) (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) ;) (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 )))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) ))) )) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) , (binary_expression IDENT == LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) 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 ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) , IDENT , IDENT )))) ;) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( BOOL )) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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 (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (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 (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) })))) (return_statement return IDENT ;) })) (return_statement return IDENT ;) })))
(function_definition "int rpl_getcwd(int param_1,undefined4 *param_2)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  undefined4 *puVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  int local_108;\n  int local_104;\n  int local_100;\n  int local_fc;\n  undefined4 *local_f8;\n  undefined4 *local_e0;\n  int local_d0 [4];\n  int local_c0;\n  int local_bc;\n  uint local_b8;\n  int local_2c;\n  \n  puVar23 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  if (param_2 == (undefined4 *)0x0) {\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }\n  puVar2 = PTR___lxstat64_000332f0;\n  iVar18 = local_108 + (int)local_f8;\n  puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);\n  *(undefined1 *)(iVar18 + -1) = 0;\n  iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);\n  iVar14 = local_c0;\n  if (-1 < iVar8) {\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }\n  piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n  iVar18 = *piVar11;\n  puVar17 = puVar15;\n  goto joined_r0x0001e37c;\nLAB_0001e498:\n  iVar18 = 0xc;\n  *piVar11 = 0xc;\nLAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar9);\njoined_r0x0001e37c:\n  if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }\n  *piVar11 = iVar18;\n  local_108 = 0;\n  local_e0 = puVar17;\n  iVar18 = local_108;\nLAB_0001e2bc:\n  local_108 = iVar18;\n  if (local_2c != *(int *)puVar23) {\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }\n  return local_108;\n}" (primitive_type "int") (function_declarator "rpl_getcwd(int param_1,undefined4 *param_2)" (identifier "rpl_getcwd") (parameter_list "(int param_1,undefined4 *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  int *piVar11;\n  int *piVar12;\n  undefined4 *puVar13;\n  int iVar14;\n  undefined4 *puVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  int iVar18;\n  undefined4 uVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  undefined4 *puVar22;\n  undefined *puVar23;\n  code *pcVar24;\n  int local_108;\n  int local_104;\n  int local_100;\n  int local_fc;\n  undefined4 *local_f8;\n  undefined4 *local_e0;\n  int local_d0 [4];\n  int local_c0;\n  int local_bc;\n  uint local_b8;\n  int local_2c;\n  \n  puVar23 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  if (param_2 == (undefined4 *)0x0) {\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }\n  puVar2 = PTR___lxstat64_000332f0;\n  iVar18 = local_108 + (int)local_f8;\n  puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);\n  *(undefined1 *)(iVar18 + -1) = 0;\n  iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);\n  iVar14 = local_c0;\n  if (-1 < iVar8) {\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }\n  piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n  iVar18 = *piVar11;\n  puVar17 = puVar15;\n  goto joined_r0x0001e37c;\nLAB_0001e498:\n  iVar18 = 0xc;\n  *piVar11 = 0xc;\nLAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar9);\njoined_r0x0001e37c:\n  if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }\n  *piVar11 = iVar18;\n  local_108 = 0;\n  local_e0 = puVar17;\n  iVar18 = local_108;\nLAB_0001e2bc:\n  local_108 = iVar18;\n  if (local_2c != *(int *)puVar23) {\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }\n  return local_108;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int *piVar12;" (primitive_type "int") (pointer_declarator "*piVar12" (* "*") (identifier "piVar12")) (; ";")) (declaration "undefined4 *puVar13;" (type_identifier "undefined4") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined4 *puVar15;" (type_identifier "undefined4") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined4 *puVar16;" (type_identifier "undefined4") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "undefined4 uVar19;" (type_identifier "undefined4") (identifier "uVar19") (; ";")) (declaration "undefined4 *puVar20;" (type_identifier "undefined4") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined4 *puVar21;" (type_identifier "undefined4") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined4 *puVar22;" (type_identifier "undefined4") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "undefined *puVar23;" (type_identifier "undefined") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "code *pcVar24;" (type_identifier "code") (pointer_declarator "*pcVar24" (* "*") (identifier "pcVar24")) (; ";")) (declaration "int local_108;" (primitive_type "int") (identifier "local_108") (; ";")) (declaration "int local_104;" (primitive_type "int") (identifier "local_104") (; ";")) (declaration "int local_100;" (primitive_type "int") (identifier "local_100") (; ";")) (declaration "int local_fc;" (primitive_type "int") (identifier "local_fc") (; ";")) (declaration "undefined4 *local_f8;" (type_identifier "undefined4") (pointer_declarator "*local_f8" (* "*") (identifier "local_f8")) (; ";")) (declaration "undefined4 *local_e0;" (type_identifier "undefined4") (pointer_declarator "*local_e0" (* "*") (identifier "local_e0")) (; ";")) (declaration "int local_d0 [4];" (primitive_type "int") (array_declarator "local_d0 [4]" (identifier "local_d0") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int local_c0;" (primitive_type "int") (identifier "local_c0") (; ";")) (declaration "int local_bc;" (primitive_type "int") (identifier "local_bc") (; ";")) (declaration "uint local_b8;" (type_identifier "uint") (identifier "local_b8") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar23 = PTR___stack_chk_guard_00033430;" (assignment_expression "puVar23 = PTR___stack_chk_guard_00033430" (identifier "puVar23") (= "=") (identifier "PTR___stack_chk_guard_00033430")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00033430;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00033430" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00033430" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00033430" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00033430")))) (; ";")) (if_statement "if (param_2 == (undefined4 *)0x0) {\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }\n  else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }" (if "if") (parenthesized_expression "(param_2 == (undefined4 *)0x0)" (( "(") (binary_expression "param_2 == (undefined4 *)0x0" (identifier "param_2") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }\n    local_f8 = (undefined4 *)0x1000;\nLAB_0001dee8:\n    local_e0 = param_2;\n    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);\n    iVar18 = local_108;\n    if (local_108 == 0) goto LAB_0001e2bc;\n  }" ({ "{") (if_statement "if (param_1 != 0) {\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      local_108 = 0;\n      *puVar15 = 0x16;\n      local_e0 = param_2;\n      iVar18 = local_108;\n      goto LAB_0001e2bc;\n    }" ({ "{") (expression_statement "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00033378" (* "*") (cast_expression "(code *)PTR___errno_location_00033378" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00033378"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" (identifier "local_108") (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar15 = 0x16;" (assignment_expression "*puVar15 = 0x16" (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) (= "=") (number_literal "0x16")) (; ";")) (expression_statement "local_e0 = param_2;" (assignment_expression "local_e0 = param_2" (identifier "local_e0") (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" (identifier "iVar18") (= "=") (identifier "local_108")) (; ";")) (goto_statement "goto LAB_0001e2bc;" (goto "goto") (statement_identifier "LAB_0001e2bc") (; ";")) (} "}"))) (expression_statement "local_f8 = (undefined4 *)0x1000;" (assignment_expression "local_f8 = (undefined4 *)0x1000" (identifier "local_f8") (= "=") (cast_expression "(undefined4 *)0x1000" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1000"))) (; ";")) (labeled_statement "LAB_0001dee8:\n    local_e0 = param_2;" (statement_identifier "LAB_0001dee8") (: ":") (expression_statement "local_e0 = param_2;" (assignment_expression "local_e0 = param_2" (identifier "local_e0") (= "=") (identifier "param_2")) (; ";"))) (expression_statement "local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);" (assignment_expression "local_108 = (*(code *)PTR_malloc_000333c4)(local_f8)" (identifier "local_108") (= "=") (call_expression "(*(code *)PTR_malloc_000333c4)(local_f8)" (parenthesized_expression "(*(code *)PTR_malloc_000333c4)" (( "(") (pointer_expression "*(code *)PTR_malloc_000333c4" (* "*") (cast_expression "(code *)PTR_malloc_000333c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_malloc_000333c4"))) () ")")) (argument_list "(local_f8)" (( "(") (identifier "local_f8") () ")")))) (; ";")) (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" (identifier "iVar18") (= "=") (identifier "local_108")) (; ";")) (if_statement "if (local_108 == 0) goto LAB_0001e2bc;" (if "if") (parenthesized_expression "(local_108 == 0)" (( "(") (binary_expression "local_108 == 0" (identifier "local_108") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e2bc;" (goto "goto") (statement_identifier "LAB_0001e2bc") (; ";"))) (} "}")) (else_clause "else {\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }" (else "else") (compound_statement "{\n    local_108 = param_1;\n    local_f8 = param_2;\n    if (param_1 == 0) goto LAB_0001dee8;\n  }" ({ "{") (expression_statement "local_108 = param_1;" (assignment_expression "local_108 = param_1" (identifier "local_108") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_f8 = param_2;" (assignment_expression "local_f8 = param_2" (identifier "local_f8") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (param_1 == 0) goto LAB_0001dee8;" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001dee8;" (goto "goto") (statement_identifier "LAB_0001dee8") (; ";"))) (} "}")))) (expression_statement "puVar2 = PTR___lxstat64_000332f0;" (assignment_expression "puVar2 = PTR___lxstat64_000332f0" (identifier "puVar2") (= "=") (identifier "PTR___lxstat64_000332f0")) (; ";")) (expression_statement "iVar18 = local_108 + (int)local_f8;" (assignment_expression "iVar18 = local_108 + (int)local_f8" (identifier "iVar18") (= "=") (binary_expression "local_108 + (int)local_f8" (identifier "local_108") (+ "+") (cast_expression "(int)local_f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f8")))) (; ";")) (expression_statement "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);" (assignment_expression "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0)" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)(PTR_LAB_00033108 + 0x1bd0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00033108 + 0x1bd0)" (( "(") (binary_expression "PTR_LAB_00033108 + 0x1bd0" (identifier "PTR_LAB_00033108") (+ "+") (number_literal "0x1bd0")) () ")")))) (; ";")) (expression_statement "*(undefined1 *)(iVar18 + -1) = 0;" (assignment_expression "*(undefined1 *)(iVar18 + -1) = 0" (pointer_expression "*(undefined1 *)(iVar18 + -1)" (* "*") (cast_expression "(undefined1 *)(iVar18 + -1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + -1)" (( "(") (binary_expression "iVar18 + -1" (identifier "iVar18") (+ "+") (number_literal "-1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);" (assignment_expression "iVar8 = (*(code *)puVar2)(3,puVar15,local_d0)" (identifier "iVar8") (= "=") (call_expression "(*(code *)puVar2)(3,puVar15,local_d0)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(3,puVar15,local_d0)" (( "(") (number_literal "3") (, ",") (identifier "puVar15") (, ",") (identifier "local_d0") () ")")))) (; ";")) (expression_statement "iVar14 = local_c0;" (assignment_expression "iVar14 = local_c0" (identifier "iVar14") (= "=") (identifier "local_c0")) (; ";")) (if_statement "if (-1 < iVar8) {\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }" (if "if") (parenthesized_expression "(-1 < iVar8)" (( "(") (binary_expression "-1 < iVar8" (number_literal "-1") (< "<") (identifier "iVar8")) () ")")) (compound_statement "{\n    local_104 = local_d0[0];\n    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);\n    local_fc = local_bc;\n    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);\n    iVar6 = local_bc;\n    iVar4 = local_c0;\n    iVar8 = local_d0[0];\n    if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }\n  }" ({ "{") (expression_statement "local_104 = local_d0[0];" (assignment_expression "local_104 = local_d0[0]" (identifier "local_104") (= "=") (subscript_expression "local_d0[0]" (identifier "local_d0") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);" (assignment_expression "puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8)" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)(PTR_LAB_00033108 + 0x1af8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00033108 + 0x1af8)" (( "(") (binary_expression "PTR_LAB_00033108 + 0x1af8" (identifier "PTR_LAB_00033108") (+ "+") (number_literal "0x1af8")) () ")")))) (; ";")) (expression_statement "local_fc = local_bc;" (assignment_expression "local_fc = local_bc" (identifier "local_fc") (= "=") (identifier "local_bc")) (; ";")) (expression_statement "iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);" (assignment_expression "iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0)" (parenthesized_expression "(*(code *)PTR___lxstat64_000332f0)" (( "(") (pointer_expression "*(code *)PTR___lxstat64_000332f0" (* "*") (cast_expression "(code *)PTR___lxstat64_000332f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___lxstat64_000332f0"))) () ")")) (argument_list "(3,puVar15,local_d0)" (( "(") (number_literal "3") (, ",") (identifier "puVar15") (, ",") (identifier "local_d0") () ")")))) (; ";")) (expression_statement "iVar6 = local_bc;" (assignment_expression "iVar6 = local_bc" (identifier "iVar6") (= "=") (identifier "local_bc")) (; ";")) (expression_statement "iVar4 = local_c0;" (assignment_expression "iVar4 = local_c0" (identifier "iVar4") (= "=") (identifier "local_c0")) (; ";")) (expression_statement "iVar8 = local_d0[0];" (assignment_expression "iVar8 = local_d0[0]" (identifier "iVar8") (= "=") (subscript_expression "local_d0[0]" (identifier "local_d0") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (-1 < iVar9) {\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(-1 < iVar9)" (( "(") (binary_expression "-1 < iVar9" (number_literal "-1") (< "<") (identifier "iVar9")) () ")")) (compound_statement "{\n      iVar9 = 0;\n      puVar22 = (undefined4 *)0xffffff9c;\n      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);\n      do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );\n    }" ({ "{") (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar22 = (undefined4 *)0xffffff9c;" (assignment_expression "puVar22 = (undefined4 *)0xffffff9c" (identifier "puVar22") (= "=") (cast_expression "(undefined4 *)0xffffff9c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffff9c"))) (; ";")) (expression_statement "puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);" (assignment_expression "puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900)" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)(PTR_LAB_00033108 + 0x2900)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00033108 + 0x2900)" (( "(") (binary_expression "PTR_LAB_00033108 + 0x2900" (identifier "PTR_LAB_00033108") (+ "+") (number_literal "0x2900")) () ")")))) (; ";")) (do_statement "do {\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      } while( true );" (do "do") (compound_statement "{\n        local_e0 = (undefined4 *)(iVar18 + -1);\n        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }\n        puVar17 = puVar10;\n        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);\n        if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }\n        puVar17 = puVar22;\n        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);\n        if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }\n        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }\n        iVar7 = local_bc;\n        iVar5 = local_c0;\n        iVar3 = local_d0[0];\n        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);\n        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n        if (iVar9 == 0) goto LAB_0001e368;\n        bVar1 = true;\nLAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));\n        puVar21 = (undefined4 *)((int)local_e0 - local_108);\n        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);\n        if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }\n        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);\n        *(undefined1 *)(iVar18 + -1) = 0x2f;\n        local_fc = iVar7;\n        local_104 = iVar3;\n        iVar14 = iVar5;\n      }" ({ "{") (expression_statement "local_e0 = (undefined4 *)(iVar18 + -1);" (assignment_expression "local_e0 = (undefined4 *)(iVar18 + -1)" (identifier "local_e0") (= "=") (cast_expression "(undefined4 *)(iVar18 + -1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + -1)" (( "(") (binary_expression "iVar18 + -1" (identifier "iVar18") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (if_statement "if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }" (if "if") (parenthesized_expression "(((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6))" (( "(") (binary_expression "((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)" (parenthesized_expression "((local_104 == iVar8) && (iVar14 == iVar4))" (( "(") (binary_expression "(local_104 == iVar8) && (iVar14 == iVar4)" (parenthesized_expression "(local_104 == iVar8)" (( "(") (binary_expression "local_104 == iVar8" (identifier "local_104") (== "==") (identifier "iVar8")) () ")")) (&& "&&") (parenthesized_expression "(iVar14 == iVar4)" (( "(") (binary_expression "iVar14 == iVar4" (identifier "iVar14") (== "==") (identifier "iVar4")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_fc == iVar6)" (( "(") (binary_expression "local_fc == iVar6" (identifier "local_fc") (== "==") (identifier "iVar6")) () ")"))) () ")")) (compound_statement "{\n          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;\n          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }\n          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));\n          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);\n          local_100 = param_1;\n          if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }\n          iVar18 = local_100;\n          if (local_100 == 0) {\n            iVar18 = local_108;\n          }\n          goto LAB_0001e2bc;\n        }" ({ "{") (if_statement "if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))\n          break;" (if "if") (parenthesized_expression "((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))" (( "(") (binary_expression "(iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0)" (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0)" (( "(") (comma_expression "iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0" (assignment_expression "iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9)" (identifier "iVar14") (= "=") (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" (( "(") (pointer_expression "*(code *)PTR_closedir_000332e4" (* "*") (cast_expression "(code *)PTR_closedir_000332e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_closedir_000332e4"))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")")))) (, ",") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }" (if "if") (parenthesized_expression "(local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1))" (( "(") (binary_expression "local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)" (identifier "local_e0") (== "==") (cast_expression "(undefined4 *)((int)local_f8 + local_108 + -1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_f8 + local_108 + -1)" (( "(") (binary_expression "(int)local_f8 + local_108 + -1" (binary_expression "(int)local_f8 + local_108" (cast_expression "(int)local_f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f8")) (+ "+") (identifier "local_108")) (+ "+") (number_literal "-1")) () ")")))) () ")")) (compound_statement "{\n            local_e0 = (undefined4 *)(iVar18 + -2);\n            *(undefined1 *)local_e0 = 0x2f;\n          }" ({ "{") (expression_statement "local_e0 = (undefined4 *)(iVar18 + -2);" (assignment_expression "local_e0 = (undefined4 *)(iVar18 + -2)" (identifier "local_e0") (= "=") (cast_expression "(undefined4 *)(iVar18 + -2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + -2)" (( "(") (binary_expression "iVar18 + -2" (identifier "iVar18") (+ "+") (number_literal "-2")) () ")")))) (; ";")) (expression_statement "*(undefined1 *)local_e0 = 0x2f;" (assignment_expression "*(undefined1 *)local_e0 = 0x2f" (pointer_expression "*(undefined1 *)local_e0" (* "*") (cast_expression "(undefined1 *)local_e0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_e0"))) (= "=") (number_literal "0x2f")) (; ";")) (} "}"))) (expression_statement "local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));" (assignment_expression "local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0))" (identifier "local_f8") (= "=") (cast_expression "(undefined4 *)((int)local_f8 + (local_108 - (int)local_e0))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_f8 + (local_108 - (int)local_e0))" (( "(") (binary_expression "(int)local_f8 + (local_108 - (int)local_e0)" (cast_expression "(int)local_f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f8")) (+ "+") (parenthesized_expression "(local_108 - (int)local_e0)" (( "(") (binary_expression "local_108 - (int)local_e0" (identifier "local_108") (- "-") (cast_expression "(int)local_e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e0"))) () ")"))) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);" (call_expression "(*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8)" (parenthesized_expression "(*(code *)PTR_memmove_0003343c)" (( "(") (pointer_expression "*(code *)PTR_memmove_0003343c" (* "*") (cast_expression "(code *)PTR_memmove_0003343c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memmove_0003343c"))) () ")")) (argument_list "(local_108,local_e0,local_f8)" (( "(") (identifier "local_108") (, ",") (identifier "local_e0") (, ",") (identifier "local_f8") () ")"))) (; ";")) (expression_statement "local_100 = param_1;" (assignment_expression "local_100 = param_1" (identifier "local_100") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (param_2 == (undefined4 *)0x0) {\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }" (if "if") (parenthesized_expression "(param_2 == (undefined4 *)0x0)" (( "(") (binary_expression "param_2 == (undefined4 *)0x0" (identifier "param_2") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);\n            local_e0 = local_f8;\n          }" ({ "{") (expression_statement "local_100 = (*(code *)PTR_realloc_000333cc)(local_108);" (assignment_expression "local_100 = (*(code *)PTR_realloc_000333cc)(local_108)" (identifier "local_100") (= "=") (call_expression "(*(code *)PTR_realloc_000333cc)(local_108)" (parenthesized_expression "(*(code *)PTR_realloc_000333cc)" (( "(") (pointer_expression "*(code *)PTR_realloc_000333cc" (* "*") (cast_expression "(code *)PTR_realloc_000333cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_realloc_000333cc"))) () ")")) (argument_list "(local_108)" (( "(") (identifier "local_108") () ")")))) (; ";")) (expression_statement "local_e0 = local_f8;" (assignment_expression "local_e0 = local_f8" (identifier "local_e0") (= "=") (identifier "local_f8")) (; ";")) (} "}"))) (expression_statement "iVar18 = local_100;" (assignment_expression "iVar18 = local_100" (identifier "iVar18") (= "=") (identifier "local_100")) (; ";")) (if_statement "if (local_100 == 0) {\n            iVar18 = local_108;\n          }" (if "if") (parenthesized_expression "(local_100 == 0)" (( "(") (binary_expression "local_100 == 0" (identifier "local_100") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar18 = local_108;\n          }" ({ "{") (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" (identifier "iVar18") (= "=") (identifier "local_108")) (; ";")) (} "}"))) (goto_statement "goto LAB_0001e2bc;" (goto "goto") (statement_identifier "LAB_0001e2bc") (; ";")) (} "}"))) (expression_statement "puVar17 = puVar10;" (assignment_expression "puVar17 = puVar10" (identifier "puVar17") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);" (assignment_expression "puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0)" (identifier "puVar22") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0)" (parenthesized_expression "(*(code *)PTR_openat64_000333a4)" (( "(") (pointer_expression "*(code *)PTR_openat64_000333a4" (* "*") (cast_expression "(code *)PTR_openat64_000333a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_openat64_000333a4"))) () ")")) (argument_list "(puVar22,puVar10,0)" (( "(") (identifier "puVar22") (, ",") (identifier "puVar10") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if ((int)puVar22 < 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }" (if "if") (parenthesized_expression "((int)puVar22 < 0)" (( "(") (binary_expression "(int)puVar22 < 0" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) goto LAB_0001e298;\n          goto joined_r0x0001e37c;\n        }" ({ "{") (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00033378" (* "*") (cast_expression "(code *)PTR___errno_location_00033378" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00033378"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" (identifier "iVar18") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (if_statement "if (iVar9 != 0) goto LAB_0001e298;" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e298;" (goto "goto") (statement_identifier "LAB_0001e298") (; ";"))) (goto_statement "goto joined_r0x0001e37c;" (goto "goto") (statement_identifier "joined_r0x0001e37c") (; ";")) (} "}"))) (expression_statement "puVar17 = puVar22;" (assignment_expression "puVar17 = puVar22" (identifier "puVar17") (= "=") (identifier "puVar22")) (; ";")) (expression_statement "iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);" (assignment_expression "iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0)" (identifier "iVar18") (= "=") (call_expression "(*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0)" (parenthesized_expression "(*(code *)PTR___fxstat64_000333f4)" (( "(") (pointer_expression "*(code *)PTR___fxstat64_000333f4" (* "*") (cast_expression "(code *)PTR___fxstat64_000333f4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fxstat64_000333f4"))) () ")")) (argument_list "(3,puVar22,local_d0)" (( "(") (number_literal "3") (, ",") (identifier "puVar22") (, ",") (identifier "local_d0") () ")")))) (; ";")) (if_statement "if (iVar18 != 0) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\n          iVar18 = *piVar11;\n          if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }\nLAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);\n          goto joined_r0x0001e37c;\n        }" ({ "{") (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00033378" (* "*") (cast_expression "(code *)PTR___errno_location_00033378" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00033378"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" (identifier "iVar18") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (if_statement "if (iVar9 != 0) {\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)PTR_closedir_000332e4)(iVar9);\n          }" ({ "{") (expression_statement "(*(code *)PTR_closedir_000332e4)(iVar9);" (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" (( "(") (pointer_expression "*(code *)PTR_closedir_000332e4" (* "*") (cast_expression "(code *)PTR_closedir_000332e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_closedir_000332e4"))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0001e36c:\n          (*(code *)PTR_close_000332e8)(puVar22);" (statement_identifier "LAB_0001e36c") (: ":") (expression_statement "(*(code *)PTR_close_000332e8)(puVar22);" (call_expression "(*(code *)PTR_close_000332e8)(puVar22)" (parenthesized_expression "(*(code *)PTR_close_000332e8)" (( "(") (pointer_expression "*(code *)PTR_close_000332e8" (* "*") (cast_expression "(code *)PTR_close_000332e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_000332e8"))) () ")")) (argument_list "(puVar22)" (( "(") (identifier "puVar22") () ")"))) (; ";"))) (goto_statement "goto joined_r0x0001e37c;" (goto "goto") (statement_identifier "joined_r0x0001e37c") (; ";")) (} "}"))) (if_statement "if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }" (if "if") (parenthesized_expression "((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0))" (( "(") (binary_expression "(iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)" (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)" (( "(") (comma_expression "iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0" (assignment_expression "iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9)" (identifier "iVar18") (= "=") (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" (( "(") (pointer_expression "*(code *)PTR_closedir_000332e4" (* "*") (cast_expression "(code *)PTR_closedir_000332e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_closedir_000332e4"))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")")))) (, ",") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();\nLAB_0001e368:\n          iVar18 = *piVar11;\n          goto LAB_0001e36c;\n        }" ({ "{") (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00033378" (* "*") (cast_expression "(code *)PTR___errno_location_00033378" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00033378"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (labeled_statement "LAB_0001e368:\n          iVar18 = *piVar11;" (statement_identifier "LAB_0001e368") (: ":") (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" (identifier "iVar18") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";"))) (goto_statement "goto LAB_0001e36c;" (goto "goto") (statement_identifier "LAB_0001e36c") (; ";")) (} "}"))) (expression_statement "iVar7 = local_bc;" (assignment_expression "iVar7 = local_bc" (identifier "iVar7") (= "=") (identifier "local_bc")) (; ";")) (expression_statement "iVar5 = local_c0;" (assignment_expression "iVar5 = local_c0" (identifier "iVar5") (= "=") (identifier "local_c0")) (; ";")) (expression_statement "iVar3 = local_d0[0];" (assignment_expression "iVar3 = local_d0[0]" (identifier "iVar3") (= "=") (subscript_expression "local_d0[0]" (identifier "local_d0") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);" (assignment_expression "iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22)" (identifier "iVar9") (= "=") (call_expression "(*(code *)PTR_fdopendir_0003333c)(puVar22)" (parenthesized_expression "(*(code *)PTR_fdopendir_0003333c)" (( "(") (pointer_expression "*(code *)PTR_fdopendir_0003333c" (* "*") (cast_expression "(code *)PTR_fdopendir_0003333c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fdopendir_0003333c"))) () ")")) (argument_list "(puVar22)" (( "(") (identifier "puVar22") () ")")))) (; ";")) (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00033378" (* "*") (cast_expression "(code *)PTR___errno_location_00033378" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00033378"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (iVar9 == 0) goto LAB_0001e368;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e368;" (goto "goto") (statement_identifier "LAB_0001e368") (; ";"))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (labeled_statement "LAB_0001e078:\n        do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));" (statement_identifier "LAB_0001e078") (: ":") (do_statement "do {\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))));" (do "do") (compound_statement "{\n          do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));\n          puVar15 = (undefined4 *)((int)piVar12 + 0x13);\n          puVar17 = puVar22;\n          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);\n        }" ({ "{") (do_statement "do {\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          } while ((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));" (do "do") (compound_statement "{\n            puVar2 = PTR_readdir64_00033324;\n            *piVar11 = 0;\n            piVar12 = (int *)(*(code *)puVar2)(iVar9);\n            if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }\n            if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }\n          }" ({ "{") (expression_statement "puVar2 = PTR_readdir64_00033324;" (assignment_expression "puVar2 = PTR_readdir64_00033324" (identifier "puVar2") (= "=") (identifier "PTR_readdir64_00033324")) (; ";")) (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar12 = (int *)(*(code *)puVar2)(iVar9);" (assignment_expression "piVar12 = (int *)(*(code *)puVar2)(iVar9)" (identifier "piVar12") (= "=") (cast_expression "(int *)(*(code *)puVar2)(iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar2)(iVar9)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))))) (; ";")) (if_statement "if (piVar12 == (int *)0x0) {\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }" (if "if") (parenthesized_expression "(piVar12 == (int *)0x0)" (( "(") (binary_expression "piVar12 == (int *)0x0" (identifier "piVar12") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              iVar18 = *piVar11;\n              if (iVar18 != 0) goto LAB_0001e298;\n              if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }\n              iVar18 = 2;\n              *piVar11 = 2;\n              goto LAB_0001e298;\n            }" ({ "{") (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" (identifier "iVar18") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (if_statement "if (iVar18 != 0) goto LAB_0001e298;" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e298;" (goto "goto") (statement_identifier "LAB_0001e298") (; ";"))) (if_statement "if (bVar1) {\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n                (*(code *)PTR_rewinddir_000332d0)(iVar9);\n                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);\n                if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }\n                iVar18 = *piVar11;\n                if (iVar18 != 0) goto LAB_0001e298;\n              }" ({ "{") (expression_statement "(*(code *)PTR_rewinddir_000332d0)(iVar9);" (call_expression "(*(code *)PTR_rewinddir_000332d0)(iVar9)" (parenthesized_expression "(*(code *)PTR_rewinddir_000332d0)" (( "(") (pointer_expression "*(code *)PTR_rewinddir_000332d0" (* "*") (cast_expression "(code *)PTR_rewinddir_000332d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rewinddir_000332d0"))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))) (; ";")) (expression_statement "piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);" (assignment_expression "piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9)" (identifier "piVar12") (= "=") (cast_expression "(int *)(*(code *)PTR_readdir64_00033324)(iVar9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_readdir64_00033324)(iVar9)" (parenthesized_expression "(*(code *)PTR_readdir64_00033324)" (( "(") (pointer_expression "*(code *)PTR_readdir64_00033324" (* "*") (cast_expression "(code *)PTR_readdir64_00033324" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_readdir64_00033324"))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))))) (; ";")) (if_statement "if (piVar12 != (int *)0x0) {\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }" (if "if") (parenthesized_expression "(piVar12 != (int *)0x0)" (( "(") (binary_expression "piVar12 != (int *)0x0" (identifier "piVar12") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  bVar1 = false;\n                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;\n                  break;\n                }" ({ "{") (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (if_statement "if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;" (if "if") (parenthesized_expression "(*(char *)((int)piVar12 + 0x13) == '.')" (( "(") (binary_expression "*(char *)((int)piVar12 + 0x13) == '.'" (pointer_expression "*(char *)((int)piVar12 + 0x13)" (* "*") (cast_expression "(char *)((int)piVar12 + 0x13)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar12 + 0x13)" (( "(") (binary_expression "(int)piVar12 + 0x13" (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12")) (+ "+") (number_literal "0x13")) () ")")))) (== "==") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (goto_statement "goto LAB_0001e240;" (goto "goto") (statement_identifier "LAB_0001e240") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" (identifier "iVar18") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (if_statement "if (iVar18 != 0) goto LAB_0001e298;" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001e298;" (goto "goto") (statement_identifier "LAB_0001e298") (; ";"))) (} "}"))) (expression_statement "iVar18 = 2;" (assignment_expression "iVar18 = 2" (identifier "iVar18") (= "=") (number_literal "2")) (; ";")) (expression_statement "*piVar11 = 2;" (assignment_expression "*piVar11 = 2" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_0001e298;" (goto "goto") (statement_identifier "LAB_0001e298") (; ";")) (} "}"))) (if_statement "if (*(char *)((int)piVar12 + 0x13) == '.') {\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }" (if "if") (parenthesized_expression "(*(char *)((int)piVar12 + 0x13) == '.')" (( "(") (binary_expression "*(char *)((int)piVar12 + 0x13) == '.'" (pointer_expression "*(char *)((int)piVar12 + 0x13)" (* "*") (cast_expression "(char *)((int)piVar12 + 0x13)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar12 + 0x13)" (( "(") (binary_expression "(int)piVar12 + 0x13" (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12")) (+ "+") (number_literal "0x13")) () ")")))) (== "==") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (compound_statement "{\nLAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;\n            }" ({ "{") (labeled_statement "LAB_0001e240:\n              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;" (statement_identifier "LAB_0001e240") (: ":") (if_statement "if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))\n              goto LAB_0001e078;" (if "if") (parenthesized_expression "((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))" (( "(") (binary_expression "(*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000)" (parenthesized_expression "(*(char *)(piVar12 + 5) == '\0')" (( "(") (binary_expression "*(char *)(piVar12 + 5) == '\0'" (pointer_expression "*(char *)(piVar12 + 5)" (* "*") (cast_expression "(char *)(piVar12 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar12 + 5)" (( "(") (binary_expression "piVar12 + 5" (identifier "piVar12") (+ "+") (number_literal "5")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((piVar12[5] & 0xffff0000U) == 0x2e000000)" (( "(") (binary_expression "(piVar12[5] & 0xffff0000U) == 0x2e000000" (parenthesized_expression "(piVar12[5] & 0xffff0000U)" (( "(") (binary_expression "piVar12[5] & 0xffff0000U" (subscript_expression "piVar12[5]" (identifier "piVar12") ([ "[") (number_literal "5") (] "]")) (& "&") (number_literal "0xffff0000U")) () ")")) (== "==") (number_literal "0x2e000000")) () ")"))) () ")")) (goto_statement "goto LAB_0001e078;" (goto "goto") (statement_identifier "LAB_0001e078") (; ";")))) (} "}"))) (} "}")) (while "while") (parenthesized_expression "((bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))))" (( "(") (binary_expression "(bVar1) &&\n                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3)))" (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (&& "&&") (parenthesized_expression "(((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3)))" (( "(") (parenthesized_expression "((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))" (( "(") (binary_expression "(*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3)" (parenthesized_expression "(*piVar12 != iVar14 || (piVar12[1] != local_fc))" (( "(") (binary_expression "*piVar12 != iVar14 || (piVar12[1] != local_fc)" (binary_expression "*piVar12 != iVar14" (pointer_expression "*piVar12" (* "*") (identifier "piVar12")) (!= "!=") (identifier "iVar14")) (|| "||") (parenthesized_expression "(piVar12[1] != local_fc)" (( "(") (binary_expression "piVar12[1] != local_fc" (subscript_expression "piVar12[1]" (identifier "piVar12") ([ "[") (number_literal "1") (] "]")) (!= "!=") (identifier "local_fc")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_104 == iVar3)" (( "(") (binary_expression "local_104 == iVar3" (identifier "local_104") (== "==") (identifier "iVar3")) () ")"))) () ")")) () ")"))) () ")")) (; ";")) (expression_statement "puVar15 = (undefined4 *)((int)piVar12 + 0x13);" (assignment_expression "puVar15 = (undefined4 *)((int)piVar12 + 0x13)" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)((int)piVar12 + 0x13)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar12 + 0x13)" (( "(") (binary_expression "(int)piVar12 + 0x13" (cast_expression "(int)piVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar12")) (+ "+") (number_literal "0x13")) () ")")))) (; ";")) (expression_statement "puVar17 = puVar22;" (assignment_expression "puVar17 = puVar22" (identifier "puVar17") (= "=") (identifier "puVar22")) (; ";")) (expression_statement "iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);" (assignment_expression "iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100)" (identifier "iVar18") (= "=") (call_expression "(*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100)" (parenthesized_expression "(*(code *)PTR___fxstatat64_00033400)" (( "(") (pointer_expression "*(code *)PTR___fxstatat64_00033400" (* "*") (cast_expression "(code *)PTR___fxstatat64_00033400" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fxstatat64_00033400"))) () ")")) (argument_list "(3,puVar22,puVar15,local_d0,0x100)" (( "(") (number_literal "3") (, ",") (identifier "puVar22") (, ",") (identifier "puVar15") (, ",") (identifier "local_d0") (, ",") (number_literal "0x100") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc))))" (( "(") (binary_expression "(((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))\n                || ((local_c0 != iVar14 || (local_bc != local_fc)))" (parenthesized_expression "(((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))" (( "(") (binary_expression "((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104)" (parenthesized_expression "((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000))" (( "(") (binary_expression "(iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)" (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((local_b8 & 0xf000) != 0x4000)" (( "(") (binary_expression "(local_b8 & 0xf000) != 0x4000" (parenthesized_expression "(local_b8 & 0xf000)" (( "(") (binary_expression "local_b8 & 0xf000" (identifier "local_b8") (& "&") (number_literal "0xf000")) () ")")) (!= "!=") (number_literal "0x4000")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(local_d0[0] != local_104)" (( "(") (binary_expression "local_d0[0] != local_104" (subscript_expression "local_d0[0]" (identifier "local_d0") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_104")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((local_c0 != iVar14 || (local_bc != local_fc)))" (( "(") (parenthesized_expression "(local_c0 != iVar14 || (local_bc != local_fc))" (( "(") (binary_expression "local_c0 != iVar14 || (local_bc != local_fc)" (binary_expression "local_c0 != iVar14" (identifier "local_c0") (!= "!=") (identifier "iVar14")) (|| "||") (parenthesized_expression "(local_bc != local_fc)" (( "(") (binary_expression "local_bc != local_fc" (identifier "local_bc") (!= "!=") (identifier "local_fc")) () ")"))) () ")")) () ")"))) () ")")) (; ";"))) (expression_statement "puVar21 = (undefined4 *)((int)local_e0 - local_108);" (assignment_expression "puVar21 = (undefined4 *)((int)local_e0 - local_108)" (identifier "puVar21") (= "=") (cast_expression "(undefined4 *)((int)local_e0 - local_108)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_e0 - local_108)" (( "(") (binary_expression "(int)local_e0 - local_108" (cast_expression "(int)local_e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e0")) (- "-") (identifier "local_108")) () ")")))) (; ";")) (expression_statement "puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);" (assignment_expression "puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15)" (identifier "puVar13") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strlen_000333a8)(puVar15)" (parenthesized_expression "(*(code *)PTR_strlen_000333a8)" (( "(") (pointer_expression "*(code *)PTR_strlen_000333a8" (* "*") (cast_expression "(code *)PTR_strlen_000333a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_000333a8"))) () ")")) (argument_list "(puVar15)" (( "(") (identifier "puVar15") () ")"))))) (; ";")) (if_statement "if (puVar21 <= puVar13) {\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }" (if "if") (parenthesized_expression "(puVar21 <= puVar13)" (( "(") (binary_expression "puVar21 <= puVar13" (identifier "puVar21") (<= "<=") (identifier "puVar13")) () ")")) (compound_statement "{\n          if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }\n          puVar16 = local_f8;\n          if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }\n          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);\n          if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;\n          local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);\n          local_108 = iVar18;\n          local_f8 = puVar20;\n        }" ({ "{") (if_statement "if (param_2 != (undefined4 *)0x0) {\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }" (if "if") (parenthesized_expression "(param_2 != (undefined4 *)0x0)" (( "(") (binary_expression "param_2 != (undefined4 *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            iVar18 = 0x22;\n            *piVar11 = 0x22;\n            goto LAB_0001e298;\n          }" ({ "{") (expression_statement "iVar18 = 0x22;" (assignment_expression "iVar18 = 0x22" (identifier "iVar18") (= "=") (number_literal "0x22")) (; ";")) (expression_statement "*piVar11 = 0x22;" (assignment_expression "*piVar11 = 0x22" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (number_literal "0x22")) (; ";")) (goto_statement "goto LAB_0001e298;" (goto "goto") (statement_identifier "LAB_0001e298") (; ";")) (} "}"))) (expression_statement "puVar16 = local_f8;" (assignment_expression "puVar16 = local_f8" (identifier "puVar16") (= "=") (identifier "local_f8")) (; ";")) (if_statement "if (local_f8 < puVar13) {\n            puVar16 = puVar13;\n          }" (if "if") (parenthesized_expression "(local_f8 < puVar13)" (( "(") (binary_expression "local_f8 < puVar13" (identifier "local_f8") (< "<") (identifier "puVar13")) () ")")) (compound_statement "{\n            puVar16 = puVar13;\n          }" ({ "{") (expression_statement "puVar16 = puVar13;" (assignment_expression "puVar16 = puVar13" (identifier "puVar16") (= "=") (identifier "puVar13")) (; ";")) (} "}"))) (expression_statement "puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);" (assignment_expression "puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8)" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)((int)puVar16 + (int)local_f8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + (int)local_f8)" (( "(") (binary_expression "(int)puVar16 + (int)local_f8" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (cast_expression "(int)local_f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f8"))) () ")")))) (; ";")) (if_statement "if ((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))\n          goto LAB_0001e498;" (if "if") (parenthesized_expression "((puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))" (( "(") (binary_expression "(puVar20 < local_f8) ||\n             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0)" (parenthesized_expression "(puVar20 < local_f8)" (( "(") (binary_expression "puVar20 < local_f8" (identifier "puVar20") (< "<") (identifier "local_f8")) () ")")) (|| "||") (parenthesized_expression "(puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0)" (( "(") (comma_expression "puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0" (assignment_expression "puVar17 = puVar20" (identifier "puVar17") (= "=") (identifier "puVar20")) (, ",") (comma_expression "iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0" (assignment_expression "iVar18 = (*(code *)PTR_realloc_000333cc)(local_108)" (identifier "iVar18") (= "=") (call_expression "(*(code *)PTR_realloc_000333cc)(local_108)" (parenthesized_expression "(*(code *)PTR_realloc_000333cc)" (( "(") (pointer_expression "*(code *)PTR_realloc_000333cc" (* "*") (cast_expression "(code *)PTR_realloc_000333cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_realloc_000333cc"))) () ")")) (argument_list "(local_108)" (( "(") (identifier "local_108") () ")")))) (, ",") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")))) () ")"))) () ")")) (goto_statement "goto LAB_0001e498;" (goto "goto") (statement_identifier "LAB_0001e498") (; ";"))) (expression_statement "local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21);" (assignment_expression "local_e0 = (undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" (identifier "local_e0") (= "=") (cast_expression "(undefined4 *)\n                     (*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_memcpy_00033434)\n                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" (parenthesized_expression "(*(code *)PTR_memcpy_00033434)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00033434" (* "*") (cast_expression "(code *)PTR_memcpy_00033434" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00033434"))) () ")")) (argument_list "(iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,\n                                (int)local_f8 - (int)puVar21)" (( "(") (binary_expression "iVar18 + (int)puVar16 + (int)puVar21" (binary_expression "iVar18 + (int)puVar16" (identifier "iVar18") (+ "+") (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16"))) (+ "+") (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21"))) (, ",") (binary_expression "iVar18 + (int)puVar21" (identifier "iVar18") (+ "+") (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21"))) (, ",") (binary_expression "(int)local_f8 - (int)puVar21" (cast_expression "(int)local_f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_f8")) (- "-") (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21"))) () ")"))))) (; ";")) (expression_statement "local_108 = iVar18;" (assignment_expression "local_108 = iVar18" (identifier "local_108") (= "=") (identifier "iVar18")) (; ";")) (expression_statement "local_f8 = puVar20;" (assignment_expression "local_f8 = puVar20" (identifier "local_f8") (= "=") (identifier "puVar20")) (; ";")) (} "}"))) (expression_statement "iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);" (assignment_expression "iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13)" (identifier "iVar18") (= "=") (call_expression "(*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13)" (parenthesized_expression "(*(code *)PTR_memcpy_00033434)" (( "(") (pointer_expression "*(code *)PTR_memcpy_00033434" (* "*") (cast_expression "(code *)PTR_memcpy_00033434" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_00033434"))) () ")")) (argument_list "((int)local_e0 - (int)puVar13,puVar15,puVar13)" (( "(") (binary_expression "(int)local_e0 - (int)puVar13" (cast_expression "(int)local_e0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_e0")) (- "-") (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13"))) (, ",") (identifier "puVar15") (, ",") (identifier "puVar13") () ")")))) (; ";")) (expression_statement "*(undefined1 *)(iVar18 + -1) = 0x2f;" (assignment_expression "*(undefined1 *)(iVar18 + -1) = 0x2f" (pointer_expression "*(undefined1 *)(iVar18 + -1)" (* "*") (cast_expression "(undefined1 *)(iVar18 + -1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar18 + -1)" (( "(") (binary_expression "iVar18 + -1" (identifier "iVar18") (+ "+") (number_literal "-1")) () ")")))) (= "=") (number_literal "0x2f")) (; ";")) (expression_statement "local_fc = iVar7;" (assignment_expression "local_fc = iVar7" (identifier "local_fc") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "local_104 = iVar3;" (assignment_expression "local_104 = iVar3" (identifier "local_104") (= "=") (identifier "iVar3")) (; ";")) (expression_statement "iVar14 = iVar5;" (assignment_expression "iVar14 = iVar5" (identifier "iVar14") (= "=") (identifier "iVar5")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar11 = (int *)(*(code *)PTR___errno_location_00033378)()" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00033378" (* "*") (cast_expression "(code *)PTR___errno_location_00033378" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00033378"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar18 = *piVar11;" (assignment_expression "iVar18 = *piVar11" (identifier "iVar18") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "puVar17 = puVar15;" (assignment_expression "puVar17 = puVar15" (identifier "puVar17") (= "=") (identifier "puVar15")) (; ";")) (goto_statement "goto joined_r0x0001e37c;" (goto "goto") (statement_identifier "joined_r0x0001e37c") (; ";")) (labeled_statement "LAB_0001e498:\n  iVar18 = 0xc;" (statement_identifier "LAB_0001e498") (: ":") (expression_statement "iVar18 = 0xc;" (assignment_expression "iVar18 = 0xc" (identifier "iVar18") (= "=") (number_literal "0xc")) (; ";"))) (expression_statement "*piVar11 = 0xc;" (assignment_expression "*piVar11 = 0xc" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (number_literal "0xc")) (; ";")) (labeled_statement "LAB_0001e298:\n  (*(code *)PTR_closedir_000332e4)(iVar9);" (statement_identifier "LAB_0001e298") (: ":") (expression_statement "(*(code *)PTR_closedir_000332e4)(iVar9);" (call_expression "(*(code *)PTR_closedir_000332e4)(iVar9)" (parenthesized_expression "(*(code *)PTR_closedir_000332e4)" (( "(") (pointer_expression "*(code *)PTR_closedir_000332e4" (* "*") (cast_expression "(code *)PTR_closedir_000332e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_closedir_000332e4"))) () ")")) (argument_list "(iVar9)" (( "(") (identifier "iVar9") () ")"))) (; ";"))) (labeled_statement "joined_r0x0001e37c:\n  if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }" (statement_identifier "joined_r0x0001e37c") (: ":") (if_statement "if (param_1 == 0) {\n    (*(code *)PTR_free_00033438)(local_108);\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_free_00033438)(local_108);\n  }" ({ "{") (expression_statement "(*(code *)PTR_free_00033438)(local_108);" (call_expression "(*(code *)PTR_free_00033438)(local_108)" (parenthesized_expression "(*(code *)PTR_free_00033438)" (( "(") (pointer_expression "*(code *)PTR_free_00033438" (* "*") (cast_expression "(code *)PTR_free_00033438" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_00033438"))) () ")")) (argument_list "(local_108)" (( "(") (identifier "local_108") () ")"))) (; ";")) (} "}")))) (expression_statement "*piVar11 = iVar18;" (assignment_expression "*piVar11 = iVar18" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (identifier "iVar18")) (; ";")) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" (identifier "local_108") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e0 = puVar17;" (assignment_expression "local_e0 = puVar17" (identifier "local_e0") (= "=") (identifier "puVar17")) (; ";")) (expression_statement "iVar18 = local_108;" (assignment_expression "iVar18 = local_108" (identifier "iVar18") (= "=") (identifier "local_108")) (; ";")) (labeled_statement "LAB_0001e2bc:\n  local_108 = iVar18;" (statement_identifier "LAB_0001e2bc") (: ":") (expression_statement "local_108 = iVar18;" (assignment_expression "local_108 = iVar18" (identifier "local_108") (= "=") (identifier "iVar18")) (; ";"))) (if_statement "if (local_2c != *(int *)puVar23) {\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }" (if "if") (parenthesized_expression "(local_2c != *(int *)puVar23)" (( "(") (binary_expression "local_2c != *(int *)puVar23" (identifier "local_2c") (!= "!=") (pointer_expression "*(int *)puVar23" (* "*") (cast_expression "(int *)puVar23" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar23")))) () ")")) (compound_statement "{\n    iVar18 = local_2c;\n    puVar23 = PTR___stack_chk_fail_00033414;\n    (*(code *)PTR___stack_chk_fail_00033414)();\n    if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }\n    return iVar18;\n  }" ({ "{") (expression_statement "iVar18 = local_2c;" (assignment_expression "iVar18 = local_2c" (identifier "iVar18") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar23 = PTR___stack_chk_fail_00033414;" (assignment_expression "puVar23 = PTR___stack_chk_fail_00033414" (identifier "puVar23") (= "=") (identifier "PTR___stack_chk_fail_00033414")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00033414)();" (call_expression "(*(code *)PTR___stack_chk_fail_00033414)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00033414)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00033414" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00033414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00033414"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar18 == 0) {\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }\n    else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" (if "if") (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar18 = -1;\n      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();\n      *puVar15 = 0x7a;\n    }" ({ "{") (expression_statement "iVar18 = -1;" (assignment_expression "iVar18 = -1" (identifier "iVar18") (= "=") (number_literal "-1")) (; ";")) (expression_statement "puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();" (assignment_expression "puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))()" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)(**(code **)(puVar23 + 0x14ea8))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar23 + 0x14ea8))()" (parenthesized_expression "(**(code **)(puVar23 + 0x14ea8))" (( "(") (pointer_expression "**(code **)(puVar23 + 0x14ea8)" (* "*") (pointer_expression "*(code **)(puVar23 + 0x14ea8)" (* "*") (cast_expression "(code **)(puVar23 + 0x14ea8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + 0x14ea8)" (( "(") (binary_expression "puVar23 + 0x14ea8" (identifier "puVar23") (+ "+") (number_literal "0x14ea8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*puVar15 = 0x7a;" (assignment_expression "*puVar15 = 0x7a" (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) (= "=") (number_literal "0x7a")) (; ";")) (} "}")) (else_clause "else if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" (else "else") (if_statement "if (iVar18 == 10) {\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" (if "if") (parenthesized_expression "(iVar18 == 10)" (( "(") (binary_expression "iVar18 == 10" (identifier "iVar18") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n      uVar19 = *local_e0;\n      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);\n      if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }\n    }" ({ "{") (expression_statement "uVar19 = *local_e0;" (assignment_expression "uVar19 = *local_e0" (identifier "uVar19") (= "=") (pointer_expression "*local_e0" (* "*") (identifier "local_e0"))) (; ";")) (expression_statement "iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);" (assignment_expression "iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940)" (identifier "iVar14") (= "=") (call_expression "(**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940)" (parenthesized_expression "(**(code **)(puVar23 + 0x14f94))" (( "(") (pointer_expression "**(code **)(puVar23 + 0x14f94)" (* "*") (pointer_expression "*(code **)(puVar23 + 0x14f94)" (* "*") (cast_expression "(code **)(puVar23 + 0x14f94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + 0x14f94)" (( "(") (binary_expression "puVar23 + 0x14f94" (identifier "puVar23") (+ "+") (number_literal "0x14f94")) () ")"))))) () ")")) (argument_list "(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940)" (( "(") (identifier "uVar19") (, ",") (binary_expression "*(int *)(puVar23 + 0x14c38) + 0x2940" (pointer_expression "*(int *)(puVar23 + 0x14c38)" (* "*") (cast_expression "(int *)(puVar23 + 0x14c38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + 0x14c38)" (( "(") (binary_expression "puVar23 + 0x14c38" (identifier "puVar23") (+ "+") (number_literal "0x14c38")) () ")")))) (+ "+") (number_literal "0x2940")) () ")")))) (; ";")) (if_statement "if (iVar14 == 0) {\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar18 = -1;\n        (**(code **)(puVar23 + 0x14e58))(uVar19);\n        pcVar24 = *(code **)(puVar23 + 0x14ea8);\n        *local_e0 = 0;\n        puVar15 = (undefined4 *)(*pcVar24)();\n        *puVar15 = 0x3d;\n      }" ({ "{") (expression_statement "iVar18 = -1;" (assignment_expression "iVar18 = -1" (identifier "iVar18") (= "=") (number_literal "-1")) (; ";")) (expression_statement "(**(code **)(puVar23 + 0x14e58))(uVar19);" (call_expression "(**(code **)(puVar23 + 0x14e58))(uVar19)" (parenthesized_expression "(**(code **)(puVar23 + 0x14e58))" (( "(") (pointer_expression "**(code **)(puVar23 + 0x14e58)" (* "*") (pointer_expression "*(code **)(puVar23 + 0x14e58)" (* "*") (cast_expression "(code **)(puVar23 + 0x14e58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + 0x14e58)" (( "(") (binary_expression "puVar23 + 0x14e58" (identifier "puVar23") (+ "+") (number_literal "0x14e58")) () ")"))))) () ")")) (argument_list "(uVar19)" (( "(") (identifier "uVar19") () ")"))) (; ";")) (expression_statement "pcVar24 = *(code **)(puVar23 + 0x14ea8);" (assignment_expression "pcVar24 = *(code **)(puVar23 + 0x14ea8)" (identifier "pcVar24") (= "=") (pointer_expression "*(code **)(puVar23 + 0x14ea8)" (* "*") (cast_expression "(code **)(puVar23 + 0x14ea8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar23 + 0x14ea8)" (( "(") (binary_expression "puVar23 + 0x14ea8" (identifier "puVar23") (+ "+") (number_literal "0x14ea8")) () ")"))))) (; ";")) (expression_statement "*local_e0 = 0;" (assignment_expression "*local_e0 = 0" (pointer_expression "*local_e0" (* "*") (identifier "local_e0")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar15 = (undefined4 *)(*pcVar24)();" (assignment_expression "puVar15 = (undefined4 *)(*pcVar24)()" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)(*pcVar24)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" (( "(") (pointer_expression "*pcVar24" (* "*") (identifier "pcVar24")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*puVar15 = 0x3d;" (assignment_expression "*puVar15 = 0x3d" (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) (= "=") (number_literal "0x3d")) (; ";")) (} "}"))) (} "}"))))) (return_statement "return iVar18;" (return "return") (identifier "iVar18") (; ";")) (} "}"))) (return_statement "return local_108;" (return "return") (identifier "local_108") (; ";")) (} "}")))

char * function_1(char *var_2,size_t var_1)

{
  bool bVar1;
  type_1 *puVar2;
  type_2 var_9;
  type_2 var_18;
  int iVar5;
  int var_12;
  int iVar7;
  char *var_24;
  int var_5;
  int var_6;
  char *pcVar11;
  int var_16;
  int *piVar13;
  int *var_17;
  char *var_20;
  char *var_23;
  int var_10;
  type_3 *puVar18;
  char *var_21;
  char *pcVar20;
  char *var_7;
  type_3 uVar22;
  char *var_22;
  char *var_19;
  char *pcVar25;
  type_1 *var_25;
  type_4 *pcVar27;
  char *var_3;
  type_2 var_8;
  char *var_15;
  int var_11;
  char *var_14;
  char *var_13;
  type_5 st;
  
  var_25 = PTR___stack_chk_guard_00033430;
  var_24 = *(char **)PTR___stack_chk_guard_00033430;
  if (var_1 == 0) {
    if (var_2 != (char *)0x0) {
      puVar18 = (type_3 *)(*(type_4 *)PTR___errno_location_00033378)();
      var_3 = (char *)0x0;
      *puVar18 = 0x16;
      var_13 = (char *)var_1;
      var_7 = var_3;
      goto LAB_0001e2bc;
    }
    var_14 = (char *)0x1000;
LAB_0001dee8:
    var_13 = (char *)var_1;
    var_3 = (char *)(*(type_4 *)PTR_malloc_000333c4)(var_14);
    var_7 = var_3;
    if (var_3 == (char *)0x0) goto LAB_0001e2bc;
  }
  else {
    var_3 = var_2;
    var_14 = (char *)var_1;
    if (var_2 == (char *)0x0) goto LAB_0001dee8;
  }
  puVar2 = PTR___lxstat64_000332f0;
  var_7 = var_3 + (int)var_14;
  pcVar20 = var_4 + 0x1bd0;
  var_7[-1] = '\0';
  var_5 = (*(type_4 *)puVar2)(3,pcVar20,&st);
  var_10 = st.st_ino._0_4_;
  if (-1 < var_5) {
    var_8 = st.st_dev;
    pcVar20 = var_4 + 0x1af8;
    var_11 = st.st_ino._4_4_;
    var_6 = (*(type_4 *)PTR___lxstat64_000332f0)(3,pcVar20,&st);
    var_12 = st.st_ino._4_4_;
    var_5 = st.st_ino._0_4_;
    var_9 = st.st_dev;
    if (-1 < var_6) {
      var_6 = 0;
      pcVar25 = (char *)0xffffff9c;
      pcVar11 = var_4 + 0x2900;
      do {
        var_13 = var_7 + -1;
        if (((var_8 == var_9) && (var_10 == var_5)) && (var_11 == var_12)) {
          if ((var_6 != 0) && (var_10 = (*(type_4 *)PTR_closedir_000332e4)(var_6), var_10 != 0))
          break;
          if (var_13 == var_3 + (int)(var_14 + -1)) {
            var_13 = var_7 + -2;
            *var_13 = '/';
          }
          var_7 = var_3 + (int)var_14 + -(int)var_13;
          (*(type_4 *)PTR_memmove_0003343c)(var_3,var_13,var_7);
          var_15 = var_2;
          if (var_1 == 0) {
            var_15 = (char *)(*(type_4 *)PTR_realloc_000333cc)(var_3);
            var_13 = var_7;
          }
          var_7 = var_15;
          if (var_15 == (char *)0x0) {
            var_7 = var_3;
          }
          goto LAB_0001e2bc;
        }
        var_7 = pcVar11;
        pcVar25 = (char *)(*(type_4 *)PTR_openat64_000333a4)(pcVar25,pcVar11,0);
        if ((int)pcVar25 < 0) {
          piVar13 = (int *)(*(type_4 *)PTR___errno_location_00033378)();
          var_16 = *piVar13;
          if (var_6 != 0) goto LAB_0001e298;
          goto joined_r0x0001e37c;
        }
        var_7 = pcVar25;
        var_16 = (*(type_4 *)PTR___fxstat64_000333f4)(3,pcVar25,&st);
        if (var_16 != 0) {
          piVar13 = (int *)(*(type_4 *)PTR___errno_location_00033378)();
          var_16 = *piVar13;
          if (var_6 != 0) {
            (*(type_4 *)PTR_closedir_000332e4)(var_6);
          }
LAB_0001e36c:
          (*(type_4 *)PTR_close_000332e8)(pcVar25);
          goto joined_r0x0001e37c;
        }
        if ((var_6 != 0) && (var_6 = (*(type_4 *)PTR_closedir_000332e4)(var_6), var_6 != 0)) {
          piVar13 = (int *)(*(type_4 *)PTR___errno_location_00033378)();
LAB_0001e368:
          var_16 = *piVar13;
          goto LAB_0001e36c;
        }
        iVar7 = st.st_ino._4_4_;
        iVar5 = st.st_ino._0_4_;
        var_18 = st.st_dev;
        var_6 = (*(type_4 *)PTR_fdopendir_0003333c)(pcVar25);
        piVar13 = (int *)(*(type_4 *)PTR___errno_location_00033378)();
        if (var_6 == 0) goto LAB_0001e368;
        bVar1 = true;
LAB_0001e078:
        do {
          do {
            puVar2 = PTR_readdir64_00033324;
            *piVar13 = 0;
            var_17 = (int *)(*(type_4 *)puVar2)(var_6);
            if (var_17 == (int *)0x0) {
              var_16 = *piVar13;
              if (var_16 != 0) goto LAB_0001e298;
              if (bVar1) {
                (*(type_4 *)PTR_rewinddir_000332d0)(var_6);
                var_17 = (int *)(*(type_4 *)PTR_readdir64_00033324)(var_6);
                if (var_17 != (int *)0x0) {
                  bVar1 = false;
                  if (*(char *)((int)var_17 + 0x13) == '.') goto LAB_0001e240;
                  break;
                }
                var_16 = *piVar13;
                if (var_16 != 0) goto LAB_0001e298;
              }
              var_16 = 2;
              *piVar13 = 2;
              goto LAB_0001e298;
            }
            if (*(char *)((int)var_17 + 0x13) == '.') {
LAB_0001e240:
              if ((*(char *)(var_17 + 5) == '\0') || ((var_17[5] & 0xffff0000U) == 0x2e000000))
              goto LAB_0001e078;
            }
          } while ((bVar1) &&
                  (((*var_17 != var_10 || (var_17[1] != var_11)) && (var_8 == var_18))));
          pcVar20 = (char *)((int)var_17 + 0x13);
          var_7 = pcVar25;
          var_16 = (*(type_4 *)PTR___fxstatat64_00033400)(3,pcVar25,pcVar20,&st,0x100);
        } while ((((var_16 != 0) || ((st.st_mode & 0xf000) != 0x4000)) || (st.st_dev != var_8))
                || ((st.st_ino._0_4_ != var_10 || (st.st_ino._4_4_ != var_11))));
        var_19 = var_13 + -(int)var_3;
        var_20 = (char *)(*(type_4 *)PTR_strlen_000333a8)(pcVar20);
        if (var_19 <= var_20) {
          if (var_1 != 0) {
            var_16 = 0x22;
            *piVar13 = 0x22;
            goto LAB_0001e298;
          }
          var_21 = var_14;
          if (var_14 < var_20) {
            var_21 = var_20;
          }
          var_22 = var_21 + (int)var_14;
          if ((var_22 < var_14) ||
             (var_7 = var_22, var_23 = (char *)(*(type_4 *)PTR_realloc_000333cc)(var_3),
             var_23 == (char *)0x0)) goto LAB_0001e498;
          var_13 = (char *)(*(type_4 *)PTR_memcpy_00033434)
                                       (var_23 + (int)(var_21 + (int)var_19),
                                        var_23 + (int)var_19,(int)var_14 - (int)var_19);
          var_3 = var_23;
          var_14 = var_22;
        }
        var_7 = (char *)(*(type_4 *)PTR_memcpy_00033434)
                                    ((int)var_13 - (int)var_20,pcVar20,var_20);
        var_7[-1] = '/';
        var_11 = iVar7;
        var_8 = var_18;
        var_10 = iVar5;
      } while( true );
    }
  }
  piVar13 = (int *)(*(type_4 *)PTR___errno_location_00033378)();
  var_16 = *piVar13;
  var_7 = pcVar20;
  goto joined_r0x0001e37c;
LAB_0001e498:
  var_16 = 0xc;
  *piVar13 = 0xc;
LAB_0001e298:
  (*(type_4 *)PTR_closedir_000332e4)(var_6);
joined_r0x0001e37c:
  if (var_2 == (char *)0x0) {
    (*(type_4 *)PTR_free_00033438)(var_3);
  }
  *piVar13 = var_16;
  var_3 = (char *)0x0;
  var_13 = var_7;
  var_7 = var_3;
LAB_0001e2bc:
  var_3 = var_7;
  if (var_24 != *(char **)var_25) {
    var_25 = PTR___stack_chk_fail_00033414;
    (*(type_4 *)PTR___stack_chk_fail_00033414)();
    if (var_24 == (char *)0x0) {
      var_24 = (char *)0xffffffff;
      puVar18 = (type_3 *)(**(type_4 **)(var_25 + 0x14ea8))();
      *puVar18 = 0x7a;
    }
    else if (var_24 == (char *)0xa) {
      uVar22 = *(type_3 *)var_13;
      var_10 = (**(type_4 **)(var_25 + 0x14f94))(uVar22,*(int *)(var_25 + 0x14c38) + 0x2940);
      if (var_10 == 0) {
        var_24 = (char *)0xffffffff;
        (**(type_4 **)(var_25 + 0x14e58))(uVar22);
        pcVar27 = *(type_4 **)(var_25 + 0x14ea8);
        var_13[0] = '\0';
        var_13[1] = '\0';
        var_13[2] = '\0';
        var_13[3] = '\0';
        puVar18 = (type_3 *)(*pcVar27)();
        *puVar18 = 0x3d;
      }
    }
    return var_24;
  }
  return var_3;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) 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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (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: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (number_literal)))) (labeled_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 (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (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: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))))) (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: (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))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (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: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (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))))) (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 (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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)))))) (labeled_statement label: (statement_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))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (true))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (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)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (false))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (character)))) consequence: (goto_statement label: (statement_identifier))) (break_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (goto_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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (character)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (identifier)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (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)))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (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)))) right: (binary_expression left: (identifier) right: (number_literal))))))) consequence: (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: (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 (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (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))) (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 (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) (identifier) (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (true))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (labeled_statement label: (statement_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))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (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))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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 (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))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (identifier) (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)))))) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) arguments: (argument_list (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: (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: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))))) (return_statement (identifier)))) (return_statement (identifier)))))

int MASKED(int param_1,undefined4 *param_2)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  undefined4 *puVar10;
  int *piVar11;
  int *piVar12;
  undefined4 *puVar13;
  int iVar14;
  undefined4 *puVar15;
  undefined4 *puVar16;
  undefined4 *puVar17;
  int iVar18;
  undefined4 uVar19;
  undefined4 *puVar20;
  undefined4 *puVar21;
  undefined4 *puVar22;
  undefined *puVar23;
  code *pcVar24;
  int local_108;
  int local_104;
  int local_100;
  int local_fc;
  undefined4 *local_f8;
  undefined4 *local_e0;
  int local_d0 [4];
  int local_c0;
  int local_bc;
  uint local_b8;
  int local_2c;
  
  puVar23 = PTR___stack_chk_guard_00033430;
  local_2c = *(int *)PTR___stack_chk_guard_00033430;
  if (param_2 == (undefined4 *)0x0) {
    if (param_1 != 0) {
      puVar15 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();
      local_108 = 0;
      *puVar15 = 0x16;
      local_e0 = param_2;
      iVar18 = local_108;
      goto LAB_0001e2bc;
    }
    local_f8 = (undefined4 *)0x1000;
LAB_0001dee8:
    local_e0 = param_2;
    local_108 = (*(code *)PTR_malloc_000333c4)(local_f8);
    iVar18 = local_108;
    if (local_108 == 0) goto LAB_0001e2bc;
  }
  else {
    local_108 = param_1;
    local_f8 = param_2;
    if (param_1 == 0) goto LAB_0001dee8;
  }
  puVar2 = PTR___lxstat64_000332f0;
  iVar18 = local_108 + (int)local_f8;
  puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1bd0);
  *(undefined1 *)(iVar18 + -1) = 0;
  iVar8 = (*(code *)puVar2)(3,puVar15,local_d0);
  iVar14 = local_c0;
  if (-1 < iVar8) {
    local_104 = local_d0[0];
    puVar15 = (undefined4 *)(PTR_LAB_00033108 + 0x1af8);
    local_fc = local_bc;
    iVar9 = (*(code *)PTR___lxstat64_000332f0)(3,puVar15,local_d0);
    iVar6 = local_bc;
    iVar4 = local_c0;
    iVar8 = local_d0[0];
    if (-1 < iVar9) {
      iVar9 = 0;
      puVar22 = (undefined4 *)0xffffff9c;
      puVar10 = (undefined4 *)(PTR_LAB_00033108 + 0x2900);
      do {
        local_e0 = (undefined4 *)(iVar18 + -1);
        if (((local_104 == iVar8) && (iVar14 == iVar4)) && (local_fc == iVar6)) {
          if ((iVar9 != 0) && (iVar14 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar14 != 0))
          break;
          if (local_e0 == (undefined4 *)((int)local_f8 + local_108 + -1)) {
            local_e0 = (undefined4 *)(iVar18 + -2);
            *(undefined1 *)local_e0 = 0x2f;
          }
          local_f8 = (undefined4 *)((int)local_f8 + (local_108 - (int)local_e0));
          (*(code *)PTR_memmove_0003343c)(local_108,local_e0,local_f8);
          local_100 = param_1;
          if (param_2 == (undefined4 *)0x0) {
            local_100 = (*(code *)PTR_realloc_000333cc)(local_108);
            local_e0 = local_f8;
          }
          iVar18 = local_100;
          if (local_100 == 0) {
            iVar18 = local_108;
          }
          goto LAB_0001e2bc;
        }
        puVar17 = puVar10;
        puVar22 = (undefined4 *)(*(code *)PTR_openat64_000333a4)(puVar22,puVar10,0);
        if ((int)puVar22 < 0) {
          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();
          iVar18 = *piVar11;
          if (iVar9 != 0) goto LAB_0001e298;
          goto joined_r0x0001e37c;
        }
        puVar17 = puVar22;
        iVar18 = (*(code *)PTR___fxstat64_000333f4)(3,puVar22,local_d0);
        if (iVar18 != 0) {
          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();
          iVar18 = *piVar11;
          if (iVar9 != 0) {
            (*(code *)PTR_closedir_000332e4)(iVar9);
          }
LAB_0001e36c:
          (*(code *)PTR_close_000332e8)(puVar22);
          goto joined_r0x0001e37c;
        }
        if ((iVar9 != 0) && (iVar18 = (*(code *)PTR_closedir_000332e4)(iVar9), iVar18 != 0)) {
          piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();
LAB_0001e368:
          iVar18 = *piVar11;
          goto LAB_0001e36c;
        }
        iVar7 = local_bc;
        iVar5 = local_c0;
        iVar3 = local_d0[0];
        iVar9 = (*(code *)PTR_fdopendir_0003333c)(puVar22);
        piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();
        if (iVar9 == 0) goto LAB_0001e368;
        bVar1 = true;
LAB_0001e078:
        do {
          do {
            puVar2 = PTR_readdir64_00033324;
            *piVar11 = 0;
            piVar12 = (int *)(*(code *)puVar2)(iVar9);
            if (piVar12 == (int *)0x0) {
              iVar18 = *piVar11;
              if (iVar18 != 0) goto LAB_0001e298;
              if (bVar1) {
                (*(code *)PTR_rewinddir_000332d0)(iVar9);
                piVar12 = (int *)(*(code *)PTR_readdir64_00033324)(iVar9);
                if (piVar12 != (int *)0x0) {
                  bVar1 = false;
                  if (*(char *)((int)piVar12 + 0x13) == '.') goto LAB_0001e240;
                  break;
                }
                iVar18 = *piVar11;
                if (iVar18 != 0) goto LAB_0001e298;
              }
              iVar18 = 2;
              *piVar11 = 2;
              goto LAB_0001e298;
            }
            if (*(char *)((int)piVar12 + 0x13) == '.') {
LAB_0001e240:
              if ((*(char *)(piVar12 + 5) == '\0') || ((piVar12[5] & 0xffff0000U) == 0x2e000000))
              goto LAB_0001e078;
            }
          } while ((bVar1) &&
                  (((*piVar12 != iVar14 || (piVar12[1] != local_fc)) && (local_104 == iVar3))));
          puVar15 = (undefined4 *)((int)piVar12 + 0x13);
          puVar17 = puVar22;
          iVar18 = (*(code *)PTR___fxstatat64_00033400)(3,puVar22,puVar15,local_d0,0x100);
        } while ((((iVar18 != 0) || ((local_b8 & 0xf000) != 0x4000)) || (local_d0[0] != local_104))
                || ((local_c0 != iVar14 || (local_bc != local_fc))));
        puVar21 = (undefined4 *)((int)local_e0 - local_108);
        puVar13 = (undefined4 *)(*(code *)PTR_strlen_000333a8)(puVar15);
        if (puVar21 <= puVar13) {
          if (param_2 != (undefined4 *)0x0) {
            iVar18 = 0x22;
            *piVar11 = 0x22;
            goto LAB_0001e298;
          }
          puVar16 = local_f8;
          if (local_f8 < puVar13) {
            puVar16 = puVar13;
          }
          puVar20 = (undefined4 *)((int)puVar16 + (int)local_f8);
          if ((puVar20 < local_f8) ||
             (puVar17 = puVar20, iVar18 = (*(code *)PTR_realloc_000333cc)(local_108), iVar18 == 0))
          goto LAB_0001e498;
          local_e0 = (undefined4 *)
                     (*(code *)PTR_memcpy_00033434)
                               (iVar18 + (int)puVar16 + (int)puVar21,iVar18 + (int)puVar21,
                                (int)local_f8 - (int)puVar21);
          local_108 = iVar18;
          local_f8 = puVar20;
        }
        iVar18 = (*(code *)PTR_memcpy_00033434)((int)local_e0 - (int)puVar13,puVar15,puVar13);
        *(undefined1 *)(iVar18 + -1) = 0x2f;
        local_fc = iVar7;
        local_104 = iVar3;
        iVar14 = iVar5;
      } while( true );
    }
  }
  piVar11 = (int *)(*(code *)PTR___errno_location_00033378)();
  iVar18 = *piVar11;
  puVar17 = puVar15;
  goto joined_r0x0001e37c;
LAB_0001e498:
  iVar18 = 0xc;
  *piVar11 = 0xc;
LAB_0001e298:
  (*(code *)PTR_closedir_000332e4)(iVar9);
joined_r0x0001e37c:
  if (param_1 == 0) {
    (*(code *)PTR_free_00033438)(local_108);
  }
  *piVar11 = iVar18;
  local_108 = 0;
  local_e0 = puVar17;
  iVar18 = local_108;
LAB_0001e2bc:
  local_108 = iVar18;
  if (local_2c != *(int *)puVar23) {
    iVar18 = local_2c;
    puVar23 = PTR___stack_chk_fail_00033414;
    (*(code *)PTR___stack_chk_fail_00033414)();
    if (iVar18 == 0) {
      iVar18 = -1;
      puVar15 = (undefined4 *)(**(code **)(puVar23 + 0x14ea8))();
      *puVar15 = 0x7a;
    }
    else if (iVar18 == 10) {
      uVar19 = *local_e0;
      iVar14 = (**(code **)(puVar23 + 0x14f94))(uVar19,*(int *)(puVar23 + 0x14c38) + 0x2940);
      if (iVar14 == 0) {
        iVar18 = -1;
        (**(code **)(puVar23 + 0x14e58))(uVar19);
        pcVar24 = *(code **)(puVar23 + 0x14ea8);
        *local_e0 = 0;
        puVar15 = (undefined4 *)(*pcVar24)();
        *puVar15 = 0x3d;
      }
    }
    return iVar18;
  }
  return local_108;
}

