
void robust_getcwd(file_name *file_name)

{
  char cVar1;
  long lVar2;
  int iVar3;
  int iVar4;
  dev_ino *pdVar5;
  int *piVar6;
  char *pcVar7;
  undefined8 uVar8;
  DIR *__dirp;
  dirent *pdVar9;
  __ino_t _Var10;
  ulong uVar11;
  __dev_t unaff_R12;
  __dev_t _Var12;
  __dev_t unaff_R13;
  __dev_t _Var13;
  char unaff_R14B;
  size_t unaff_R15;
  long in_FS_OFFSET;
  byte bVar14;
  uint *local_238;
  size_t local_230;
  stat *local_228;
  stat *local_218;
  dev_ino dev_ino_buf;
  stat dot_sb;
  stat parent_sb;
  stat ent_sb;
  
  bVar14 = 0;
  lVar2 = *(long *)(in_FS_OFFSET + 0x28);
  pdVar5 = get_root_dev_ino(&dev_ino_buf);
  if (pdVar5 == (dev_ino *)0x0) {
    pcVar7 = quotearg_style(shell_escape_always_quoting_style,"/");
    uVar8 = dcgettext(0,"failed to get attributes of %s",5);
    piVar6 = __errno_location();
    error(1,*piVar6,uVar8,pcVar7);
  }
  else {
    iVar3 = __xstat(1,".",(stat *)&dot_sb);
    if (-1 < iVar3) {
      local_230 = 1;
      local_218 = &parent_sb;
      local_228 = &ent_sb;
      goto LAB_00102a2c;
    }
  }
  pcVar7 = quotearg_style(shell_escape_always_quoting_style,".");
  uVar8 = dcgettext(0,"failed to stat %s",5);
  piVar6 = __errno_location();
  error(1,*piVar6,uVar8,pcVar7);
LAB_00102795:
  pcVar7 = nth_parent(local_230);
  __dirp = (DIR *)quote(pcVar7);
  uVar8 = dcgettext(0,"cannot open directory %s",5);
  piVar6 = __errno_location();
  error(1,*piVar6,uVar8,__dirp);
LAB_001027df:
  iVar3 = chdir("..");
  if (iVar3 < 0) goto LAB_0010280d;
  iVar3 = __xstat(1,".",(stat *)local_218);
  cVar1 = (char)((uint)iVar3 >> 0x18);
  _Var12 = unaff_R12;
  _Var13 = unaff_R13;
LAB_00102aa0:
  unaff_R13 = parent_sb.st_dev;
  unaff_R12 = dot_sb.st_dev;
  if (cVar1 < '\0') goto LAB_00102857;
  unaff_R14B = parent_sb.st_dev != dot_sb.st_dev;
  local_238 = (uint *)__errno_location();
LAB_00102ac5:
  *local_238 = 0;
  do {
    pdVar9 = readdir(__dirp);
    if (pdVar9 == (dirent *)0x0) {
      pcVar7 = (char *)(ulong)*local_238;
      if (*local_238 != 0) goto LAB_00102929;
      iVar3 = closedir(__dirp);
      if (iVar3 == 0) {
        pcVar7 = nth_parent(local_230);
        pcVar7 = quote(pcVar7);
        uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);
        error(1,0,uVar8,pcVar7);
LAB_00102b6b:
        if (*file_name->start == '\0') {
          file_name_prepend(file_name,"",0);
        }
        if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
          __stack_chk_fail();
        }
        return;
      }
LAB_001028e3:
      do {
        pcVar7 = nth_parent(local_230);
        pcVar7 = quote(pcVar7);
        uVar8 = dcgettext(0,"reading directory %s",5);
        error(1,*local_238,uVar8,pcVar7);
LAB_00102929:
        closedir(__dirp);
        *local_238 = (uint)pcVar7;
      } while( true );
    }
    if (pdVar9->d_name[0] != '.') goto LAB_00102aed;
    while ((pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '\0' &&
           (pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/'))) {
LAB_00102aed:
      if ((((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&
          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))
         || ((dot_sb.st_ino != _Var10 ||
             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))) goto LAB_00102ac5;
      uVar11 = 0xffffffffffffffff;
      pcVar7 = pdVar9->d_name;
      do {
        if (uVar11 == 0) break;
        uVar11 = uVar11 - 1;
        cVar1 = *pcVar7;
        pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1;
      } while (cVar1 != '\0');
      file_name_prepend(file_name,pdVar9->d_name,~uVar11 - 1);
      iVar3 = closedir(__dirp);
      if (iVar3 != 0) goto LAB_001028e3;
      dot_sb.st_dev = parent_sb.st_dev;
      dot_sb.st_ino = parent_sb.st_ino;
      dot_sb.st_nlink = parent_sb.st_nlink;
      dot_sb.st_mode = parent_sb.st_mode;
      dot_sb.st_uid = parent_sb.st_uid;
      dot_sb.st_gid = parent_sb.st_gid;
      dot_sb.__pad0 = parent_sb.__pad0;
      dot_sb.st_rdev = parent_sb.st_rdev;
      dot_sb.st_size = parent_sb.st_size;
      dot_sb.st_blksize = parent_sb.st_blksize;
      dot_sb.st_blocks = parent_sb.st_blocks;
      dot_sb.st_atim.tv_sec = parent_sb.st_atim.tv_sec;
      dot_sb.st_atim.tv_nsec = parent_sb.st_atim.tv_nsec;
      dot_sb.st_mtim.tv_sec = parent_sb.st_mtim.tv_sec;
      dot_sb.st_mtim.tv_nsec = parent_sb.st_mtim.tv_nsec;
      dot_sb.st_ctim.tv_sec = parent_sb.st_ctim.tv_sec;
      dot_sb.st_ctim.tv_nsec = parent_sb.st_ctim.tv_nsec;
      dot_sb.__glibc_reserved[0] = parent_sb.__glibc_reserved[0];
      dot_sb.__glibc_reserved[1] = parent_sb.__glibc_reserved[1];
      dot_sb.__glibc_reserved[2] = parent_sb.__glibc_reserved[2];
      local_230 = unaff_R15;
LAB_00102a2c:
      if ((dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev)) goto LAB_00102b6b;
      unaff_R15 = local_230 + 1;
      __dirp = opendir("..");
      if (__dirp == (DIR *)0x0) goto LAB_00102795;
      iVar3 = dirfd(__dirp);
      if (iVar3 < 0) goto LAB_001027df;
      iVar4 = fchdir(iVar3);
      if (-1 < iVar4) {
        iVar3 = __fxstat(1,iVar3,(stat *)local_218);
        cVar1 = (char)((uint)iVar3 >> 0x18);
        _Var12 = unaff_R12;
        _Var13 = unaff_R13;
        goto LAB_00102aa0;
      }
LAB_0010280d:
      pcVar7 = nth_parent(local_230);
      pcVar7 = quote(pcVar7);
      uVar8 = dcgettext(0,"failed to chdir to %s",5);
      piVar6 = __errno_location();
      error(1,*piVar6,uVar8,pcVar7);
      _Var12 = unaff_R12;
      _Var13 = unaff_R13;
LAB_00102857:
      unaff_R13 = _Var13;
      unaff_R12 = _Var12;
      pcVar7 = nth_parent(local_230);
      __dirp = (DIR *)quote(pcVar7);
      uVar8 = dcgettext(0,"failed to stat %s",5);
      piVar6 = __errno_location();
      pdVar9 = (dirent *)error(1,*piVar6,uVar8,__dirp);
    }
  } while( true );
}



void FUN_00102684(long param_1)

{
  char cVar1;
  int iVar2;
  int iVar3;
  __ino_t *p_Var4;
  int *piVar5;
  undefined8 uVar6;
  DIR *__dirp;
  dirent *pdVar7;
  __ino_t _Var8;
  undefined8 uVar9;
  ulong uVar10;
  char *pcVar11;
  __dev_t unaff_R12;
  __dev_t unaff_R13;
  __ino_t _Var12;
  char unaff_R14B;
  long unaff_R15;
  long in_FS_OFFSET;
  byte bVar13;
  uint *local_238;
  long local_230;
  stat *local_228;
  stat *local_218;
  undefined1 local_208 [16];
  stat local_1f8;
  stat local_168;
  stat local_d8;
  long local_40;
  
  bVar13 = 0;
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  p_Var4 = (__ino_t *)FUN_00104e1e(local_208);
  if (p_Var4 == (__ino_t *)0x0) {
    uVar6 = FUN_00104b11(4,&DAT_00106526);
    uVar9 = dcgettext(0,"failed to get attributes of %s",5);
    piVar5 = __errno_location();
    error(1,*piVar5,uVar9,uVar6);
  }
  else {
    iVar2 = __xstat(1,".",&local_1f8);
    if (-1 < iVar2) {
      local_230 = 1;
      local_218 = &local_168;
      local_228 = &local_d8;
      goto LAB_00102a2c;
    }
  }
  uVar6 = FUN_00104b11(4,&DAT_0010601e);
  uVar9 = dcgettext(0,"failed to stat %s",5);
  piVar5 = __errno_location();
  error(1,*piVar5,uVar9,uVar6);
LAB_00102795:
  uVar6 = FUN_0010255f(local_230);
  __dirp = (DIR *)FUN_00104e08(uVar6);
  uVar6 = dcgettext(0,"cannot open directory %s",5);
  piVar5 = __errno_location();
  error(1,*piVar5,uVar6,__dirp);
LAB_001027df:
  iVar2 = chdir("..");
  if (iVar2 < 0) goto LAB_0010280d;
  iVar2 = __xstat(1,".",local_218);
  cVar1 = (char)((uint)iVar2 >> 0x18);
  _Var8 = unaff_R12;
  _Var12 = unaff_R13;
LAB_00102aa0:
  unaff_R13 = local_168.st_dev;
  unaff_R12 = local_1f8.st_dev;
  if (cVar1 < '\0') goto LAB_00102857;
  unaff_R14B = local_168.st_dev != local_1f8.st_dev;
  local_238 = (uint *)__errno_location();
LAB_00102ac5:
  *local_238 = 0;
  do {
    pdVar7 = readdir(__dirp);
    if (pdVar7 == (dirent *)0x0) {
      uVar10 = (ulong)*local_238;
      if (*local_238 != 0) goto LAB_00102929;
      iVar2 = closedir(__dirp);
      if (iVar2 == 0) {
        uVar6 = FUN_0010255f(local_230);
        uVar6 = FUN_00104e08(uVar6);
        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);
        error(1,0,uVar9,uVar6);
LAB_00102b6b:
        if (**(char **)(param_1 + 0x10) == '\0') {
          FUN_001025c5(param_1,"",0);
        }
        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
          __stack_chk_fail();
        }
        return;
      }
LAB_001028e3:
      do {
        uVar6 = FUN_0010255f(local_230);
        uVar10 = FUN_00104e08(uVar6);
        uVar6 = dcgettext(0,"reading directory %s",5);
        error(1,*local_238,uVar6,uVar10);
LAB_00102929:
        closedir(__dirp);
        *local_238 = (uint)uVar10;
      } while( true );
    }
    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;
    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&
           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {
LAB_00102aed:
      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&
          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||
         ((local_1f8.st_ino != _Var8 ||
          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;
      uVar10 = 0xffffffffffffffff;
      pcVar11 = pdVar7->d_name;
      do {
        if (uVar10 == 0) break;
        uVar10 = uVar10 - 1;
        cVar1 = *pcVar11;
        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;
      } while (cVar1 != '\0');
      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);
      iVar2 = closedir(__dirp);
      if (iVar2 != 0) goto LAB_001028e3;
      local_1f8.st_dev = local_168.st_dev;
      local_1f8.st_ino = local_168.st_ino;
      local_1f8.st_nlink = local_168.st_nlink;
      local_1f8.st_mode = local_168.st_mode;
      local_1f8.st_uid = local_168.st_uid;
      local_1f8.st_gid = local_168.st_gid;
      local_1f8.__pad0 = local_168.__pad0;
      local_1f8.st_rdev = local_168.st_rdev;
      local_1f8.st_size = local_168.st_size;
      local_1f8.st_blksize = local_168.st_blksize;
      local_1f8.st_blocks = local_168.st_blocks;
      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;
      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;
      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;
      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;
      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;
      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;
      local_1f8.__unused[0] = local_168.__unused[0];
      local_1f8.__unused[1] = local_168.__unused[1];
      local_1f8.__unused[2] = local_168.__unused[2];
      local_230 = unaff_R15;
LAB_00102a2c:
      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;
      unaff_R15 = local_230 + 1;
      __dirp = opendir("..");
      if (__dirp == (DIR *)0x0) goto LAB_00102795;
      iVar2 = dirfd(__dirp);
      if (iVar2 < 0) goto LAB_001027df;
      iVar3 = fchdir(iVar2);
      if (-1 < iVar3) {
        iVar2 = __fxstat(1,iVar2,local_218);
        cVar1 = (char)((uint)iVar2 >> 0x18);
        _Var8 = unaff_R12;
        _Var12 = unaff_R13;
        goto LAB_00102aa0;
      }
LAB_0010280d:
      uVar6 = FUN_0010255f(local_230);
      uVar6 = FUN_00104e08(uVar6);
      uVar9 = dcgettext(0,"failed to chdir to %s",5);
      piVar5 = __errno_location();
      error(1,*piVar5,uVar9,uVar6);
      _Var8 = unaff_R12;
      _Var12 = unaff_R13;
LAB_00102857:
      unaff_R13 = _Var12;
      unaff_R12 = _Var8;
      uVar6 = FUN_0010255f(local_230);
      __dirp = (DIR *)FUN_00104e08(uVar6);
      uVar6 = dcgettext(0,"failed to stat %s",5);
      piVar5 = __errno_location();
      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);
    }
  } while( true );
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x208
MOV qword ptr [RSP + 0x28],RDI
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x1f8],RAX
XOR EAX,EAX
LEA RDI,[RSP + 0x30]
CALL 0x00104e1e
MOV qword ptr [RSP + 0x18],RAX
TEST RAX,RAX
JZ 0x00102703
LEA RDX,[RSP + 0x40]
LEA RSI,[0x10601e]
MOV EDI,0x1
CALL 0x00102210
TEST EAX,EAX
JS 0x0010274c
MOV qword ptr [RSP + 0x8],0x1
LEA RAX,[RSP + 0xd0]
MOV qword ptr [RSP + 0x20],RAX
LEA RAX,[RSP + 0x160]
MOV qword ptr [RSP + 0x10],RAX
JMP 0x00102a2c
LEA RSI,[0x106526]
MOV EDI,0x4
CALL 0x00104b11
MOV RBP,RAX
MOV EDX,0x5
LEA RSI,[0x106178]
MOV EDI,0x0
CALL 0x001020f0
MOV RBX,RAX
CALL 0x00102060
MOV RCX,RBP
MOV RDX,RBX
MOV ESI,dword ptr [RAX]
MOV EDI,0x1
MOV EAX,0x0
CALL 0x001022c0
LEA RSI,[0x10601e]
MOV EDI,0x4
CALL 0x00104b11
MOV RBP,RAX
MOV EDX,0x5
LEA RSI,[0x10600b]
MOV EDI,0x0
CALL 0x001020f0
MOV RBX,RAX
CALL 0x00102060
MOV RCX,RBP
MOV RDX,RBX
MOV ESI,dword ptr [RAX]
MOV EDI,0x1
MOV EAX,0x0
CALL 0x001022c0
MOV RDI,qword ptr [RSP + 0x8]
CALL 0x0010255f
MOV RDI,RAX
CALL 0x00104e08
MOV RBP,RAX
MOV EDX,0x5
LEA RSI,[0x106020]
MOV EDI,0x0
CALL 0x001020f0
MOV RBX,RAX
CALL 0x00102060
MOV RCX,RBP
MOV RDX,RBX
MOV ESI,dword ptr [RAX]
MOV EDI,0x1
MOV EAX,0x0
CALL 0x001022c0
LEA RDI,[0x10601d]
CALL 0x00102120
TEST EAX,EAX
JS 0x0010280d
MOV RDX,qword ptr [RSP + 0x20]
LEA RSI,[0x10601e]
MOV EDI,0x1
CALL 0x00102210
SHR EAX,0x1f
JMP 0x00102aa0
MOV RDI,qword ptr [RSP + 0x8]
CALL 0x0010255f
MOV RDI,RAX
CALL 0x00104e08
MOV RBP,RAX
MOV EDX,0x5
LEA RSI,[0x106039]
MOV EDI,0x0
CALL 0x001020f0
MOV RBX,RAX
CALL 0x00102060
MOV RCX,RBP
MOV RDX,RBX
MOV ESI,dword ptr [RAX]
MOV EDI,0x1
MOV EAX,0x0
CALL 0x001022c0
MOV RDI,qword ptr [RSP + 0x8]
CALL 0x0010255f
MOV RDI,RAX
CALL 0x00104e08
MOV RBP,RAX
MOV EDX,0x5
LEA RSI,[0x10600b]
MOV EDI,0x0
CALL 0x001020f0
MOV RBX,RAX
CALL 0x00102060
MOV RCX,RBP
MOV RDX,RBX
MOV ESI,dword ptr [RAX]
MOV EDI,0x1
MOV EAX,0x0
CALL 0x001022c0
CMP byte ptr [RAX + 0x14],0x2e
SETZ DL
MOVZX EDX,DL
MOVZX EDX,byte ptr [RAX + RDX*0x1 + 0x14]
TEST DL,DL
JZ 0x00102acf
CMP DL,0x2f
JZ 0x00102acf
MOV RBX,RAX
JMP 0x00102aed
MOV RAX,qword ptr [RSP]
MOV EBX,dword ptr [RAX]
TEST EBX,EBX
JNZ 0x00102929
MOV RDI,RBP
CALL 0x001021a0
TEST EAX,EAX
JZ 0x00102b26
MOV RDI,qword ptr [RSP + 0x8]
CALL 0x0010255f
MOV RDI,RAX
CALL 0x00104e08
MOV RBX,RAX
MOV EDX,0x5
LEA RSI,[0x10604f]
MOV EDI,0x0
CALL 0x001020f0
MOV RCX,RBX
MOV RDX,RAX
MOV RAX,qword ptr [RSP]
MOV ESI,dword ptr [RAX]
MOV EDI,0x1
MOV EAX,0x0
CALL 0x001022c0
MOV RDI,RBP
CALL 0x001021a0
MOV RAX,qword ptr [RSP]
MOV dword ptr [RAX],EBX
JMP 0x001028e3
LEA RSI,[RBX + 0x13]
MOV RDX,qword ptr [RSP + 0x10]
MOV EDI,0x1
CALL 0x00102110
TEST EAX,EAX
JS 0x00102ac5
MOV RAX,qword ptr [RSP + 0x168]
JMP 0x00102b02
LEA RSI,[RBX + 0x13]
MOV EAX,0x0
MOV RCX,-0x1
MOV RDI,RSI
SCASB.REPNE RDI
MOV RAX,RCX
NOT RAX
LEA RDX,[RAX + -0x1]
MOV RDI,qword ptr [RSP + 0x28]
CALL 0x001025c5
MOV RDI,RBP
CALL 0x001021a0
TEST EAX,EAX
JNZ 0x001028e3
MOVDQA XMM0,xmmword ptr [RSP + 0xd0]
MOVAPS xmmword ptr [RSP + 0x40],XMM0
MOVDQA XMM1,xmmword ptr [RSP + 0xe0]
MOVAPS xmmword ptr [RSP + 0x50],XMM1
MOVDQA XMM2,xmmword ptr [RSP + 0xf0]
MOVAPS xmmword ptr [RSP + 0x60],XMM2
MOVDQA XMM3,xmmword ptr [RSP + 0x100]
MOVAPS xmmword ptr [RSP + 0x70],XMM3
MOVDQA XMM4,xmmword ptr [RSP + 0x110]
MOVAPS xmmword ptr [RSP + 0x80],XMM4
MOVDQA XMM5,xmmword ptr [RSP + 0x120]
MOVAPS xmmword ptr [RSP + 0x90],XMM5
MOVDQA XMM6,xmmword ptr [RSP + 0x130]
MOVAPS xmmword ptr [RSP + 0xa0],XMM6
MOVDQA XMM7,xmmword ptr [RSP + 0x140]
MOVAPS xmmword ptr [RSP + 0xb0],XMM7
MOVDQA XMM0,xmmword ptr [RSP + 0x150]
MOVAPS xmmword ptr [RSP + 0xc0],XMM0
MOV qword ptr [RSP + 0x8],R15
MOV RAX,qword ptr [RSP + 0x18]
MOV RCX,qword ptr [RAX]
CMP qword ptr [RSP + 0x48],RCX
JNZ 0x00102a4a
MOV RAX,qword ptr [RAX + 0x8]
CMP qword ptr [RSP + 0x40],RAX
JZ 0x00102b6b
MOV RAX,qword ptr [RSP + 0x8]
LEA R15,[RAX + 0x1]
LEA RDI,[0x10601d]
CALL 0x001020d0
MOV RBP,RAX
TEST RAX,RAX
JZ 0x00102795
MOV RDI,RAX
CALL 0x001021e0
MOV EBX,EAX
TEST EAX,EAX
JS 0x001027df
MOV EDI,EAX
CALL 0x00102280
TEST EAX,EAX
JS 0x0010280d
MOV RDX,qword ptr [RSP + 0x20]
MOV ESI,EBX
MOV EDI,0x1
CALL 0x00102260
SHR EAX,0x1f
TEST AL,AL
JNZ 0x00102857
MOV R13,qword ptr [RSP + 0xd0]
MOV R12,qword ptr [RSP + 0x40]
CMP R13,R12
SETNZ R14B
CALL 0x00102060
MOV qword ptr [RSP],RAX
MOV RAX,qword ptr [RSP]
MOV dword ptr [RAX],0x0
MOV RDI,RBP
CALL 0x00102220
TEST RAX,RAX
JZ 0x001028c9
CMP byte ptr [RAX + 0x13],0x2e
JZ 0x001028a1
MOV RBX,RAX
MOV RAX,qword ptr [RBX]
TEST RAX,RAX
JZ 0x00102939
TEST R14B,R14B
JNZ 0x00102939
CMP qword ptr [RSP + 0x48],RAX
JNZ 0x00102ac5
CMP R13,R12
JZ 0x00102961
MOV RAX,qword ptr [RSP + 0x40]
CMP qword ptr [RSP + 0x160],RAX
JNZ 0x00102ac5
JMP 0x00102961
MOV RDI,qword ptr [RSP + 0x8]
CALL 0x0010255f
MOV RDI,RAX
CALL 0x00104e08
MOV RBX,RAX
MOV EDX,0x5
LEA RSI,[0x106198]
MOV EDI,0x0
CALL 0x001020f0
MOV RCX,RBX
MOV RDX,RAX
MOV ESI,0x0
MOV EDI,0x1
MOV EAX,0x0
CALL 0x001022c0
MOV RAX,qword ptr [RSP + 0x28]
MOV RAX,qword ptr [RAX + 0x10]
CMP byte ptr [RAX],0x0
JZ 0x00102b9e
MOV RAX,qword ptr [RSP + 0x1f8]
XOR RAX,qword ptr FS:[0x28]
JNZ 0x00102bb6
ADD RSP,0x208
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV EDX,0x0
LEA RSI,[0x10607e]
MOV RDI,qword ptr [RSP + 0x28]
CALL 0x001025c5
JMP 0x00102b79
CALL 0x00102130
(translation_unit "void FUN_00102684(long param_1)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  __ino_t *p_Var4;\n  int *piVar5;\n  undefined8 uVar6;\n  DIR *__dirp;\n  dirent *pdVar7;\n  __ino_t _Var8;\n  undefined8 uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  __dev_t unaff_R12;\n  __dev_t unaff_R13;\n  __ino_t _Var12;\n  char unaff_R14B;\n  long unaff_R15;\n  long in_FS_OFFSET;\n  byte bVar13;\n  uint *local_238;\n  long local_230;\n  stat *local_228;\n  stat *local_218;\n  undefined1 local_208 [16];\n  stat local_1f8;\n  stat local_168;\n  stat local_d8;\n  long local_40;\n  \n  bVar13 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  p_Var4 = (__ino_t *)FUN_00104e1e(local_208);\n  if (p_Var4 == (__ino_t *)0x0) {\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }\n  else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }\n  uVar6 = FUN_00104b11(4,&DAT_0010601e);\n  uVar9 = dcgettext(0,"failed to stat %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar9,uVar6);\nLAB_00102795:\n  uVar6 = FUN_0010255f(local_230);\n  __dirp = (DIR *)FUN_00104e08(uVar6);\n  uVar6 = dcgettext(0,"cannot open directory %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar6,__dirp);\nLAB_001027df:\n  iVar2 = chdir("..");\n  if (iVar2 < 0) goto LAB_0010280d;\n  iVar2 = __xstat(1,".",local_218);\n  cVar1 = (char)((uint)iVar2 >> 0x18);\n  _Var8 = unaff_R12;\n  _Var12 = unaff_R13;\nLAB_00102aa0:\n  unaff_R13 = local_168.st_dev;\n  unaff_R12 = local_1f8.st_dev;\n  if (cVar1 < '\0') goto LAB_00102857;\n  unaff_R14B = local_168.st_dev != local_1f8.st_dev;\n  local_238 = (uint *)__errno_location();\nLAB_00102ac5:\n  *local_238 = 0;\n  do {\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  } while( true );\n}\n\n" (function_definition "void FUN_00102684(long param_1)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  __ino_t *p_Var4;\n  int *piVar5;\n  undefined8 uVar6;\n  DIR *__dirp;\n  dirent *pdVar7;\n  __ino_t _Var8;\n  undefined8 uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  __dev_t unaff_R12;\n  __dev_t unaff_R13;\n  __ino_t _Var12;\n  char unaff_R14B;\n  long unaff_R15;\n  long in_FS_OFFSET;\n  byte bVar13;\n  uint *local_238;\n  long local_230;\n  stat *local_228;\n  stat *local_218;\n  undefined1 local_208 [16];\n  stat local_1f8;\n  stat local_168;\n  stat local_d8;\n  long local_40;\n  \n  bVar13 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  p_Var4 = (__ino_t *)FUN_00104e1e(local_208);\n  if (p_Var4 == (__ino_t *)0x0) {\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }\n  else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }\n  uVar6 = FUN_00104b11(4,&DAT_0010601e);\n  uVar9 = dcgettext(0,"failed to stat %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar9,uVar6);\nLAB_00102795:\n  uVar6 = FUN_0010255f(local_230);\n  __dirp = (DIR *)FUN_00104e08(uVar6);\n  uVar6 = dcgettext(0,"cannot open directory %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar6,__dirp);\nLAB_001027df:\n  iVar2 = chdir("..");\n  if (iVar2 < 0) goto LAB_0010280d;\n  iVar2 = __xstat(1,".",local_218);\n  cVar1 = (char)((uint)iVar2 >> 0x18);\n  _Var8 = unaff_R12;\n  _Var12 = unaff_R13;\nLAB_00102aa0:\n  unaff_R13 = local_168.st_dev;\n  unaff_R12 = local_1f8.st_dev;\n  if (cVar1 < '\0') goto LAB_00102857;\n  unaff_R14B = local_168.st_dev != local_1f8.st_dev;\n  local_238 = (uint *)__errno_location();\nLAB_00102ac5:\n  *local_238 = 0;\n  do {\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_00102684(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  __ino_t *p_Var4;\n  int *piVar5;\n  undefined8 uVar6;\n  DIR *__dirp;\n  dirent *pdVar7;\n  __ino_t _Var8;\n  undefined8 uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  __dev_t unaff_R12;\n  __dev_t unaff_R13;\n  __ino_t _Var12;\n  char unaff_R14B;\n  long unaff_R15;\n  long in_FS_OFFSET;\n  byte bVar13;\n  uint *local_238;\n  long local_230;\n  stat *local_228;\n  stat *local_218;\n  undefined1 local_208 [16];\n  stat local_1f8;\n  stat local_168;\n  stat local_d8;\n  long local_40;\n  \n  bVar13 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  p_Var4 = (__ino_t *)FUN_00104e1e(local_208);\n  if (p_Var4 == (__ino_t *)0x0) {\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }\n  else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }\n  uVar6 = FUN_00104b11(4,&DAT_0010601e);\n  uVar9 = dcgettext(0,"failed to stat %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar9,uVar6);\nLAB_00102795:\n  uVar6 = FUN_0010255f(local_230);\n  __dirp = (DIR *)FUN_00104e08(uVar6);\n  uVar6 = dcgettext(0,"cannot open directory %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar6,__dirp);\nLAB_001027df:\n  iVar2 = chdir("..");\n  if (iVar2 < 0) goto LAB_0010280d;\n  iVar2 = __xstat(1,".",local_218);\n  cVar1 = (char)((uint)iVar2 >> 0x18);\n  _Var8 = unaff_R12;\n  _Var12 = unaff_R13;\nLAB_00102aa0:\n  unaff_R13 = local_168.st_dev;\n  unaff_R12 = local_1f8.st_dev;\n  if (cVar1 < '\0') goto LAB_00102857;\n  unaff_R14B = local_168.st_dev != local_1f8.st_dev;\n  local_238 = (uint *)__errno_location();\nLAB_00102ac5:\n  *local_238 = 0;\n  do {\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "__ino_t *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "DIR *__dirp;" type_identifier (pointer_declarator "*__dirp" * identifier) ;) (declaration "dirent *pdVar7;" type_identifier (pointer_declarator "*pdVar7" * identifier) ;) (declaration "__ino_t _Var8;" type_identifier identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "__dev_t unaff_R12;" type_identifier identifier ;) (declaration "__dev_t unaff_R13;" type_identifier identifier ;) (declaration "__ino_t _Var12;" type_identifier identifier ;) (declaration "char unaff_R14B;" primitive_type identifier ;) (declaration "long unaff_R15;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "uint *local_238;" type_identifier (pointer_declarator "*local_238" * identifier) ;) (declaration "long local_230;" (sized_type_specifier "long" long) identifier ;) (declaration "stat *local_228;" type_identifier (pointer_declarator "*local_228" * identifier) ;) (declaration "stat *local_218;" type_identifier (pointer_declarator "*local_218" * identifier) ;) (declaration "undefined1 local_208 [16];" type_identifier (array_declarator "local_208 [16]" identifier [ number_literal ]) ;) (declaration "stat local_1f8;" type_identifier identifier ;) (declaration "stat local_168;" type_identifier identifier ;) (declaration "stat local_d8;" type_identifier identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "p_Var4 = (__ino_t *)FUN_00104e1e(local_208);" (assignment_expression "p_Var4 = (__ino_t *)FUN_00104e1e(local_208)" identifier = (cast_expression "(__ino_t *)FUN_00104e1e(local_208)" ( (type_descriptor "__ino_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00104e1e(local_208)" identifier (argument_list "(local_208)" ( identifier ))))) ;) (if_statement "if (p_Var4 == (__ino_t *)0x0) {\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }\n  else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }" if (parenthesized_expression "(p_Var4 == (__ino_t *)0x0)" ( (binary_expression "p_Var4 == (__ino_t *)0x0" identifier == (cast_expression "(__ino_t *)0x0" ( (type_descriptor "__ino_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }" { (expression_statement "uVar6 = FUN_00104b11(4,&DAT_00106526);" (assignment_expression "uVar6 = FUN_00104b11(4,&DAT_00106526)" identifier = (call_expression "FUN_00104b11(4,&DAT_00106526)" identifier (argument_list "(4,&DAT_00106526)" ( number_literal , (pointer_expression "&DAT_00106526" & identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"failed to get attributes of %s",5);" (assignment_expression "uVar9 = dcgettext(0,"failed to get attributes of %s",5)" identifier = (call_expression "dcgettext(0,"failed to get attributes of %s",5)" identifier (argument_list "(0,"failed to get attributes of %s",5)" ( number_literal , (string_literal ""failed to get attributes of %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar5,uVar9,uVar6);" (call_expression "error(1,*piVar5,uVar9,uVar6)" identifier (argument_list "(1,*piVar5,uVar9,uVar6)" ( number_literal , (pointer_expression "*piVar5" * identifier) , identifier , identifier ))) ;) }) (else_clause "else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }" else (compound_statement "{\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }" { (expression_statement "iVar2 = __xstat(1,".",&local_1f8);" (assignment_expression "iVar2 = __xstat(1,".",&local_1f8)" identifier = (call_expression "__xstat(1,".",&local_1f8)" identifier (argument_list "(1,".",&local_1f8)" ( number_literal , (string_literal ""."" " string_content ") , (pointer_expression "&local_1f8" & identifier) )))) ;) (if_statement "if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }" { (expression_statement "local_230 = 1;" (assignment_expression "local_230 = 1" identifier = number_literal) ;) (expression_statement "local_218 = &local_168;" (assignment_expression "local_218 = &local_168" identifier = (pointer_expression "&local_168" & identifier)) ;) (expression_statement "local_228 = &local_d8;" (assignment_expression "local_228 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (goto_statement "goto LAB_00102a2c;" goto statement_identifier ;) })) }))) (expression_statement "uVar6 = FUN_00104b11(4,&DAT_0010601e);" (assignment_expression "uVar6 = FUN_00104b11(4,&DAT_0010601e)" identifier = (call_expression "FUN_00104b11(4,&DAT_0010601e)" identifier (argument_list "(4,&DAT_0010601e)" ( number_literal , (pointer_expression "&DAT_0010601e" & identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"failed to stat %s",5);" (assignment_expression "uVar9 = dcgettext(0,"failed to stat %s",5)" identifier = (call_expression "dcgettext(0,"failed to stat %s",5)" identifier (argument_list "(0,"failed to stat %s",5)" ( number_literal , (string_literal ""failed to stat %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar5,uVar9,uVar6);" (call_expression "error(1,*piVar5,uVar9,uVar6)" identifier (argument_list "(1,*piVar5,uVar9,uVar6)" ( number_literal , (pointer_expression "*piVar5" * identifier) , identifier , identifier ))) ;) (labeled_statement "LAB_00102795:\n  uVar6 = FUN_0010255f(local_230);" statement_identifier : (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" identifier = (call_expression "FUN_0010255f(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;)) (expression_statement "__dirp = (DIR *)FUN_00104e08(uVar6);" (assignment_expression "__dirp = (DIR *)FUN_00104e08(uVar6)" identifier = (cast_expression "(DIR *)FUN_00104e08(uVar6)" ( (type_descriptor "DIR *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00104e08(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))))) ;) (expression_statement "uVar6 = dcgettext(0,"cannot open directory %s",5);" (assignment_expression "uVar6 = dcgettext(0,"cannot open directory %s",5)" identifier = (call_expression "dcgettext(0,"cannot open directory %s",5)" identifier (argument_list "(0,"cannot open directory %s",5)" ( number_literal , (string_literal ""cannot open directory %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar5,uVar6,__dirp);" (call_expression "error(1,*piVar5,uVar6,__dirp)" identifier (argument_list "(1,*piVar5,uVar6,__dirp)" ( number_literal , (pointer_expression "*piVar5" * identifier) , identifier , identifier ))) ;) (labeled_statement "LAB_001027df:\n  iVar2 = chdir("..");" statement_identifier : (expression_statement "iVar2 = chdir("..");" (assignment_expression "iVar2 = chdir("..")" identifier = (call_expression "chdir("..")" identifier (argument_list "("..")" ( (string_literal "".."" " string_content ") )))) ;)) (if_statement "if (iVar2 < 0) goto LAB_0010280d;" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0010280d;" goto statement_identifier ;)) (expression_statement "iVar2 = __xstat(1,".",local_218);" (assignment_expression "iVar2 = __xstat(1,".",local_218)" identifier = (call_expression "__xstat(1,".",local_218)" identifier (argument_list "(1,".",local_218)" ( number_literal , (string_literal ""."" " string_content ") , identifier )))) ;) (expression_statement "cVar1 = (char)((uint)iVar2 >> 0x18);" (assignment_expression "cVar1 = (char)((uint)iVar2 >> 0x18)" identifier = (cast_expression "(char)((uint)iVar2 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar2 >> 0x18)" ( (binary_expression "(uint)iVar2 >> 0x18" (cast_expression "(uint)iVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "_Var8 = unaff_R12;" (assignment_expression "_Var8 = unaff_R12" identifier = identifier) ;) (expression_statement "_Var12 = unaff_R13;" (assignment_expression "_Var12 = unaff_R13" identifier = identifier) ;) (labeled_statement "LAB_00102aa0:\n  unaff_R13 = local_168.st_dev;" statement_identifier : (expression_statement "unaff_R13 = local_168.st_dev;" (assignment_expression "unaff_R13 = local_168.st_dev" identifier = (field_expression "local_168.st_dev" identifier . field_identifier)) ;)) (expression_statement "unaff_R12 = local_1f8.st_dev;" (assignment_expression "unaff_R12 = local_1f8.st_dev" identifier = (field_expression "local_1f8.st_dev" identifier . field_identifier)) ;) (if_statement "if (cVar1 < '\0') goto LAB_00102857;" if (parenthesized_expression "(cVar1 < '\0')" ( (binary_expression "cVar1 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00102857;" goto statement_identifier ;)) (expression_statement "unaff_R14B = local_168.st_dev != local_1f8.st_dev;" (assignment_expression "unaff_R14B = local_168.st_dev != local_1f8.st_dev" identifier = (binary_expression "local_168.st_dev != local_1f8.st_dev" (field_expression "local_168.st_dev" identifier . field_identifier) != (field_expression "local_1f8.st_dev" identifier . field_identifier))) ;) (expression_statement "local_238 = (uint *)__errno_location();" (assignment_expression "local_238 = (uint *)__errno_location()" identifier = (cast_expression "(uint *)__errno_location()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (labeled_statement "LAB_00102ac5:\n  *local_238 = 0;" statement_identifier : (expression_statement "*local_238 = 0;" (assignment_expression "*local_238 = 0" (pointer_expression "*local_238" * identifier) = number_literal) ;)) (do_statement "do {\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  } while( true );" do (compound_statement "{\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  }" { (expression_statement "pdVar7 = readdir(__dirp);" (assignment_expression "pdVar7 = readdir(__dirp)" identifier = (call_expression "readdir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }" if (parenthesized_expression "(pdVar7 == (dirent *)0x0)" ( (binary_expression "pdVar7 == (dirent *)0x0" identifier == (cast_expression "(dirent *)0x0" ( (type_descriptor "dirent *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }" { (expression_statement "uVar10 = (ulong)*local_238;" (assignment_expression "uVar10 = (ulong)*local_238" identifier = (binary_expression "(ulong)*local_238" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (if_statement "if (*local_238 != 0) goto LAB_00102929;" if (parenthesized_expression "(*local_238 != 0)" ( (binary_expression "*local_238 != 0" (pointer_expression "*local_238" * identifier) != number_literal) )) (goto_statement "goto LAB_00102929;" goto statement_identifier ;)) (expression_statement "iVar2 = closedir(__dirp);" (assignment_expression "iVar2 = closedir(__dirp)" identifier = (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }" { (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" identifier = (call_expression "FUN_0010255f(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;) (expression_statement "uVar6 = FUN_00104e08(uVar6);" (assignment_expression "uVar6 = FUN_00104e08(uVar6)" identifier = (call_expression "FUN_00104e08(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);" (assignment_expression "uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5)" identifier = (call_expression "dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5)" identifier (argument_list "(0,"couldn\'t find directory entry in %s with matching i-node",5)" ( number_literal , (string_literal ""couldn\'t find directory entry in %s with matching i-node"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "error(1,0,uVar9,uVar6);" (call_expression "error(1,0,uVar9,uVar6)" identifier (argument_list "(1,0,uVar9,uVar6)" ( number_literal , number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }" statement_identifier : (if_statement "if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }" if (parenthesized_expression "(**(char **)(param_1 + 0x10) == '\0')" ( (binary_expression "**(char **)(param_1 + 0x10) == '\0'" (pointer_expression "**(char **)(param_1 + 0x10)" * (pointer_expression "*(char **)(param_1 + 0x10)" * (cast_expression "(char **)(param_1 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          FUN_001025c5(param_1,"",0);\n        }" { (expression_statement "FUN_001025c5(param_1,"",0);" (call_expression "FUN_001025c5(param_1,"",0)" identifier (argument_list "(param_1,"",0)" ( identifier , (string_literal """" " ") , number_literal ))) ;) }))) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })) (labeled_statement "LAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );" statement_identifier : (do_statement "do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );" do (compound_statement "{\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      }" { (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" identifier = (call_expression "FUN_0010255f(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;) (expression_statement "uVar10 = FUN_00104e08(uVar6);" (assignment_expression "uVar10 = FUN_00104e08(uVar6)" identifier = (call_expression "FUN_00104e08(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "uVar6 = dcgettext(0,"reading directory %s",5);" (assignment_expression "uVar6 = dcgettext(0,"reading directory %s",5)" identifier = (call_expression "dcgettext(0,"reading directory %s",5)" identifier (argument_list "(0,"reading directory %s",5)" ( number_literal , (string_literal ""reading directory %s"" " string_content ") , number_literal )))) ;) (expression_statement "error(1,*local_238,uVar6,uVar10);" (call_expression "error(1,*local_238,uVar6,uVar10)" identifier (argument_list "(1,*local_238,uVar6,uVar10)" ( number_literal , (pointer_expression "*local_238" * identifier) , identifier , identifier ))) ;) (labeled_statement "LAB_00102929:\n        closedir(__dirp);" statement_identifier : (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier ))) ;)) (expression_statement "*local_238 = (uint)uVar10;" (assignment_expression "*local_238 = (uint)uVar10" (pointer_expression "*local_238" * identifier) = (cast_expression "(uint)uVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (if_statement "if (pdVar7->d_name[0] != '.') goto LAB_00102aed;" if (parenthesized_expression "(pdVar7->d_name[0] != '.')" ( (binary_expression "pdVar7->d_name[0] != '.'" (subscript_expression "pdVar7->d_name[0]" (field_expression "pdVar7->d_name" identifier -> field_identifier) [ number_literal ]) != (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_00102aed;" goto statement_identifier ;)) (while_statement "while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }" while (parenthesized_expression "((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/')))" ( (parenthesized_expression "(pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))" ( (binary_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/')" (binary_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0'" (subscript_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1]" (field_expression "pdVar7->d_name" identifier -> field_identifier) [ (binary_expression "(ulong)(pdVar7->d_name[1] == '.') + 1" (call_expression "(ulong)(pdVar7->d_name[1] == '.')" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pdVar7->d_name[1] == '.')" ( (binary_expression "pdVar7->d_name[1] == '.'" (subscript_expression "pdVar7->d_name[1]" (field_expression "pdVar7->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) ))) + number_literal) ]) != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/')" ( (binary_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'" (subscript_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1]" (field_expression "pdVar7->d_name" identifier -> field_identifier) [ (binary_expression "(ulong)(pdVar7->d_name[1] == '.') + 1" (call_expression "(ulong)(pdVar7->d_name[1] == '.')" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pdVar7->d_name[1] == '.')" ( (binary_expression "pdVar7->d_name[1] == '.'" (subscript_expression "pdVar7->d_name[1]" (field_expression "pdVar7->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) ))) + number_literal) ]) != (char_literal "'/'" ' character ')) ))) )) )) (compound_statement "{\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }" { (labeled_statement "LAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;" statement_identifier : (if_statement "if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;" if (parenthesized_expression "((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev))))))" ( (binary_expression "(((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))" (parenthesized_expression "(((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0))" ( (binary_expression "((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)" (parenthesized_expression "((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0'))" ( (binary_expression "(pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')" (parenthesized_expression "(pdVar7->d_ino == 0)" ( (binary_expression "pdVar7->d_ino == 0" (field_expression "pdVar7->d_ino" identifier -> field_identifier) == number_literal) )) || (parenthesized_expression "(_Var8 = pdVar7->d_ino, unaff_R14B != '\0')" ( (comma_expression "_Var8 = pdVar7->d_ino, unaff_R14B != '\0'" (assignment_expression "_Var8 = pdVar7->d_ino" identifier = (field_expression "pdVar7->d_ino" identifier -> field_identifier)) , (binary_expression "unaff_R14B != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) && (parenthesized_expression "(iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)" ( (comma_expression "iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0" (assignment_expression "iVar2 = __lxstat(1,pdVar7->d_name,local_228)" identifier = (call_expression "__lxstat(1,pdVar7->d_name,local_228)" identifier (argument_list "(1,pdVar7->d_name,local_228)" ( number_literal , (field_expression "pdVar7->d_name" identifier -> field_identifier) , identifier )))) , (comma_expression "_Var8 = local_d8.st_ino, iVar2 < 0" (assignment_expression "_Var8 = local_d8.st_ino" identifier = (field_expression "local_d8.st_ino" identifier . field_identifier)) , (binary_expression "iVar2 < 0" identifier < number_literal))) ))) )) || (parenthesized_expression "((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))" ( (parenthesized_expression "(local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev))))" ( (binary_expression "local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))" (binary_expression "local_1f8.st_ino != _Var8" (field_expression "local_1f8.st_ino" identifier . field_identifier) != identifier) || (parenthesized_expression "((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))" ( (parenthesized_expression "(unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev))" ( (binary_expression "unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)" (binary_expression "unaff_R13 != unaff_R12" identifier != identifier) && (parenthesized_expression "(local_d8.st_dev != local_1f8.st_dev)" ( (binary_expression "local_d8.st_dev != local_1f8.st_dev" (field_expression "local_d8.st_dev" identifier . field_identifier) != (field_expression "local_1f8.st_dev" identifier . field_identifier)) ))) )) ))) )) ))) )) (goto_statement "goto LAB_00102ac5;" goto statement_identifier ;))) (expression_statement "uVar10 = 0xffffffffffffffff;" (assignment_expression "uVar10 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "pcVar11 = pdVar7->d_name;" (assignment_expression "pcVar11 = pdVar7->d_name" identifier = (field_expression "pdVar7->d_name" identifier -> field_identifier)) ;) (do_statement "do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');" do (compound_statement "{\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      }" { (if_statement "if (uVar10 == 0) break;" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = uVar10 - 1;" (assignment_expression "uVar10 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar11;" (assignment_expression "cVar1 = *pcVar11" identifier = (pointer_expression "*pcVar11" * identifier)) ;) (expression_statement "pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pcVar11 + (ulong)bVar13 * -2 + 1" (binary_expression "pcVar11 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);" (call_expression "FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1)" identifier (argument_list "(param_1,pdVar7->d_name,~uVar10 - 1)" ( identifier , (field_expression "pdVar7->d_name" identifier -> field_identifier) , (binary_expression "~uVar10 - 1" (unary_expression "~uVar10" ~ identifier) - number_literal) ))) ;) (expression_statement "iVar2 = closedir(__dirp);" (assignment_expression "iVar2 = closedir(__dirp)" identifier = (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_001028e3;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001028e3;" goto statement_identifier ;)) (expression_statement "local_1f8.st_dev = local_168.st_dev;" (assignment_expression "local_1f8.st_dev = local_168.st_dev" (field_expression "local_1f8.st_dev" identifier . field_identifier) = (field_expression "local_168.st_dev" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_ino = local_168.st_ino;" (assignment_expression "local_1f8.st_ino = local_168.st_ino" (field_expression "local_1f8.st_ino" identifier . field_identifier) = (field_expression "local_168.st_ino" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_nlink = local_168.st_nlink;" (assignment_expression "local_1f8.st_nlink = local_168.st_nlink" (field_expression "local_1f8.st_nlink" identifier . field_identifier) = (field_expression "local_168.st_nlink" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_mode = local_168.st_mode;" (assignment_expression "local_1f8.st_mode = local_168.st_mode" (field_expression "local_1f8.st_mode" identifier . field_identifier) = (field_expression "local_168.st_mode" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_uid = local_168.st_uid;" (assignment_expression "local_1f8.st_uid = local_168.st_uid" (field_expression "local_1f8.st_uid" identifier . field_identifier) = (field_expression "local_168.st_uid" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_gid = local_168.st_gid;" (assignment_expression "local_1f8.st_gid = local_168.st_gid" (field_expression "local_1f8.st_gid" identifier . field_identifier) = (field_expression "local_168.st_gid" identifier . field_identifier)) ;) (expression_statement "local_1f8.__pad0 = local_168.__pad0;" (assignment_expression "local_1f8.__pad0 = local_168.__pad0" (field_expression "local_1f8.__pad0" identifier . field_identifier) = (field_expression "local_168.__pad0" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_rdev = local_168.st_rdev;" (assignment_expression "local_1f8.st_rdev = local_168.st_rdev" (field_expression "local_1f8.st_rdev" identifier . field_identifier) = (field_expression "local_168.st_rdev" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_size = local_168.st_size;" (assignment_expression "local_1f8.st_size = local_168.st_size" (field_expression "local_1f8.st_size" identifier . field_identifier) = (field_expression "local_168.st_size" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_blksize = local_168.st_blksize;" (assignment_expression "local_1f8.st_blksize = local_168.st_blksize" (field_expression "local_1f8.st_blksize" identifier . field_identifier) = (field_expression "local_168.st_blksize" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_blocks = local_168.st_blocks;" (assignment_expression "local_1f8.st_blocks = local_168.st_blocks" (field_expression "local_1f8.st_blocks" identifier . field_identifier) = (field_expression "local_168.st_blocks" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;" (assignment_expression "local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec" (field_expression "local_1f8.st_atim.tv_sec" (field_expression "local_1f8.st_atim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_atim.tv_sec" (field_expression "local_168.st_atim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;" (assignment_expression "local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec" (field_expression "local_1f8.st_atim.tv_nsec" (field_expression "local_1f8.st_atim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_atim.tv_nsec" (field_expression "local_168.st_atim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;" (assignment_expression "local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec" (field_expression "local_1f8.st_mtim.tv_sec" (field_expression "local_1f8.st_mtim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_mtim.tv_sec" (field_expression "local_168.st_mtim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;" (assignment_expression "local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec" (field_expression "local_1f8.st_mtim.tv_nsec" (field_expression "local_1f8.st_mtim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_mtim.tv_nsec" (field_expression "local_168.st_mtim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;" (assignment_expression "local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec" (field_expression "local_1f8.st_ctim.tv_sec" (field_expression "local_1f8.st_ctim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_ctim.tv_sec" (field_expression "local_168.st_ctim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;" (assignment_expression "local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec" (field_expression "local_1f8.st_ctim.tv_nsec" (field_expression "local_1f8.st_ctim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_ctim.tv_nsec" (field_expression "local_168.st_ctim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.__unused[0] = local_168.__unused[0];" (assignment_expression "local_1f8.__unused[0] = local_168.__unused[0]" (subscript_expression "local_1f8.__unused[0]" (field_expression "local_1f8.__unused" identifier . field_identifier) [ number_literal ]) = (subscript_expression "local_168.__unused[0]" (field_expression "local_168.__unused" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "local_1f8.__unused[1] = local_168.__unused[1];" (assignment_expression "local_1f8.__unused[1] = local_168.__unused[1]" (subscript_expression "local_1f8.__unused[1]" (field_expression "local_1f8.__unused" identifier . field_identifier) [ number_literal ]) = (subscript_expression "local_168.__unused[1]" (field_expression "local_168.__unused" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "local_1f8.__unused[2] = local_168.__unused[2];" (assignment_expression "local_1f8.__unused[2] = local_168.__unused[2]" (subscript_expression "local_1f8.__unused[2]" (field_expression "local_1f8.__unused" identifier . field_identifier) [ number_literal ]) = (subscript_expression "local_168.__unused[2]" (field_expression "local_168.__unused" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "local_230 = unaff_R15;" (assignment_expression "local_230 = unaff_R15" identifier = identifier) ;) (labeled_statement "LAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;" statement_identifier : (if_statement "if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;" if (parenthesized_expression "((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1]))" ( (binary_expression "(local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])" (parenthesized_expression "(local_1f8.st_ino == *p_Var4)" ( (binary_expression "local_1f8.st_ino == *p_Var4" (field_expression "local_1f8.st_ino" identifier . field_identifier) == (pointer_expression "*p_Var4" * identifier)) )) && (parenthesized_expression "(local_1f8.st_dev == p_Var4[1])" ( (binary_expression "local_1f8.st_dev == p_Var4[1]" (field_expression "local_1f8.st_dev" identifier . field_identifier) == (subscript_expression "p_Var4[1]" identifier [ number_literal ])) ))) )) (goto_statement "goto LAB_00102b6b;" goto statement_identifier ;))) (expression_statement "unaff_R15 = local_230 + 1;" (assignment_expression "unaff_R15 = local_230 + 1" identifier = (binary_expression "local_230 + 1" identifier + number_literal)) ;) (expression_statement "__dirp = opendir("..");" (assignment_expression "__dirp = opendir("..")" identifier = (call_expression "opendir("..")" identifier (argument_list "("..")" ( (string_literal "".."" " string_content ") )))) ;) (if_statement "if (__dirp == (DIR *)0x0) goto LAB_00102795;" if (parenthesized_expression "(__dirp == (DIR *)0x0)" ( (binary_expression "__dirp == (DIR *)0x0" identifier == (cast_expression "(DIR *)0x0" ( (type_descriptor "DIR *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00102795;" goto statement_identifier ;)) (expression_statement "iVar2 = dirfd(__dirp);" (assignment_expression "iVar2 = dirfd(__dirp)" identifier = (call_expression "dirfd(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar2 < 0) goto LAB_001027df;" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001027df;" goto statement_identifier ;)) (expression_statement "iVar3 = fchdir(iVar2);" (assignment_expression "iVar3 = fchdir(iVar2)" identifier = (call_expression "fchdir(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) ;) (if_statement "if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }" { (expression_statement "iVar2 = __fxstat(1,iVar2,local_218);" (assignment_expression "iVar2 = __fxstat(1,iVar2,local_218)" identifier = (call_expression "__fxstat(1,iVar2,local_218)" identifier (argument_list "(1,iVar2,local_218)" ( number_literal , identifier , identifier )))) ;) (expression_statement "cVar1 = (char)((uint)iVar2 >> 0x18);" (assignment_expression "cVar1 = (char)((uint)iVar2 >> 0x18)" identifier = (cast_expression "(char)((uint)iVar2 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar2 >> 0x18)" ( (binary_expression "(uint)iVar2 >> 0x18" (cast_expression "(uint)iVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "_Var8 = unaff_R12;" (assignment_expression "_Var8 = unaff_R12" identifier = identifier) ;) (expression_statement "_Var12 = unaff_R13;" (assignment_expression "_Var12 = unaff_R13" identifier = identifier) ;) (goto_statement "goto LAB_00102aa0;" goto statement_identifier ;) })) (labeled_statement "LAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);" statement_identifier : (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" identifier = (call_expression "FUN_0010255f(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;)) (expression_statement "uVar6 = FUN_00104e08(uVar6);" (assignment_expression "uVar6 = FUN_00104e08(uVar6)" identifier = (call_expression "FUN_00104e08(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "uVar9 = dcgettext(0,"failed to chdir to %s",5);" (assignment_expression "uVar9 = dcgettext(0,"failed to chdir to %s",5)" identifier = (call_expression "dcgettext(0,"failed to chdir to %s",5)" identifier (argument_list "(0,"failed to chdir to %s",5)" ( number_literal , (string_literal ""failed to chdir to %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar5,uVar9,uVar6);" (call_expression "error(1,*piVar5,uVar9,uVar6)" identifier (argument_list "(1,*piVar5,uVar9,uVar6)" ( number_literal , (pointer_expression "*piVar5" * identifier) , identifier , identifier ))) ;) (expression_statement "_Var8 = unaff_R12;" (assignment_expression "_Var8 = unaff_R12" identifier = identifier) ;) (expression_statement "_Var12 = unaff_R13;" (assignment_expression "_Var12 = unaff_R13" identifier = identifier) ;) (labeled_statement "LAB_00102857:\n      unaff_R13 = _Var12;" statement_identifier : (expression_statement "unaff_R13 = _Var12;" (assignment_expression "unaff_R13 = _Var12" identifier = identifier) ;)) (expression_statement "unaff_R12 = _Var8;" (assignment_expression "unaff_R12 = _Var8" identifier = identifier) ;) (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" identifier = (call_expression "FUN_0010255f(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;) (expression_statement "__dirp = (DIR *)FUN_00104e08(uVar6);" (assignment_expression "__dirp = (DIR *)FUN_00104e08(uVar6)" identifier = (cast_expression "(DIR *)FUN_00104e08(uVar6)" ( (type_descriptor "DIR *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00104e08(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))))) ;) (expression_statement "uVar6 = dcgettext(0,"failed to stat %s",5);" (assignment_expression "uVar6 = dcgettext(0,"failed to stat %s",5)" identifier = (call_expression "dcgettext(0,"failed to stat %s",5)" identifier (argument_list "(0,"failed to stat %s",5)" ( number_literal , (string_literal ""failed to stat %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);" (assignment_expression "pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp)" identifier = (cast_expression "(dirent *)error(1,*piVar5,uVar6,__dirp)" ( (type_descriptor "dirent *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "error(1,*piVar5,uVar6,__dirp)" identifier (argument_list "(1,*piVar5,uVar6,__dirp)" ( number_literal , (pointer_expression "*piVar5" * identifier) , identifier , identifier ))))) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void robust_getcwd(file_name *file_name)\n\n{\n  char cVar1;\n  long lVar2;\n  int iVar3;\n  int iVar4;\n  dev_ino *pdVar5;\n  int *piVar6;\n  char *pcVar7;\n  undefined8 uVar8;\n  DIR *__dirp;\n  dirent *pdVar9;\n  __ino_t _Var10;\n  ulong uVar11;\n  __dev_t unaff_R12;\n  __dev_t _Var12;\n  __dev_t unaff_R13;\n  __dev_t _Var13;\n  char unaff_R14B;\n  size_t unaff_R15;\n  long in_FS_OFFSET;\n  byte bVar14;\n  uint *local_238;\n  size_t local_230;\n  stat *local_228;\n  stat *local_218;\n  dev_ino dev_ino_buf;\n  stat dot_sb;\n  stat parent_sb;\n  stat ent_sb;\n  \n  bVar14 = 0;\n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  pdVar5 = get_root_dev_ino(&dev_ino_buf);\n  if (pdVar5 == (dev_ino *)0x0) {\n    pcVar7 = quotearg_style(shell_escape_always_quoting_style,"/");\n    uVar8 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar6 = __errno_location();\n    error(1,*piVar6,uVar8,pcVar7);\n  }\n  else {\n    iVar3 = __xstat(1,".",(stat *)&dot_sb);\n    if (-1 < iVar3) {\n      local_230 = 1;\n      local_218 = &parent_sb;\n      local_228 = &ent_sb;\n      goto LAB_00102a2c;\n    }\n  }\n  pcVar7 = quotearg_style(shell_escape_always_quoting_style,".");\n  uVar8 = dcgettext(0,"failed to stat %s",5);\n  piVar6 = __errno_location();\n  error(1,*piVar6,uVar8,pcVar7);\nLAB_00102795:\n  pcVar7 = nth_parent(local_230);\n  __dirp = (DIR *)quote(pcVar7);\n  uVar8 = dcgettext(0,"cannot open directory %s",5);\n  piVar6 = __errno_location();\n  error(1,*piVar6,uVar8,__dirp);\nLAB_001027df:\n  iVar3 = chdir("..");\n  if (iVar3 < 0) goto LAB_0010280d;\n  iVar3 = __xstat(1,".",(stat *)local_218);\n  cVar1 = (char)((uint)iVar3 >> 0x18);\n  _Var12 = unaff_R12;\n  _Var13 = unaff_R13;\nLAB_00102aa0:\n  unaff_R13 = parent_sb.st_dev;\n  unaff_R12 = dot_sb.st_dev;\n  if (cVar1 < '\0') goto LAB_00102857;\n  unaff_R14B = parent_sb.st_dev != dot_sb.st_dev;\n  local_238 = (uint *)__errno_location();\nLAB_00102ac5:\n  *local_238 = 0;\n  do {\n    pdVar9 = readdir(__dirp);\n    if (pdVar9 == (dirent *)0x0) {\n      pcVar7 = (char *)(ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar3 = closedir(__dirp);\n      if (iVar3 == 0) {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar8,pcVar7);\nLAB_00102b6b:\n        if (*file_name->start == '\0') {\n          file_name_prepend(file_name,"",0);\n        }\n        if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar8,pcVar7);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)pcVar7;\n      } while( true );\n    }\n    if (pdVar9->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))\n         || ((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))) goto LAB_00102ac5;\n      uVar11 = 0xffffffffffffffff;\n      pcVar7 = pdVar9->d_name;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar7;\n        pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1;\n      } while (cVar1 != '\0');\n      file_name_prepend(file_name,pdVar9->d_name,~uVar11 - 1);\n      iVar3 = closedir(__dirp);\n      if (iVar3 != 0) goto LAB_001028e3;\n      dot_sb.st_dev = parent_sb.st_dev;\n      dot_sb.st_ino = parent_sb.st_ino;\n      dot_sb.st_nlink = parent_sb.st_nlink;\n      dot_sb.st_mode = parent_sb.st_mode;\n      dot_sb.st_uid = parent_sb.st_uid;\n      dot_sb.st_gid = parent_sb.st_gid;\n      dot_sb.__pad0 = parent_sb.__pad0;\n      dot_sb.st_rdev = parent_sb.st_rdev;\n      dot_sb.st_size = parent_sb.st_size;\n      dot_sb.st_blksize = parent_sb.st_blksize;\n      dot_sb.st_blocks = parent_sb.st_blocks;\n      dot_sb.st_atim.tv_sec = parent_sb.st_atim.tv_sec;\n      dot_sb.st_atim.tv_nsec = parent_sb.st_atim.tv_nsec;\n      dot_sb.st_mtim.tv_sec = parent_sb.st_mtim.tv_sec;\n      dot_sb.st_mtim.tv_nsec = parent_sb.st_mtim.tv_nsec;\n      dot_sb.st_ctim.tv_sec = parent_sb.st_ctim.tv_sec;\n      dot_sb.st_ctim.tv_nsec = parent_sb.st_ctim.tv_nsec;\n      dot_sb.__glibc_reserved[0] = parent_sb.__glibc_reserved[0];\n      dot_sb.__glibc_reserved[1] = parent_sb.__glibc_reserved[1];\n      dot_sb.__glibc_reserved[2] = parent_sb.__glibc_reserved[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev)) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar3 = dirfd(__dirp);\n      if (iVar3 < 0) goto LAB_001027df;\n      iVar4 = fchdir(iVar3);\n      if (-1 < iVar4) {\n        iVar3 = __fxstat(1,iVar3,(stat *)local_218);\n        cVar1 = (char)((uint)iVar3 >> 0x18);\n        _Var12 = unaff_R12;\n        _Var13 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      pcVar7 = nth_parent(local_230);\n      pcVar7 = quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to chdir to %s",5);\n      piVar6 = __errno_location();\n      error(1,*piVar6,uVar8,pcVar7);\n      _Var12 = unaff_R12;\n      _Var13 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var13;\n      unaff_R12 = _Var12;\n      pcVar7 = nth_parent(local_230);\n      __dirp = (DIR *)quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to stat %s",5);\n      piVar6 = __errno_location();\n      pdVar9 = (dirent *)error(1,*piVar6,uVar8,__dirp);\n    }\n  } while( true );\n}\n\n" (function_definition "void robust_getcwd(file_name *file_name)\n\n{\n  char cVar1;\n  long lVar2;\n  int iVar3;\n  int iVar4;\n  dev_ino *pdVar5;\n  int *piVar6;\n  char *pcVar7;\n  undefined8 uVar8;\n  DIR *__dirp;\n  dirent *pdVar9;\n  __ino_t _Var10;\n  ulong uVar11;\n  __dev_t unaff_R12;\n  __dev_t _Var12;\n  __dev_t unaff_R13;\n  __dev_t _Var13;\n  char unaff_R14B;\n  size_t unaff_R15;\n  long in_FS_OFFSET;\n  byte bVar14;\n  uint *local_238;\n  size_t local_230;\n  stat *local_228;\n  stat *local_218;\n  dev_ino dev_ino_buf;\n  stat dot_sb;\n  stat parent_sb;\n  stat ent_sb;\n  \n  bVar14 = 0;\n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  pdVar5 = get_root_dev_ino(&dev_ino_buf);\n  if (pdVar5 == (dev_ino *)0x0) {\n    pcVar7 = quotearg_style(shell_escape_always_quoting_style,"/");\n    uVar8 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar6 = __errno_location();\n    error(1,*piVar6,uVar8,pcVar7);\n  }\n  else {\n    iVar3 = __xstat(1,".",(stat *)&dot_sb);\n    if (-1 < iVar3) {\n      local_230 = 1;\n      local_218 = &parent_sb;\n      local_228 = &ent_sb;\n      goto LAB_00102a2c;\n    }\n  }\n  pcVar7 = quotearg_style(shell_escape_always_quoting_style,".");\n  uVar8 = dcgettext(0,"failed to stat %s",5);\n  piVar6 = __errno_location();\n  error(1,*piVar6,uVar8,pcVar7);\nLAB_00102795:\n  pcVar7 = nth_parent(local_230);\n  __dirp = (DIR *)quote(pcVar7);\n  uVar8 = dcgettext(0,"cannot open directory %s",5);\n  piVar6 = __errno_location();\n  error(1,*piVar6,uVar8,__dirp);\nLAB_001027df:\n  iVar3 = chdir("..");\n  if (iVar3 < 0) goto LAB_0010280d;\n  iVar3 = __xstat(1,".",(stat *)local_218);\n  cVar1 = (char)((uint)iVar3 >> 0x18);\n  _Var12 = unaff_R12;\n  _Var13 = unaff_R13;\nLAB_00102aa0:\n  unaff_R13 = parent_sb.st_dev;\n  unaff_R12 = dot_sb.st_dev;\n  if (cVar1 < '\0') goto LAB_00102857;\n  unaff_R14B = parent_sb.st_dev != dot_sb.st_dev;\n  local_238 = (uint *)__errno_location();\nLAB_00102ac5:\n  *local_238 = 0;\n  do {\n    pdVar9 = readdir(__dirp);\n    if (pdVar9 == (dirent *)0x0) {\n      pcVar7 = (char *)(ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar3 = closedir(__dirp);\n      if (iVar3 == 0) {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar8,pcVar7);\nLAB_00102b6b:\n        if (*file_name->start == '\0') {\n          file_name_prepend(file_name,"",0);\n        }\n        if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar8,pcVar7);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)pcVar7;\n      } while( true );\n    }\n    if (pdVar9->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))\n         || ((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))) goto LAB_00102ac5;\n      uVar11 = 0xffffffffffffffff;\n      pcVar7 = pdVar9->d_name;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar7;\n        pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1;\n      } while (cVar1 != '\0');\n      file_name_prepend(file_name,pdVar9->d_name,~uVar11 - 1);\n      iVar3 = closedir(__dirp);\n      if (iVar3 != 0) goto LAB_001028e3;\n      dot_sb.st_dev = parent_sb.st_dev;\n      dot_sb.st_ino = parent_sb.st_ino;\n      dot_sb.st_nlink = parent_sb.st_nlink;\n      dot_sb.st_mode = parent_sb.st_mode;\n      dot_sb.st_uid = parent_sb.st_uid;\n      dot_sb.st_gid = parent_sb.st_gid;\n      dot_sb.__pad0 = parent_sb.__pad0;\n      dot_sb.st_rdev = parent_sb.st_rdev;\n      dot_sb.st_size = parent_sb.st_size;\n      dot_sb.st_blksize = parent_sb.st_blksize;\n      dot_sb.st_blocks = parent_sb.st_blocks;\n      dot_sb.st_atim.tv_sec = parent_sb.st_atim.tv_sec;\n      dot_sb.st_atim.tv_nsec = parent_sb.st_atim.tv_nsec;\n      dot_sb.st_mtim.tv_sec = parent_sb.st_mtim.tv_sec;\n      dot_sb.st_mtim.tv_nsec = parent_sb.st_mtim.tv_nsec;\n      dot_sb.st_ctim.tv_sec = parent_sb.st_ctim.tv_sec;\n      dot_sb.st_ctim.tv_nsec = parent_sb.st_ctim.tv_nsec;\n      dot_sb.__glibc_reserved[0] = parent_sb.__glibc_reserved[0];\n      dot_sb.__glibc_reserved[1] = parent_sb.__glibc_reserved[1];\n      dot_sb.__glibc_reserved[2] = parent_sb.__glibc_reserved[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev)) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar3 = dirfd(__dirp);\n      if (iVar3 < 0) goto LAB_001027df;\n      iVar4 = fchdir(iVar3);\n      if (-1 < iVar4) {\n        iVar3 = __fxstat(1,iVar3,(stat *)local_218);\n        cVar1 = (char)((uint)iVar3 >> 0x18);\n        _Var12 = unaff_R12;\n        _Var13 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      pcVar7 = nth_parent(local_230);\n      pcVar7 = quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to chdir to %s",5);\n      piVar6 = __errno_location();\n      error(1,*piVar6,uVar8,pcVar7);\n      _Var12 = unaff_R12;\n      _Var13 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var13;\n      unaff_R12 = _Var12;\n      pcVar7 = nth_parent(local_230);\n      __dirp = (DIR *)quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to stat %s",5);\n      piVar6 = __errno_location();\n      pdVar9 = (dirent *)error(1,*piVar6,uVar8,__dirp);\n    }\n  } while( true );\n}" primitive_type (function_declarator "robust_getcwd(file_name *file_name)" identifier (parameter_list "(file_name *file_name)" ( (parameter_declaration "file_name *file_name" type_identifier (pointer_declarator "*file_name" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  long lVar2;\n  int iVar3;\n  int iVar4;\n  dev_ino *pdVar5;\n  int *piVar6;\n  char *pcVar7;\n  undefined8 uVar8;\n  DIR *__dirp;\n  dirent *pdVar9;\n  __ino_t _Var10;\n  ulong uVar11;\n  __dev_t unaff_R12;\n  __dev_t _Var12;\n  __dev_t unaff_R13;\n  __dev_t _Var13;\n  char unaff_R14B;\n  size_t unaff_R15;\n  long in_FS_OFFSET;\n  byte bVar14;\n  uint *local_238;\n  size_t local_230;\n  stat *local_228;\n  stat *local_218;\n  dev_ino dev_ino_buf;\n  stat dot_sb;\n  stat parent_sb;\n  stat ent_sb;\n  \n  bVar14 = 0;\n  lVar2 = *(long *)(in_FS_OFFSET + 0x28);\n  pdVar5 = get_root_dev_ino(&dev_ino_buf);\n  if (pdVar5 == (dev_ino *)0x0) {\n    pcVar7 = quotearg_style(shell_escape_always_quoting_style,"/");\n    uVar8 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar6 = __errno_location();\n    error(1,*piVar6,uVar8,pcVar7);\n  }\n  else {\n    iVar3 = __xstat(1,".",(stat *)&dot_sb);\n    if (-1 < iVar3) {\n      local_230 = 1;\n      local_218 = &parent_sb;\n      local_228 = &ent_sb;\n      goto LAB_00102a2c;\n    }\n  }\n  pcVar7 = quotearg_style(shell_escape_always_quoting_style,".");\n  uVar8 = dcgettext(0,"failed to stat %s",5);\n  piVar6 = __errno_location();\n  error(1,*piVar6,uVar8,pcVar7);\nLAB_00102795:\n  pcVar7 = nth_parent(local_230);\n  __dirp = (DIR *)quote(pcVar7);\n  uVar8 = dcgettext(0,"cannot open directory %s",5);\n  piVar6 = __errno_location();\n  error(1,*piVar6,uVar8,__dirp);\nLAB_001027df:\n  iVar3 = chdir("..");\n  if (iVar3 < 0) goto LAB_0010280d;\n  iVar3 = __xstat(1,".",(stat *)local_218);\n  cVar1 = (char)((uint)iVar3 >> 0x18);\n  _Var12 = unaff_R12;\n  _Var13 = unaff_R13;\nLAB_00102aa0:\n  unaff_R13 = parent_sb.st_dev;\n  unaff_R12 = dot_sb.st_dev;\n  if (cVar1 < '\0') goto LAB_00102857;\n  unaff_R14B = parent_sb.st_dev != dot_sb.st_dev;\n  local_238 = (uint *)__errno_location();\nLAB_00102ac5:\n  *local_238 = 0;\n  do {\n    pdVar9 = readdir(__dirp);\n    if (pdVar9 == (dirent *)0x0) {\n      pcVar7 = (char *)(ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar3 = closedir(__dirp);\n      if (iVar3 == 0) {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar8,pcVar7);\nLAB_00102b6b:\n        if (*file_name->start == '\0') {\n          file_name_prepend(file_name,"",0);\n        }\n        if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar8,pcVar7);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)pcVar7;\n      } while( true );\n    }\n    if (pdVar9->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))\n         || ((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))) goto LAB_00102ac5;\n      uVar11 = 0xffffffffffffffff;\n      pcVar7 = pdVar9->d_name;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar7;\n        pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1;\n      } while (cVar1 != '\0');\n      file_name_prepend(file_name,pdVar9->d_name,~uVar11 - 1);\n      iVar3 = closedir(__dirp);\n      if (iVar3 != 0) goto LAB_001028e3;\n      dot_sb.st_dev = parent_sb.st_dev;\n      dot_sb.st_ino = parent_sb.st_ino;\n      dot_sb.st_nlink = parent_sb.st_nlink;\n      dot_sb.st_mode = parent_sb.st_mode;\n      dot_sb.st_uid = parent_sb.st_uid;\n      dot_sb.st_gid = parent_sb.st_gid;\n      dot_sb.__pad0 = parent_sb.__pad0;\n      dot_sb.st_rdev = parent_sb.st_rdev;\n      dot_sb.st_size = parent_sb.st_size;\n      dot_sb.st_blksize = parent_sb.st_blksize;\n      dot_sb.st_blocks = parent_sb.st_blocks;\n      dot_sb.st_atim.tv_sec = parent_sb.st_atim.tv_sec;\n      dot_sb.st_atim.tv_nsec = parent_sb.st_atim.tv_nsec;\n      dot_sb.st_mtim.tv_sec = parent_sb.st_mtim.tv_sec;\n      dot_sb.st_mtim.tv_nsec = parent_sb.st_mtim.tv_nsec;\n      dot_sb.st_ctim.tv_sec = parent_sb.st_ctim.tv_sec;\n      dot_sb.st_ctim.tv_nsec = parent_sb.st_ctim.tv_nsec;\n      dot_sb.__glibc_reserved[0] = parent_sb.__glibc_reserved[0];\n      dot_sb.__glibc_reserved[1] = parent_sb.__glibc_reserved[1];\n      dot_sb.__glibc_reserved[2] = parent_sb.__glibc_reserved[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev)) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar3 = dirfd(__dirp);\n      if (iVar3 < 0) goto LAB_001027df;\n      iVar4 = fchdir(iVar3);\n      if (-1 < iVar4) {\n        iVar3 = __fxstat(1,iVar3,(stat *)local_218);\n        cVar1 = (char)((uint)iVar3 >> 0x18);\n        _Var12 = unaff_R12;\n        _Var13 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      pcVar7 = nth_parent(local_230);\n      pcVar7 = quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to chdir to %s",5);\n      piVar6 = __errno_location();\n      error(1,*piVar6,uVar8,pcVar7);\n      _Var12 = unaff_R12;\n      _Var13 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var13;\n      unaff_R12 = _Var12;\n      pcVar7 = nth_parent(local_230);\n      __dirp = (DIR *)quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to stat %s",5);\n      piVar6 = __errno_location();\n      pdVar9 = (dirent *)error(1,*piVar6,uVar8,__dirp);\n    }\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "dev_ino *pdVar5;" type_identifier (pointer_declarator "*pdVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "DIR *__dirp;" type_identifier (pointer_declarator "*__dirp" * identifier) ;) (declaration "dirent *pdVar9;" type_identifier (pointer_declarator "*pdVar9" * identifier) ;) (declaration "__ino_t _Var10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "__dev_t unaff_R12;" type_identifier identifier ;) (declaration "__dev_t _Var12;" type_identifier identifier ;) (declaration "__dev_t unaff_R13;" type_identifier identifier ;) (declaration "__dev_t _Var13;" type_identifier identifier ;) (declaration "char unaff_R14B;" primitive_type identifier ;) (declaration "size_t unaff_R15;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "uint *local_238;" type_identifier (pointer_declarator "*local_238" * identifier) ;) (declaration "size_t local_230;" primitive_type identifier ;) (declaration "stat *local_228;" type_identifier (pointer_declarator "*local_228" * identifier) ;) (declaration "stat *local_218;" type_identifier (pointer_declarator "*local_218" * identifier) ;) (declaration "dev_ino dev_ino_buf;" type_identifier identifier ;) (declaration "stat dot_sb;" type_identifier identifier ;) (declaration "stat parent_sb;" type_identifier identifier ;) (declaration "stat ent_sb;" type_identifier identifier ;) (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) (expression_statement "lVar2 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar2 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "pdVar5 = get_root_dev_ino(&dev_ino_buf);" (assignment_expression "pdVar5 = get_root_dev_ino(&dev_ino_buf)" identifier = (call_expression "get_root_dev_ino(&dev_ino_buf)" identifier (argument_list "(&dev_ino_buf)" ( (pointer_expression "&dev_ino_buf" & identifier) )))) ;) (if_statement "if (pdVar5 == (dev_ino *)0x0) {\n    pcVar7 = quotearg_style(shell_escape_always_quoting_style,"/");\n    uVar8 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar6 = __errno_location();\n    error(1,*piVar6,uVar8,pcVar7);\n  }\n  else {\n    iVar3 = __xstat(1,".",(stat *)&dot_sb);\n    if (-1 < iVar3) {\n      local_230 = 1;\n      local_218 = &parent_sb;\n      local_228 = &ent_sb;\n      goto LAB_00102a2c;\n    }\n  }" if (parenthesized_expression "(pdVar5 == (dev_ino *)0x0)" ( (binary_expression "pdVar5 == (dev_ino *)0x0" identifier == (cast_expression "(dev_ino *)0x0" ( (type_descriptor "dev_ino *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar7 = quotearg_style(shell_escape_always_quoting_style,"/");\n    uVar8 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar6 = __errno_location();\n    error(1,*piVar6,uVar8,pcVar7);\n  }" { (expression_statement "pcVar7 = quotearg_style(shell_escape_always_quoting_style,"/");" (assignment_expression "pcVar7 = quotearg_style(shell_escape_always_quoting_style,"/")" identifier = (call_expression "quotearg_style(shell_escape_always_quoting_style,"/")" identifier (argument_list "(shell_escape_always_quoting_style,"/")" ( identifier , (string_literal ""/"" " string_content ") )))) ;) (expression_statement "uVar8 = dcgettext(0,"failed to get attributes of %s",5);" (assignment_expression "uVar8 = dcgettext(0,"failed to get attributes of %s",5)" identifier = (call_expression "dcgettext(0,"failed to get attributes of %s",5)" identifier (argument_list "(0,"failed to get attributes of %s",5)" ( number_literal , (string_literal ""failed to get attributes of %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar6,uVar8,pcVar7);" (call_expression "error(1,*piVar6,uVar8,pcVar7)" identifier (argument_list "(1,*piVar6,uVar8,pcVar7)" ( number_literal , (pointer_expression "*piVar6" * identifier) , identifier , identifier ))) ;) }) (else_clause "else {\n    iVar3 = __xstat(1,".",(stat *)&dot_sb);\n    if (-1 < iVar3) {\n      local_230 = 1;\n      local_218 = &parent_sb;\n      local_228 = &ent_sb;\n      goto LAB_00102a2c;\n    }\n  }" else (compound_statement "{\n    iVar3 = __xstat(1,".",(stat *)&dot_sb);\n    if (-1 < iVar3) {\n      local_230 = 1;\n      local_218 = &parent_sb;\n      local_228 = &ent_sb;\n      goto LAB_00102a2c;\n    }\n  }" { (expression_statement "iVar3 = __xstat(1,".",(stat *)&dot_sb);" (assignment_expression "iVar3 = __xstat(1,".",(stat *)&dot_sb)" identifier = (call_expression "__xstat(1,".",(stat *)&dot_sb)" identifier (argument_list "(1,".",(stat *)&dot_sb)" ( number_literal , (string_literal ""."" " string_content ") , (cast_expression "(stat *)&dot_sb" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&dot_sb" & identifier)) )))) ;) (if_statement "if (-1 < iVar3) {\n      local_230 = 1;\n      local_218 = &parent_sb;\n      local_228 = &ent_sb;\n      goto LAB_00102a2c;\n    }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n      local_230 = 1;\n      local_218 = &parent_sb;\n      local_228 = &ent_sb;\n      goto LAB_00102a2c;\n    }" { (expression_statement "local_230 = 1;" (assignment_expression "local_230 = 1" identifier = number_literal) ;) (expression_statement "local_218 = &parent_sb;" (assignment_expression "local_218 = &parent_sb" identifier = (pointer_expression "&parent_sb" & identifier)) ;) (expression_statement "local_228 = &ent_sb;" (assignment_expression "local_228 = &ent_sb" identifier = (pointer_expression "&ent_sb" & identifier)) ;) (goto_statement "goto LAB_00102a2c;" goto statement_identifier ;) })) }))) (expression_statement "pcVar7 = quotearg_style(shell_escape_always_quoting_style,".");" (assignment_expression "pcVar7 = quotearg_style(shell_escape_always_quoting_style,".")" identifier = (call_expression "quotearg_style(shell_escape_always_quoting_style,".")" identifier (argument_list "(shell_escape_always_quoting_style,".")" ( identifier , (string_literal ""."" " string_content ") )))) ;) (expression_statement "uVar8 = dcgettext(0,"failed to stat %s",5);" (assignment_expression "uVar8 = dcgettext(0,"failed to stat %s",5)" identifier = (call_expression "dcgettext(0,"failed to stat %s",5)" identifier (argument_list "(0,"failed to stat %s",5)" ( number_literal , (string_literal ""failed to stat %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar6,uVar8,pcVar7);" (call_expression "error(1,*piVar6,uVar8,pcVar7)" identifier (argument_list "(1,*piVar6,uVar8,pcVar7)" ( number_literal , (pointer_expression "*piVar6" * identifier) , identifier , identifier ))) ;) (labeled_statement "LAB_00102795:\n  pcVar7 = nth_parent(local_230);" statement_identifier : (expression_statement "pcVar7 = nth_parent(local_230);" (assignment_expression "pcVar7 = nth_parent(local_230)" identifier = (call_expression "nth_parent(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;)) (expression_statement "__dirp = (DIR *)quote(pcVar7);" (assignment_expression "__dirp = (DIR *)quote(pcVar7)" identifier = (cast_expression "(DIR *)quote(pcVar7)" ( (type_descriptor "DIR *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "quote(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))))) ;) (expression_statement "uVar8 = dcgettext(0,"cannot open directory %s",5);" (assignment_expression "uVar8 = dcgettext(0,"cannot open directory %s",5)" identifier = (call_expression "dcgettext(0,"cannot open directory %s",5)" identifier (argument_list "(0,"cannot open directory %s",5)" ( number_literal , (string_literal ""cannot open directory %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar6,uVar8,__dirp);" (call_expression "error(1,*piVar6,uVar8,__dirp)" identifier (argument_list "(1,*piVar6,uVar8,__dirp)" ( number_literal , (pointer_expression "*piVar6" * identifier) , identifier , identifier ))) ;) (labeled_statement "LAB_001027df:\n  iVar3 = chdir("..");" statement_identifier : (expression_statement "iVar3 = chdir("..");" (assignment_expression "iVar3 = chdir("..")" identifier = (call_expression "chdir("..")" identifier (argument_list "("..")" ( (string_literal "".."" " string_content ") )))) ;)) (if_statement "if (iVar3 < 0) goto LAB_0010280d;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0010280d;" goto statement_identifier ;)) (expression_statement "iVar3 = __xstat(1,".",(stat *)local_218);" (assignment_expression "iVar3 = __xstat(1,".",(stat *)local_218)" identifier = (call_expression "__xstat(1,".",(stat *)local_218)" identifier (argument_list "(1,".",(stat *)local_218)" ( number_literal , (string_literal ""."" " string_content ") , (cast_expression "(stat *)local_218" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "cVar1 = (char)((uint)iVar3 >> 0x18);" (assignment_expression "cVar1 = (char)((uint)iVar3 >> 0x18)" identifier = (cast_expression "(char)((uint)iVar3 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar3 >> 0x18)" ( (binary_expression "(uint)iVar3 >> 0x18" (cast_expression "(uint)iVar3" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "_Var12 = unaff_R12;" (assignment_expression "_Var12 = unaff_R12" identifier = identifier) ;) (expression_statement "_Var13 = unaff_R13;" (assignment_expression "_Var13 = unaff_R13" identifier = identifier) ;) (labeled_statement "LAB_00102aa0:\n  unaff_R13 = parent_sb.st_dev;" statement_identifier : (expression_statement "unaff_R13 = parent_sb.st_dev;" (assignment_expression "unaff_R13 = parent_sb.st_dev" identifier = (field_expression "parent_sb.st_dev" identifier . field_identifier)) ;)) (expression_statement "unaff_R12 = dot_sb.st_dev;" (assignment_expression "unaff_R12 = dot_sb.st_dev" identifier = (field_expression "dot_sb.st_dev" identifier . field_identifier)) ;) (if_statement "if (cVar1 < '\0') goto LAB_00102857;" if (parenthesized_expression "(cVar1 < '\0')" ( (binary_expression "cVar1 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00102857;" goto statement_identifier ;)) (expression_statement "unaff_R14B = parent_sb.st_dev != dot_sb.st_dev;" (assignment_expression "unaff_R14B = parent_sb.st_dev != dot_sb.st_dev" identifier = (binary_expression "parent_sb.st_dev != dot_sb.st_dev" (field_expression "parent_sb.st_dev" identifier . field_identifier) != (field_expression "dot_sb.st_dev" identifier . field_identifier))) ;) (expression_statement "local_238 = (uint *)__errno_location();" (assignment_expression "local_238 = (uint *)__errno_location()" identifier = (cast_expression "(uint *)__errno_location()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (labeled_statement "LAB_00102ac5:\n  *local_238 = 0;" statement_identifier : (expression_statement "*local_238 = 0;" (assignment_expression "*local_238 = 0" (pointer_expression "*local_238" * identifier) = number_literal) ;)) (do_statement "do {\n    pdVar9 = readdir(__dirp);\n    if (pdVar9 == (dirent *)0x0) {\n      pcVar7 = (char *)(ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar3 = closedir(__dirp);\n      if (iVar3 == 0) {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar8,pcVar7);\nLAB_00102b6b:\n        if (*file_name->start == '\0') {\n          file_name_prepend(file_name,"",0);\n        }\n        if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar8,pcVar7);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)pcVar7;\n      } while( true );\n    }\n    if (pdVar9->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))\n         || ((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))) goto LAB_00102ac5;\n      uVar11 = 0xffffffffffffffff;\n      pcVar7 = pdVar9->d_name;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar7;\n        pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1;\n      } while (cVar1 != '\0');\n      file_name_prepend(file_name,pdVar9->d_name,~uVar11 - 1);\n      iVar3 = closedir(__dirp);\n      if (iVar3 != 0) goto LAB_001028e3;\n      dot_sb.st_dev = parent_sb.st_dev;\n      dot_sb.st_ino = parent_sb.st_ino;\n      dot_sb.st_nlink = parent_sb.st_nlink;\n      dot_sb.st_mode = parent_sb.st_mode;\n      dot_sb.st_uid = parent_sb.st_uid;\n      dot_sb.st_gid = parent_sb.st_gid;\n      dot_sb.__pad0 = parent_sb.__pad0;\n      dot_sb.st_rdev = parent_sb.st_rdev;\n      dot_sb.st_size = parent_sb.st_size;\n      dot_sb.st_blksize = parent_sb.st_blksize;\n      dot_sb.st_blocks = parent_sb.st_blocks;\n      dot_sb.st_atim.tv_sec = parent_sb.st_atim.tv_sec;\n      dot_sb.st_atim.tv_nsec = parent_sb.st_atim.tv_nsec;\n      dot_sb.st_mtim.tv_sec = parent_sb.st_mtim.tv_sec;\n      dot_sb.st_mtim.tv_nsec = parent_sb.st_mtim.tv_nsec;\n      dot_sb.st_ctim.tv_sec = parent_sb.st_ctim.tv_sec;\n      dot_sb.st_ctim.tv_nsec = parent_sb.st_ctim.tv_nsec;\n      dot_sb.__glibc_reserved[0] = parent_sb.__glibc_reserved[0];\n      dot_sb.__glibc_reserved[1] = parent_sb.__glibc_reserved[1];\n      dot_sb.__glibc_reserved[2] = parent_sb.__glibc_reserved[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev)) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar3 = dirfd(__dirp);\n      if (iVar3 < 0) goto LAB_001027df;\n      iVar4 = fchdir(iVar3);\n      if (-1 < iVar4) {\n        iVar3 = __fxstat(1,iVar3,(stat *)local_218);\n        cVar1 = (char)((uint)iVar3 >> 0x18);\n        _Var12 = unaff_R12;\n        _Var13 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      pcVar7 = nth_parent(local_230);\n      pcVar7 = quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to chdir to %s",5);\n      piVar6 = __errno_location();\n      error(1,*piVar6,uVar8,pcVar7);\n      _Var12 = unaff_R12;\n      _Var13 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var13;\n      unaff_R12 = _Var12;\n      pcVar7 = nth_parent(local_230);\n      __dirp = (DIR *)quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to stat %s",5);\n      piVar6 = __errno_location();\n      pdVar9 = (dirent *)error(1,*piVar6,uVar8,__dirp);\n    }\n  } while( true );" do (compound_statement "{\n    pdVar9 = readdir(__dirp);\n    if (pdVar9 == (dirent *)0x0) {\n      pcVar7 = (char *)(ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar3 = closedir(__dirp);\n      if (iVar3 == 0) {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar8,pcVar7);\nLAB_00102b6b:\n        if (*file_name->start == '\0') {\n          file_name_prepend(file_name,"",0);\n        }\n        if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar8,pcVar7);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)pcVar7;\n      } while( true );\n    }\n    if (pdVar9->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))\n         || ((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))) goto LAB_00102ac5;\n      uVar11 = 0xffffffffffffffff;\n      pcVar7 = pdVar9->d_name;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar7;\n        pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1;\n      } while (cVar1 != '\0');\n      file_name_prepend(file_name,pdVar9->d_name,~uVar11 - 1);\n      iVar3 = closedir(__dirp);\n      if (iVar3 != 0) goto LAB_001028e3;\n      dot_sb.st_dev = parent_sb.st_dev;\n      dot_sb.st_ino = parent_sb.st_ino;\n      dot_sb.st_nlink = parent_sb.st_nlink;\n      dot_sb.st_mode = parent_sb.st_mode;\n      dot_sb.st_uid = parent_sb.st_uid;\n      dot_sb.st_gid = parent_sb.st_gid;\n      dot_sb.__pad0 = parent_sb.__pad0;\n      dot_sb.st_rdev = parent_sb.st_rdev;\n      dot_sb.st_size = parent_sb.st_size;\n      dot_sb.st_blksize = parent_sb.st_blksize;\n      dot_sb.st_blocks = parent_sb.st_blocks;\n      dot_sb.st_atim.tv_sec = parent_sb.st_atim.tv_sec;\n      dot_sb.st_atim.tv_nsec = parent_sb.st_atim.tv_nsec;\n      dot_sb.st_mtim.tv_sec = parent_sb.st_mtim.tv_sec;\n      dot_sb.st_mtim.tv_nsec = parent_sb.st_mtim.tv_nsec;\n      dot_sb.st_ctim.tv_sec = parent_sb.st_ctim.tv_sec;\n      dot_sb.st_ctim.tv_nsec = parent_sb.st_ctim.tv_nsec;\n      dot_sb.__glibc_reserved[0] = parent_sb.__glibc_reserved[0];\n      dot_sb.__glibc_reserved[1] = parent_sb.__glibc_reserved[1];\n      dot_sb.__glibc_reserved[2] = parent_sb.__glibc_reserved[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev)) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar3 = dirfd(__dirp);\n      if (iVar3 < 0) goto LAB_001027df;\n      iVar4 = fchdir(iVar3);\n      if (-1 < iVar4) {\n        iVar3 = __fxstat(1,iVar3,(stat *)local_218);\n        cVar1 = (char)((uint)iVar3 >> 0x18);\n        _Var12 = unaff_R12;\n        _Var13 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      pcVar7 = nth_parent(local_230);\n      pcVar7 = quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to chdir to %s",5);\n      piVar6 = __errno_location();\n      error(1,*piVar6,uVar8,pcVar7);\n      _Var12 = unaff_R12;\n      _Var13 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var13;\n      unaff_R12 = _Var12;\n      pcVar7 = nth_parent(local_230);\n      __dirp = (DIR *)quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to stat %s",5);\n      piVar6 = __errno_location();\n      pdVar9 = (dirent *)error(1,*piVar6,uVar8,__dirp);\n    }\n  }" { (expression_statement "pdVar9 = readdir(__dirp);" (assignment_expression "pdVar9 = readdir(__dirp)" identifier = (call_expression "readdir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (pdVar9 == (dirent *)0x0) {\n      pcVar7 = (char *)(ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar3 = closedir(__dirp);\n      if (iVar3 == 0) {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar8,pcVar7);\nLAB_00102b6b:\n        if (*file_name->start == '\0') {\n          file_name_prepend(file_name,"",0);\n        }\n        if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar8,pcVar7);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)pcVar7;\n      } while( true );\n    }" if (parenthesized_expression "(pdVar9 == (dirent *)0x0)" ( (binary_expression "pdVar9 == (dirent *)0x0" identifier == (cast_expression "(dirent *)0x0" ( (type_descriptor "dirent *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar7 = (char *)(ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar3 = closedir(__dirp);\n      if (iVar3 == 0) {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar8,pcVar7);\nLAB_00102b6b:\n        if (*file_name->start == '\0') {\n          file_name_prepend(file_name,"",0);\n        }\n        if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar8,pcVar7);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)pcVar7;\n      } while( true );\n    }" { (expression_statement "pcVar7 = (char *)(ulong)*local_238;" (assignment_expression "pcVar7 = (char *)(ulong)*local_238" identifier = (binary_expression "(char *)(ulong)*local_238" (cast_expression "(char *)(ulong)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * identifier)) ;) (if_statement "if (*local_238 != 0) goto LAB_00102929;" if (parenthesized_expression "(*local_238 != 0)" ( (binary_expression "*local_238 != 0" (pointer_expression "*local_238" * identifier) != number_literal) )) (goto_statement "goto LAB_00102929;" goto statement_identifier ;)) (expression_statement "iVar3 = closedir(__dirp);" (assignment_expression "iVar3 = closedir(__dirp)" identifier = (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar8,pcVar7);\nLAB_00102b6b:\n        if (*file_name->start == '\0') {\n          file_name_prepend(file_name,"",0);\n        }\n        if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar8,pcVar7);\nLAB_00102b6b:\n        if (*file_name->start == '\0') {\n          file_name_prepend(file_name,"",0);\n        }\n        if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }\n        return;\n      }" { (expression_statement "pcVar7 = nth_parent(local_230);" (assignment_expression "pcVar7 = nth_parent(local_230)" identifier = (call_expression "nth_parent(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;) (expression_statement "pcVar7 = quote(pcVar7);" (assignment_expression "pcVar7 = quote(pcVar7)" identifier = (call_expression "quote(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);" (assignment_expression "uVar8 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5)" identifier = (call_expression "dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5)" identifier (argument_list "(0,"couldn\'t find directory entry in %s with matching i-node",5)" ( number_literal , (string_literal ""couldn\'t find directory entry in %s with matching i-node"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "error(1,0,uVar8,pcVar7);" (call_expression "error(1,0,uVar8,pcVar7)" identifier (argument_list "(1,0,uVar8,pcVar7)" ( number_literal , number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_00102b6b:\n        if (*file_name->start == '\0') {\n          file_name_prepend(file_name,"",0);\n        }" statement_identifier : (if_statement "if (*file_name->start == '\0') {\n          file_name_prepend(file_name,"",0);\n        }" if (parenthesized_expression "(*file_name->start == '\0')" ( (binary_expression "*file_name->start == '\0'" (pointer_expression "*file_name->start" * (field_expression "file_name->start" identifier -> field_identifier)) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          file_name_prepend(file_name,"",0);\n        }" { (expression_statement "file_name_prepend(file_name,"",0);" (call_expression "file_name_prepend(file_name,"",0)" identifier (argument_list "(file_name,"",0)" ( identifier , (string_literal """" " ") , number_literal ))) ;) }))) (if_statement "if (lVar2 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }" if (parenthesized_expression "(lVar2 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lVar2 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          __stack_chk_fail();\n        }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })) (labeled_statement "LAB_001028e3:\n      do {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar8,pcVar7);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)pcVar7;\n      } while( true );" statement_identifier : (do_statement "do {\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar8,pcVar7);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)pcVar7;\n      } while( true );" do (compound_statement "{\n        pcVar7 = nth_parent(local_230);\n        pcVar7 = quote(pcVar7);\n        uVar8 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar8,pcVar7);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)pcVar7;\n      }" { (expression_statement "pcVar7 = nth_parent(local_230);" (assignment_expression "pcVar7 = nth_parent(local_230)" identifier = (call_expression "nth_parent(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;) (expression_statement "pcVar7 = quote(pcVar7);" (assignment_expression "pcVar7 = quote(pcVar7)" identifier = (call_expression "quote(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "uVar8 = dcgettext(0,"reading directory %s",5);" (assignment_expression "uVar8 = dcgettext(0,"reading directory %s",5)" identifier = (call_expression "dcgettext(0,"reading directory %s",5)" identifier (argument_list "(0,"reading directory %s",5)" ( number_literal , (string_literal ""reading directory %s"" " string_content ") , number_literal )))) ;) (expression_statement "error(1,*local_238,uVar8,pcVar7);" (call_expression "error(1,*local_238,uVar8,pcVar7)" identifier (argument_list "(1,*local_238,uVar8,pcVar7)" ( number_literal , (pointer_expression "*local_238" * identifier) , identifier , identifier ))) ;) (labeled_statement "LAB_00102929:\n        closedir(__dirp);" statement_identifier : (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier ))) ;)) (expression_statement "*local_238 = (uint)pcVar7;" (assignment_expression "*local_238 = (uint)pcVar7" (pointer_expression "*local_238" * identifier) = (cast_expression "(uint)pcVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (if_statement "if (pdVar9->d_name[0] != '.') goto LAB_00102aed;" if (parenthesized_expression "(pdVar9->d_name[0] != '.')" ( (binary_expression "pdVar9->d_name[0] != '.'" (subscript_expression "pdVar9->d_name[0]" (field_expression "pdVar9->d_name" identifier -> field_identifier) [ number_literal ]) != (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_00102aed;" goto statement_identifier ;)) (while_statement "while ((pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))\n         || ((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))) goto LAB_00102ac5;\n      uVar11 = 0xffffffffffffffff;\n      pcVar7 = pdVar9->d_name;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar7;\n        pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1;\n      } while (cVar1 != '\0');\n      file_name_prepend(file_name,pdVar9->d_name,~uVar11 - 1);\n      iVar3 = closedir(__dirp);\n      if (iVar3 != 0) goto LAB_001028e3;\n      dot_sb.st_dev = parent_sb.st_dev;\n      dot_sb.st_ino = parent_sb.st_ino;\n      dot_sb.st_nlink = parent_sb.st_nlink;\n      dot_sb.st_mode = parent_sb.st_mode;\n      dot_sb.st_uid = parent_sb.st_uid;\n      dot_sb.st_gid = parent_sb.st_gid;\n      dot_sb.__pad0 = parent_sb.__pad0;\n      dot_sb.st_rdev = parent_sb.st_rdev;\n      dot_sb.st_size = parent_sb.st_size;\n      dot_sb.st_blksize = parent_sb.st_blksize;\n      dot_sb.st_blocks = parent_sb.st_blocks;\n      dot_sb.st_atim.tv_sec = parent_sb.st_atim.tv_sec;\n      dot_sb.st_atim.tv_nsec = parent_sb.st_atim.tv_nsec;\n      dot_sb.st_mtim.tv_sec = parent_sb.st_mtim.tv_sec;\n      dot_sb.st_mtim.tv_nsec = parent_sb.st_mtim.tv_nsec;\n      dot_sb.st_ctim.tv_sec = parent_sb.st_ctim.tv_sec;\n      dot_sb.st_ctim.tv_nsec = parent_sb.st_ctim.tv_nsec;\n      dot_sb.__glibc_reserved[0] = parent_sb.__glibc_reserved[0];\n      dot_sb.__glibc_reserved[1] = parent_sb.__glibc_reserved[1];\n      dot_sb.__glibc_reserved[2] = parent_sb.__glibc_reserved[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev)) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar3 = dirfd(__dirp);\n      if (iVar3 < 0) goto LAB_001027df;\n      iVar4 = fchdir(iVar3);\n      if (-1 < iVar4) {\n        iVar3 = __fxstat(1,iVar3,(stat *)local_218);\n        cVar1 = (char)((uint)iVar3 >> 0x18);\n        _Var12 = unaff_R12;\n        _Var13 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      pcVar7 = nth_parent(local_230);\n      pcVar7 = quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to chdir to %s",5);\n      piVar6 = __errno_location();\n      error(1,*piVar6,uVar8,pcVar7);\n      _Var12 = unaff_R12;\n      _Var13 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var13;\n      unaff_R12 = _Var12;\n      pcVar7 = nth_parent(local_230);\n      __dirp = (DIR *)quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to stat %s",5);\n      piVar6 = __errno_location();\n      pdVar9 = (dirent *)error(1,*piVar6,uVar8,__dirp);\n    }" while (parenthesized_expression "((pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/')))" ( (parenthesized_expression "(pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/'))" ( (binary_expression "pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/')" (binary_expression "pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '\0'" (subscript_expression "pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1]" (field_expression "pdVar9->d_name" identifier -> field_identifier) [ (binary_expression "(ulong)(pdVar9->d_name[1] == '.') + 1" (call_expression "(ulong)(pdVar9->d_name[1] == '.')" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pdVar9->d_name[1] == '.')" ( (binary_expression "pdVar9->d_name[1] == '.'" (subscript_expression "pdVar9->d_name[1]" (field_expression "pdVar9->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) ))) + number_literal) ]) != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/')" ( (binary_expression "pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1] != '/'" (subscript_expression "pdVar9->d_name[(ulong)(pdVar9->d_name[1] == '.') + 1]" (field_expression "pdVar9->d_name" identifier -> field_identifier) [ (binary_expression "(ulong)(pdVar9->d_name[1] == '.') + 1" (call_expression "(ulong)(pdVar9->d_name[1] == '.')" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pdVar9->d_name[1] == '.')" ( (binary_expression "pdVar9->d_name[1] == '.'" (subscript_expression "pdVar9->d_name[1]" (field_expression "pdVar9->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) ))) + number_literal) ]) != (char_literal "'/'" ' character ')) ))) )) )) (compound_statement "{\nLAB_00102aed:\n      if ((((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))\n         || ((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))) goto LAB_00102ac5;\n      uVar11 = 0xffffffffffffffff;\n      pcVar7 = pdVar9->d_name;\n      do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar7;\n        pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1;\n      } while (cVar1 != '\0');\n      file_name_prepend(file_name,pdVar9->d_name,~uVar11 - 1);\n      iVar3 = closedir(__dirp);\n      if (iVar3 != 0) goto LAB_001028e3;\n      dot_sb.st_dev = parent_sb.st_dev;\n      dot_sb.st_ino = parent_sb.st_ino;\n      dot_sb.st_nlink = parent_sb.st_nlink;\n      dot_sb.st_mode = parent_sb.st_mode;\n      dot_sb.st_uid = parent_sb.st_uid;\n      dot_sb.st_gid = parent_sb.st_gid;\n      dot_sb.__pad0 = parent_sb.__pad0;\n      dot_sb.st_rdev = parent_sb.st_rdev;\n      dot_sb.st_size = parent_sb.st_size;\n      dot_sb.st_blksize = parent_sb.st_blksize;\n      dot_sb.st_blocks = parent_sb.st_blocks;\n      dot_sb.st_atim.tv_sec = parent_sb.st_atim.tv_sec;\n      dot_sb.st_atim.tv_nsec = parent_sb.st_atim.tv_nsec;\n      dot_sb.st_mtim.tv_sec = parent_sb.st_mtim.tv_sec;\n      dot_sb.st_mtim.tv_nsec = parent_sb.st_mtim.tv_nsec;\n      dot_sb.st_ctim.tv_sec = parent_sb.st_ctim.tv_sec;\n      dot_sb.st_ctim.tv_nsec = parent_sb.st_ctim.tv_nsec;\n      dot_sb.__glibc_reserved[0] = parent_sb.__glibc_reserved[0];\n      dot_sb.__glibc_reserved[1] = parent_sb.__glibc_reserved[1];\n      dot_sb.__glibc_reserved[2] = parent_sb.__glibc_reserved[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev)) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar3 = dirfd(__dirp);\n      if (iVar3 < 0) goto LAB_001027df;\n      iVar4 = fchdir(iVar3);\n      if (-1 < iVar4) {\n        iVar3 = __fxstat(1,iVar3,(stat *)local_218);\n        cVar1 = (char)((uint)iVar3 >> 0x18);\n        _Var12 = unaff_R12;\n        _Var13 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      pcVar7 = nth_parent(local_230);\n      pcVar7 = quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to chdir to %s",5);\n      piVar6 = __errno_location();\n      error(1,*piVar6,uVar8,pcVar7);\n      _Var12 = unaff_R12;\n      _Var13 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var13;\n      unaff_R12 = _Var12;\n      pcVar7 = nth_parent(local_230);\n      __dirp = (DIR *)quote(pcVar7);\n      uVar8 = dcgettext(0,"failed to stat %s",5);\n      piVar6 = __errno_location();\n      pdVar9 = (dirent *)error(1,*piVar6,uVar8,__dirp);\n    }" { (labeled_statement "LAB_00102aed:\n      if ((((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))\n         || ((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))) goto LAB_00102ac5;" statement_identifier : (if_statement "if ((((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))\n         || ((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))) goto LAB_00102ac5;" if (parenthesized_expression "((((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))\n         || ((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev))))))" ( (binary_expression "(((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))\n         || ((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))" (parenthesized_expression "(((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0))" ( (binary_expression "((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')) &&\n          (iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0)" (parenthesized_expression "((pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0'))" ( (binary_expression "(pdVar9->d_ino == 0) || (_Var10 = pdVar9->d_ino, unaff_R14B != '\0')" (parenthesized_expression "(pdVar9->d_ino == 0)" ( (binary_expression "pdVar9->d_ino == 0" (field_expression "pdVar9->d_ino" identifier -> field_identifier) == number_literal) )) || (parenthesized_expression "(_Var10 = pdVar9->d_ino, unaff_R14B != '\0')" ( (comma_expression "_Var10 = pdVar9->d_ino, unaff_R14B != '\0'" (assignment_expression "_Var10 = pdVar9->d_ino" identifier = (field_expression "pdVar9->d_ino" identifier -> field_identifier)) , (binary_expression "unaff_R14B != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) && (parenthesized_expression "(iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0)" ( (comma_expression "iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228), _Var10 = ent_sb.st_ino, iVar3 < 0" (assignment_expression "iVar3 = __lxstat(1,pdVar9->d_name,(stat *)local_228)" identifier = (call_expression "__lxstat(1,pdVar9->d_name,(stat *)local_228)" identifier (argument_list "(1,pdVar9->d_name,(stat *)local_228)" ( number_literal , (field_expression "pdVar9->d_name" identifier -> field_identifier) , (cast_expression "(stat *)local_228" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) , (comma_expression "_Var10 = ent_sb.st_ino, iVar3 < 0" (assignment_expression "_Var10 = ent_sb.st_ino" identifier = (field_expression "ent_sb.st_ino" identifier . field_identifier)) , (binary_expression "iVar3 < 0" identifier < number_literal))) ))) )) || (parenthesized_expression "((dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))))" ( (parenthesized_expression "(dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev))))" ( (binary_expression "dot_sb.st_ino != _Var10 ||\n             ((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))" (binary_expression "dot_sb.st_ino != _Var10" (field_expression "dot_sb.st_ino" identifier . field_identifier) != identifier) || (parenthesized_expression "((unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)))" ( (parenthesized_expression "(unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev))" ( (binary_expression "unaff_R13 != unaff_R12 && (ent_sb.st_dev != dot_sb.st_dev)" (binary_expression "unaff_R13 != unaff_R12" identifier != identifier) && (parenthesized_expression "(ent_sb.st_dev != dot_sb.st_dev)" ( (binary_expression "ent_sb.st_dev != dot_sb.st_dev" (field_expression "ent_sb.st_dev" identifier . field_identifier) != (field_expression "dot_sb.st_dev" identifier . field_identifier)) ))) )) ))) )) ))) )) (goto_statement "goto LAB_00102ac5;" goto statement_identifier ;))) (expression_statement "uVar11 = 0xffffffffffffffff;" (assignment_expression "uVar11 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "pcVar7 = pdVar9->d_name;" (assignment_expression "pcVar7 = pdVar9->d_name" identifier = (field_expression "pdVar9->d_name" identifier -> field_identifier)) ;) (do_statement "do {\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar7;\n        pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1;\n      } while (cVar1 != '\0');" do (compound_statement "{\n        if (uVar11 == 0) break;\n        uVar11 = uVar11 - 1;\n        cVar1 = *pcVar7;\n        pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1;\n      }" { (if_statement "if (uVar11 == 0) break;" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar11 = uVar11 - 1;" (assignment_expression "uVar11 = uVar11 - 1" identifier = (binary_expression "uVar11 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar7;" (assignment_expression "cVar1 = *pcVar7" identifier = (pointer_expression "*pcVar7" * identifier)) ;) (expression_statement "pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1;" (assignment_expression "pcVar7 = pcVar7 + (ulong)bVar14 * -2 + 1" identifier = (binary_expression "pcVar7 + (ulong)bVar14 * -2 + 1" (binary_expression "pcVar7 + (ulong)bVar14 * -2" identifier + (binary_expression "(ulong)bVar14 * -2" (cast_expression "(ulong)bVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "file_name_prepend(file_name,pdVar9->d_name,~uVar11 - 1);" (call_expression "file_name_prepend(file_name,pdVar9->d_name,~uVar11 - 1)" identifier (argument_list "(file_name,pdVar9->d_name,~uVar11 - 1)" ( identifier , (field_expression "pdVar9->d_name" identifier -> field_identifier) , (binary_expression "~uVar11 - 1" (unary_expression "~uVar11" ~ identifier) - number_literal) ))) ;) (expression_statement "iVar3 = closedir(__dirp);" (assignment_expression "iVar3 = closedir(__dirp)" identifier = (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_001028e3;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001028e3;" goto statement_identifier ;)) (expression_statement "dot_sb.st_dev = parent_sb.st_dev;" (assignment_expression "dot_sb.st_dev = parent_sb.st_dev" (field_expression "dot_sb.st_dev" identifier . field_identifier) = (field_expression "parent_sb.st_dev" identifier . field_identifier)) ;) (expression_statement "dot_sb.st_ino = parent_sb.st_ino;" (assignment_expression "dot_sb.st_ino = parent_sb.st_ino" (field_expression "dot_sb.st_ino" identifier . field_identifier) = (field_expression "parent_sb.st_ino" identifier . field_identifier)) ;) (expression_statement "dot_sb.st_nlink = parent_sb.st_nlink;" (assignment_expression "dot_sb.st_nlink = parent_sb.st_nlink" (field_expression "dot_sb.st_nlink" identifier . field_identifier) = (field_expression "parent_sb.st_nlink" identifier . field_identifier)) ;) (expression_statement "dot_sb.st_mode = parent_sb.st_mode;" (assignment_expression "dot_sb.st_mode = parent_sb.st_mode" (field_expression "dot_sb.st_mode" identifier . field_identifier) = (field_expression "parent_sb.st_mode" identifier . field_identifier)) ;) (expression_statement "dot_sb.st_uid = parent_sb.st_uid;" (assignment_expression "dot_sb.st_uid = parent_sb.st_uid" (field_expression "dot_sb.st_uid" identifier . field_identifier) = (field_expression "parent_sb.st_uid" identifier . field_identifier)) ;) (expression_statement "dot_sb.st_gid = parent_sb.st_gid;" (assignment_expression "dot_sb.st_gid = parent_sb.st_gid" (field_expression "dot_sb.st_gid" identifier . field_identifier) = (field_expression "parent_sb.st_gid" identifier . field_identifier)) ;) (expression_statement "dot_sb.__pad0 = parent_sb.__pad0;" (assignment_expression "dot_sb.__pad0 = parent_sb.__pad0" (field_expression "dot_sb.__pad0" identifier . field_identifier) = (field_expression "parent_sb.__pad0" identifier . field_identifier)) ;) (expression_statement "dot_sb.st_rdev = parent_sb.st_rdev;" (assignment_expression "dot_sb.st_rdev = parent_sb.st_rdev" (field_expression "dot_sb.st_rdev" identifier . field_identifier) = (field_expression "parent_sb.st_rdev" identifier . field_identifier)) ;) (expression_statement "dot_sb.st_size = parent_sb.st_size;" (assignment_expression "dot_sb.st_size = parent_sb.st_size" (field_expression "dot_sb.st_size" identifier . field_identifier) = (field_expression "parent_sb.st_size" identifier . field_identifier)) ;) (expression_statement "dot_sb.st_blksize = parent_sb.st_blksize;" (assignment_expression "dot_sb.st_blksize = parent_sb.st_blksize" (field_expression "dot_sb.st_blksize" identifier . field_identifier) = (field_expression "parent_sb.st_blksize" identifier . field_identifier)) ;) (expression_statement "dot_sb.st_blocks = parent_sb.st_blocks;" (assignment_expression "dot_sb.st_blocks = parent_sb.st_blocks" (field_expression "dot_sb.st_blocks" identifier . field_identifier) = (field_expression "parent_sb.st_blocks" identifier . field_identifier)) ;) (expression_statement "dot_sb.st_atim.tv_sec = parent_sb.st_atim.tv_sec;" (assignment_expression "dot_sb.st_atim.tv_sec = parent_sb.st_atim.tv_sec" (field_expression "dot_sb.st_atim.tv_sec" (field_expression "dot_sb.st_atim" identifier . field_identifier) . field_identifier) = (field_expression "parent_sb.st_atim.tv_sec" (field_expression "parent_sb.st_atim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "dot_sb.st_atim.tv_nsec = parent_sb.st_atim.tv_nsec;" (assignment_expression "dot_sb.st_atim.tv_nsec = parent_sb.st_atim.tv_nsec" (field_expression "dot_sb.st_atim.tv_nsec" (field_expression "dot_sb.st_atim" identifier . field_identifier) . field_identifier) = (field_expression "parent_sb.st_atim.tv_nsec" (field_expression "parent_sb.st_atim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "dot_sb.st_mtim.tv_sec = parent_sb.st_mtim.tv_sec;" (assignment_expression "dot_sb.st_mtim.tv_sec = parent_sb.st_mtim.tv_sec" (field_expression "dot_sb.st_mtim.tv_sec" (field_expression "dot_sb.st_mtim" identifier . field_identifier) . field_identifier) = (field_expression "parent_sb.st_mtim.tv_sec" (field_expression "parent_sb.st_mtim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "dot_sb.st_mtim.tv_nsec = parent_sb.st_mtim.tv_nsec;" (assignment_expression "dot_sb.st_mtim.tv_nsec = parent_sb.st_mtim.tv_nsec" (field_expression "dot_sb.st_mtim.tv_nsec" (field_expression "dot_sb.st_mtim" identifier . field_identifier) . field_identifier) = (field_expression "parent_sb.st_mtim.tv_nsec" (field_expression "parent_sb.st_mtim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "dot_sb.st_ctim.tv_sec = parent_sb.st_ctim.tv_sec;" (assignment_expression "dot_sb.st_ctim.tv_sec = parent_sb.st_ctim.tv_sec" (field_expression "dot_sb.st_ctim.tv_sec" (field_expression "dot_sb.st_ctim" identifier . field_identifier) . field_identifier) = (field_expression "parent_sb.st_ctim.tv_sec" (field_expression "parent_sb.st_ctim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "dot_sb.st_ctim.tv_nsec = parent_sb.st_ctim.tv_nsec;" (assignment_expression "dot_sb.st_ctim.tv_nsec = parent_sb.st_ctim.tv_nsec" (field_expression "dot_sb.st_ctim.tv_nsec" (field_expression "dot_sb.st_ctim" identifier . field_identifier) . field_identifier) = (field_expression "parent_sb.st_ctim.tv_nsec" (field_expression "parent_sb.st_ctim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "dot_sb.__glibc_reserved[0] = parent_sb.__glibc_reserved[0];" (assignment_expression "dot_sb.__glibc_reserved[0] = parent_sb.__glibc_reserved[0]" (subscript_expression "dot_sb.__glibc_reserved[0]" (field_expression "dot_sb.__glibc_reserved" identifier . field_identifier) [ number_literal ]) = (subscript_expression "parent_sb.__glibc_reserved[0]" (field_expression "parent_sb.__glibc_reserved" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "dot_sb.__glibc_reserved[1] = parent_sb.__glibc_reserved[1];" (assignment_expression "dot_sb.__glibc_reserved[1] = parent_sb.__glibc_reserved[1]" (subscript_expression "dot_sb.__glibc_reserved[1]" (field_expression "dot_sb.__glibc_reserved" identifier . field_identifier) [ number_literal ]) = (subscript_expression "parent_sb.__glibc_reserved[1]" (field_expression "parent_sb.__glibc_reserved" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "dot_sb.__glibc_reserved[2] = parent_sb.__glibc_reserved[2];" (assignment_expression "dot_sb.__glibc_reserved[2] = parent_sb.__glibc_reserved[2]" (subscript_expression "dot_sb.__glibc_reserved[2]" (field_expression "dot_sb.__glibc_reserved" identifier . field_identifier) [ number_literal ]) = (subscript_expression "parent_sb.__glibc_reserved[2]" (field_expression "parent_sb.__glibc_reserved" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "local_230 = unaff_R15;" (assignment_expression "local_230 = unaff_R15" identifier = identifier) ;) (labeled_statement "LAB_00102a2c:\n      if ((dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev)) goto LAB_00102b6b;" statement_identifier : (if_statement "if ((dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev)) goto LAB_00102b6b;" if (parenthesized_expression "((dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev))" ( (binary_expression "(dot_sb.st_ino == pdVar5->st_ino) && (dot_sb.st_dev == pdVar5->st_dev)" (parenthesized_expression "(dot_sb.st_ino == pdVar5->st_ino)" ( (binary_expression "dot_sb.st_ino == pdVar5->st_ino" (field_expression "dot_sb.st_ino" identifier . field_identifier) == (field_expression "pdVar5->st_ino" identifier -> field_identifier)) )) && (parenthesized_expression "(dot_sb.st_dev == pdVar5->st_dev)" ( (binary_expression "dot_sb.st_dev == pdVar5->st_dev" (field_expression "dot_sb.st_dev" identifier . field_identifier) == (field_expression "pdVar5->st_dev" identifier -> field_identifier)) ))) )) (goto_statement "goto LAB_00102b6b;" goto statement_identifier ;))) (expression_statement "unaff_R15 = local_230 + 1;" (assignment_expression "unaff_R15 = local_230 + 1" identifier = (binary_expression "local_230 + 1" identifier + number_literal)) ;) (expression_statement "__dirp = opendir("..");" (assignment_expression "__dirp = opendir("..")" identifier = (call_expression "opendir("..")" identifier (argument_list "("..")" ( (string_literal "".."" " string_content ") )))) ;) (if_statement "if (__dirp == (DIR *)0x0) goto LAB_00102795;" if (parenthesized_expression "(__dirp == (DIR *)0x0)" ( (binary_expression "__dirp == (DIR *)0x0" identifier == (cast_expression "(DIR *)0x0" ( (type_descriptor "DIR *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00102795;" goto statement_identifier ;)) (expression_statement "iVar3 = dirfd(__dirp);" (assignment_expression "iVar3 = dirfd(__dirp)" identifier = (call_expression "dirfd(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar3 < 0) goto LAB_001027df;" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001027df;" goto statement_identifier ;)) (expression_statement "iVar4 = fchdir(iVar3);" (assignment_expression "iVar4 = fchdir(iVar3)" identifier = (call_expression "fchdir(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if (-1 < iVar4) {\n        iVar3 = __fxstat(1,iVar3,(stat *)local_218);\n        cVar1 = (char)((uint)iVar3 >> 0x18);\n        _Var12 = unaff_R12;\n        _Var13 = unaff_R13;\n        goto LAB_00102aa0;\n      }" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (compound_statement "{\n        iVar3 = __fxstat(1,iVar3,(stat *)local_218);\n        cVar1 = (char)((uint)iVar3 >> 0x18);\n        _Var12 = unaff_R12;\n        _Var13 = unaff_R13;\n        goto LAB_00102aa0;\n      }" { (expression_statement "iVar3 = __fxstat(1,iVar3,(stat *)local_218);" (assignment_expression "iVar3 = __fxstat(1,iVar3,(stat *)local_218)" identifier = (call_expression "__fxstat(1,iVar3,(stat *)local_218)" identifier (argument_list "(1,iVar3,(stat *)local_218)" ( number_literal , identifier , (cast_expression "(stat *)local_218" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "cVar1 = (char)((uint)iVar3 >> 0x18);" (assignment_expression "cVar1 = (char)((uint)iVar3 >> 0x18)" identifier = (cast_expression "(char)((uint)iVar3 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar3 >> 0x18)" ( (binary_expression "(uint)iVar3 >> 0x18" (cast_expression "(uint)iVar3" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "_Var12 = unaff_R12;" (assignment_expression "_Var12 = unaff_R12" identifier = identifier) ;) (expression_statement "_Var13 = unaff_R13;" (assignment_expression "_Var13 = unaff_R13" identifier = identifier) ;) (goto_statement "goto LAB_00102aa0;" goto statement_identifier ;) })) (labeled_statement "LAB_0010280d:\n      pcVar7 = nth_parent(local_230);" statement_identifier : (expression_statement "pcVar7 = nth_parent(local_230);" (assignment_expression "pcVar7 = nth_parent(local_230)" identifier = (call_expression "nth_parent(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;)) (expression_statement "pcVar7 = quote(pcVar7);" (assignment_expression "pcVar7 = quote(pcVar7)" identifier = (call_expression "quote(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "uVar8 = dcgettext(0,"failed to chdir to %s",5);" (assignment_expression "uVar8 = dcgettext(0,"failed to chdir to %s",5)" identifier = (call_expression "dcgettext(0,"failed to chdir to %s",5)" identifier (argument_list "(0,"failed to chdir to %s",5)" ( number_literal , (string_literal ""failed to chdir to %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar6,uVar8,pcVar7);" (call_expression "error(1,*piVar6,uVar8,pcVar7)" identifier (argument_list "(1,*piVar6,uVar8,pcVar7)" ( number_literal , (pointer_expression "*piVar6" * identifier) , identifier , identifier ))) ;) (expression_statement "_Var12 = unaff_R12;" (assignment_expression "_Var12 = unaff_R12" identifier = identifier) ;) (expression_statement "_Var13 = unaff_R13;" (assignment_expression "_Var13 = unaff_R13" identifier = identifier) ;) (labeled_statement "LAB_00102857:\n      unaff_R13 = _Var13;" statement_identifier : (expression_statement "unaff_R13 = _Var13;" (assignment_expression "unaff_R13 = _Var13" identifier = identifier) ;)) (expression_statement "unaff_R12 = _Var12;" (assignment_expression "unaff_R12 = _Var12" identifier = identifier) ;) (expression_statement "pcVar7 = nth_parent(local_230);" (assignment_expression "pcVar7 = nth_parent(local_230)" identifier = (call_expression "nth_parent(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;) (expression_statement "__dirp = (DIR *)quote(pcVar7);" (assignment_expression "__dirp = (DIR *)quote(pcVar7)" identifier = (cast_expression "(DIR *)quote(pcVar7)" ( (type_descriptor "DIR *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "quote(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier ))))) ;) (expression_statement "uVar8 = dcgettext(0,"failed to stat %s",5);" (assignment_expression "uVar8 = dcgettext(0,"failed to stat %s",5)" identifier = (call_expression "dcgettext(0,"failed to stat %s",5)" identifier (argument_list "(0,"failed to stat %s",5)" ( number_literal , (string_literal ""failed to stat %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pdVar9 = (dirent *)error(1,*piVar6,uVar8,__dirp);" (assignment_expression "pdVar9 = (dirent *)error(1,*piVar6,uVar8,__dirp)" identifier = (cast_expression "(dirent *)error(1,*piVar6,uVar8,__dirp)" ( (type_descriptor "dirent *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "error(1,*piVar6,uVar8,__dirp)" identifier (argument_list "(1,*piVar6,uVar8,__dirp)" ( number_literal , (pointer_expression "*piVar6" * identifier) , identifier , identifier ))))) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void FUN_00102684(long param_1)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  __ino_t *p_Var4;\n  int *piVar5;\n  undefined8 uVar6;\n  DIR *__dirp;\n  dirent *pdVar7;\n  __ino_t _Var8;\n  undefined8 uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  __dev_t unaff_R12;\n  __dev_t unaff_R13;\n  __ino_t _Var12;\n  char unaff_R14B;\n  long unaff_R15;\n  long in_FS_OFFSET;\n  byte bVar13;\n  uint *local_238;\n  long local_230;\n  stat *local_228;\n  stat *local_218;\n  undefined1 local_208 [16];\n  stat local_1f8;\n  stat local_168;\n  stat local_d8;\n  long local_40;\n  \n  bVar13 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  p_Var4 = (__ino_t *)FUN_00104e1e(local_208);\n  if (p_Var4 == (__ino_t *)0x0) {\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }\n  else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }\n  uVar6 = FUN_00104b11(4,&DAT_0010601e);\n  uVar9 = dcgettext(0,"failed to stat %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar9,uVar6);\nLAB_00102795:\n  uVar6 = FUN_0010255f(local_230);\n  __dirp = (DIR *)FUN_00104e08(uVar6);\n  uVar6 = dcgettext(0,"cannot open directory %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar6,__dirp);\nLAB_001027df:\n  iVar2 = chdir("..");\n  if (iVar2 < 0) goto LAB_0010280d;\n  iVar2 = __xstat(1,".",local_218);\n  cVar1 = (char)((uint)iVar2 >> 0x18);\n  _Var8 = unaff_R12;\n  _Var12 = unaff_R13;\nLAB_00102aa0:\n  unaff_R13 = local_168.st_dev;\n  unaff_R12 = local_1f8.st_dev;\n  if (cVar1 < '\0') goto LAB_00102857;\n  unaff_R14B = local_168.st_dev != local_1f8.st_dev;\n  local_238 = (uint *)__errno_location();\nLAB_00102ac5:\n  *local_238 = 0;\n  do {\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  } while( true );\n}\n\n" (function_definition "void FUN_00102684(long param_1)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  __ino_t *p_Var4;\n  int *piVar5;\n  undefined8 uVar6;\n  DIR *__dirp;\n  dirent *pdVar7;\n  __ino_t _Var8;\n  undefined8 uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  __dev_t unaff_R12;\n  __dev_t unaff_R13;\n  __ino_t _Var12;\n  char unaff_R14B;\n  long unaff_R15;\n  long in_FS_OFFSET;\n  byte bVar13;\n  uint *local_238;\n  long local_230;\n  stat *local_228;\n  stat *local_218;\n  undefined1 local_208 [16];\n  stat local_1f8;\n  stat local_168;\n  stat local_d8;\n  long local_40;\n  \n  bVar13 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  p_Var4 = (__ino_t *)FUN_00104e1e(local_208);\n  if (p_Var4 == (__ino_t *)0x0) {\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }\n  else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }\n  uVar6 = FUN_00104b11(4,&DAT_0010601e);\n  uVar9 = dcgettext(0,"failed to stat %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar9,uVar6);\nLAB_00102795:\n  uVar6 = FUN_0010255f(local_230);\n  __dirp = (DIR *)FUN_00104e08(uVar6);\n  uVar6 = dcgettext(0,"cannot open directory %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar6,__dirp);\nLAB_001027df:\n  iVar2 = chdir("..");\n  if (iVar2 < 0) goto LAB_0010280d;\n  iVar2 = __xstat(1,".",local_218);\n  cVar1 = (char)((uint)iVar2 >> 0x18);\n  _Var8 = unaff_R12;\n  _Var12 = unaff_R13;\nLAB_00102aa0:\n  unaff_R13 = local_168.st_dev;\n  unaff_R12 = local_1f8.st_dev;\n  if (cVar1 < '\0') goto LAB_00102857;\n  unaff_R14B = local_168.st_dev != local_1f8.st_dev;\n  local_238 = (uint *)__errno_location();\nLAB_00102ac5:\n  *local_238 = 0;\n  do {\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_00102684(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  __ino_t *p_Var4;\n  int *piVar5;\n  undefined8 uVar6;\n  DIR *__dirp;\n  dirent *pdVar7;\n  __ino_t _Var8;\n  undefined8 uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  __dev_t unaff_R12;\n  __dev_t unaff_R13;\n  __ino_t _Var12;\n  char unaff_R14B;\n  long unaff_R15;\n  long in_FS_OFFSET;\n  byte bVar13;\n  uint *local_238;\n  long local_230;\n  stat *local_228;\n  stat *local_218;\n  undefined1 local_208 [16];\n  stat local_1f8;\n  stat local_168;\n  stat local_d8;\n  long local_40;\n  \n  bVar13 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  p_Var4 = (__ino_t *)FUN_00104e1e(local_208);\n  if (p_Var4 == (__ino_t *)0x0) {\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }\n  else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }\n  uVar6 = FUN_00104b11(4,&DAT_0010601e);\n  uVar9 = dcgettext(0,"failed to stat %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar9,uVar6);\nLAB_00102795:\n  uVar6 = FUN_0010255f(local_230);\n  __dirp = (DIR *)FUN_00104e08(uVar6);\n  uVar6 = dcgettext(0,"cannot open directory %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar6,__dirp);\nLAB_001027df:\n  iVar2 = chdir("..");\n  if (iVar2 < 0) goto LAB_0010280d;\n  iVar2 = __xstat(1,".",local_218);\n  cVar1 = (char)((uint)iVar2 >> 0x18);\n  _Var8 = unaff_R12;\n  _Var12 = unaff_R13;\nLAB_00102aa0:\n  unaff_R13 = local_168.st_dev;\n  unaff_R12 = local_1f8.st_dev;\n  if (cVar1 < '\0') goto LAB_00102857;\n  unaff_R14B = local_168.st_dev != local_1f8.st_dev;\n  local_238 = (uint *)__errno_location();\nLAB_00102ac5:\n  *local_238 = 0;\n  do {\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  } while( true );\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "__ino_t *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "DIR *__dirp;" type_identifier (pointer_declarator "*__dirp" * identifier) ;) (declaration "dirent *pdVar7;" type_identifier (pointer_declarator "*pdVar7" * identifier) ;) (declaration "__ino_t _Var8;" type_identifier identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "__dev_t unaff_R12;" type_identifier identifier ;) (declaration "__dev_t unaff_R13;" type_identifier identifier ;) (declaration "__ino_t _Var12;" type_identifier identifier ;) (declaration "char unaff_R14B;" primitive_type identifier ;) (declaration "long unaff_R15;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "uint *local_238;" type_identifier (pointer_declarator "*local_238" * identifier) ;) (declaration "long local_230;" (sized_type_specifier "long" long) identifier ;) (declaration "stat *local_228;" type_identifier (pointer_declarator "*local_228" * identifier) ;) (declaration "stat *local_218;" type_identifier (pointer_declarator "*local_218" * identifier) ;) (declaration "undefined1 local_208 [16];" type_identifier (array_declarator "local_208 [16]" identifier [ number_literal ]) ;) (declaration "stat local_1f8;" type_identifier identifier ;) (declaration "stat local_168;" type_identifier identifier ;) (declaration "stat local_d8;" type_identifier identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "p_Var4 = (__ino_t *)FUN_00104e1e(local_208);" (assignment_expression "p_Var4 = (__ino_t *)FUN_00104e1e(local_208)" identifier = (cast_expression "(__ino_t *)FUN_00104e1e(local_208)" ( (type_descriptor "__ino_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00104e1e(local_208)" identifier (argument_list "(local_208)" ( identifier ))))) ;) (if_statement "if (p_Var4 == (__ino_t *)0x0) {\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }\n  else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }" if (parenthesized_expression "(p_Var4 == (__ino_t *)0x0)" ( (binary_expression "p_Var4 == (__ino_t *)0x0" identifier == (cast_expression "(__ino_t *)0x0" ( (type_descriptor "__ino_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }" { (expression_statement "uVar6 = FUN_00104b11(4,&DAT_00106526);" (assignment_expression "uVar6 = FUN_00104b11(4,&DAT_00106526)" identifier = (call_expression "FUN_00104b11(4,&DAT_00106526)" identifier (argument_list "(4,&DAT_00106526)" ( number_literal , (pointer_expression "&DAT_00106526" & identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"failed to get attributes of %s",5);" (assignment_expression "uVar9 = dcgettext(0,"failed to get attributes of %s",5)" identifier = (call_expression "dcgettext(0,"failed to get attributes of %s",5)" identifier (argument_list "(0,"failed to get attributes of %s",5)" ( number_literal , (string_literal ""failed to get attributes of %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar5,uVar9,uVar6);" (call_expression "error(1,*piVar5,uVar9,uVar6)" identifier (argument_list "(1,*piVar5,uVar9,uVar6)" ( number_literal , (pointer_expression "*piVar5" * identifier) , identifier , identifier ))) ;) }) (else_clause "else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }" else (compound_statement "{\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }" { (expression_statement "iVar2 = __xstat(1,".",&local_1f8);" (assignment_expression "iVar2 = __xstat(1,".",&local_1f8)" identifier = (call_expression "__xstat(1,".",&local_1f8)" identifier (argument_list "(1,".",&local_1f8)" ( number_literal , (string_literal ""."" " string_content ") , (pointer_expression "&local_1f8" & identifier) )))) ;) (if_statement "if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }" if (parenthesized_expression "(-1 < iVar2)" ( (binary_expression "-1 < iVar2" number_literal < identifier) )) (compound_statement "{\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }" { (expression_statement "local_230 = 1;" (assignment_expression "local_230 = 1" identifier = number_literal) ;) (expression_statement "local_218 = &local_168;" (assignment_expression "local_218 = &local_168" identifier = (pointer_expression "&local_168" & identifier)) ;) (expression_statement "local_228 = &local_d8;" (assignment_expression "local_228 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (goto_statement "goto LAB_00102a2c;" goto statement_identifier ;) })) }))) (expression_statement "uVar6 = FUN_00104b11(4,&DAT_0010601e);" (assignment_expression "uVar6 = FUN_00104b11(4,&DAT_0010601e)" identifier = (call_expression "FUN_00104b11(4,&DAT_0010601e)" identifier (argument_list "(4,&DAT_0010601e)" ( number_literal , (pointer_expression "&DAT_0010601e" & identifier) )))) ;) (expression_statement "uVar9 = dcgettext(0,"failed to stat %s",5);" (assignment_expression "uVar9 = dcgettext(0,"failed to stat %s",5)" identifier = (call_expression "dcgettext(0,"failed to stat %s",5)" identifier (argument_list "(0,"failed to stat %s",5)" ( number_literal , (string_literal ""failed to stat %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar5,uVar9,uVar6);" (call_expression "error(1,*piVar5,uVar9,uVar6)" identifier (argument_list "(1,*piVar5,uVar9,uVar6)" ( number_literal , (pointer_expression "*piVar5" * identifier) , identifier , identifier ))) ;) (labeled_statement "LAB_00102795:\n  uVar6 = FUN_0010255f(local_230);" statement_identifier : (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" identifier = (call_expression "FUN_0010255f(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;)) (expression_statement "__dirp = (DIR *)FUN_00104e08(uVar6);" (assignment_expression "__dirp = (DIR *)FUN_00104e08(uVar6)" identifier = (cast_expression "(DIR *)FUN_00104e08(uVar6)" ( (type_descriptor "DIR *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00104e08(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))))) ;) (expression_statement "uVar6 = dcgettext(0,"cannot open directory %s",5);" (assignment_expression "uVar6 = dcgettext(0,"cannot open directory %s",5)" identifier = (call_expression "dcgettext(0,"cannot open directory %s",5)" identifier (argument_list "(0,"cannot open directory %s",5)" ( number_literal , (string_literal ""cannot open directory %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar5,uVar6,__dirp);" (call_expression "error(1,*piVar5,uVar6,__dirp)" identifier (argument_list "(1,*piVar5,uVar6,__dirp)" ( number_literal , (pointer_expression "*piVar5" * identifier) , identifier , identifier ))) ;) (labeled_statement "LAB_001027df:\n  iVar2 = chdir("..");" statement_identifier : (expression_statement "iVar2 = chdir("..");" (assignment_expression "iVar2 = chdir("..")" identifier = (call_expression "chdir("..")" identifier (argument_list "("..")" ( (string_literal "".."" " string_content ") )))) ;)) (if_statement "if (iVar2 < 0) goto LAB_0010280d;" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0010280d;" goto statement_identifier ;)) (expression_statement "iVar2 = __xstat(1,".",local_218);" (assignment_expression "iVar2 = __xstat(1,".",local_218)" identifier = (call_expression "__xstat(1,".",local_218)" identifier (argument_list "(1,".",local_218)" ( number_literal , (string_literal ""."" " string_content ") , identifier )))) ;) (expression_statement "cVar1 = (char)((uint)iVar2 >> 0x18);" (assignment_expression "cVar1 = (char)((uint)iVar2 >> 0x18)" identifier = (cast_expression "(char)((uint)iVar2 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar2 >> 0x18)" ( (binary_expression "(uint)iVar2 >> 0x18" (cast_expression "(uint)iVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "_Var8 = unaff_R12;" (assignment_expression "_Var8 = unaff_R12" identifier = identifier) ;) (expression_statement "_Var12 = unaff_R13;" (assignment_expression "_Var12 = unaff_R13" identifier = identifier) ;) (labeled_statement "LAB_00102aa0:\n  unaff_R13 = local_168.st_dev;" statement_identifier : (expression_statement "unaff_R13 = local_168.st_dev;" (assignment_expression "unaff_R13 = local_168.st_dev" identifier = (field_expression "local_168.st_dev" identifier . field_identifier)) ;)) (expression_statement "unaff_R12 = local_1f8.st_dev;" (assignment_expression "unaff_R12 = local_1f8.st_dev" identifier = (field_expression "local_1f8.st_dev" identifier . field_identifier)) ;) (if_statement "if (cVar1 < '\0') goto LAB_00102857;" if (parenthesized_expression "(cVar1 < '\0')" ( (binary_expression "cVar1 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00102857;" goto statement_identifier ;)) (expression_statement "unaff_R14B = local_168.st_dev != local_1f8.st_dev;" (assignment_expression "unaff_R14B = local_168.st_dev != local_1f8.st_dev" identifier = (binary_expression "local_168.st_dev != local_1f8.st_dev" (field_expression "local_168.st_dev" identifier . field_identifier) != (field_expression "local_1f8.st_dev" identifier . field_identifier))) ;) (expression_statement "local_238 = (uint *)__errno_location();" (assignment_expression "local_238 = (uint *)__errno_location()" identifier = (cast_expression "(uint *)__errno_location()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (labeled_statement "LAB_00102ac5:\n  *local_238 = 0;" statement_identifier : (expression_statement "*local_238 = 0;" (assignment_expression "*local_238 = 0" (pointer_expression "*local_238" * identifier) = number_literal) ;)) (do_statement "do {\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  } while( true );" do (compound_statement "{\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  }" { (expression_statement "pdVar7 = readdir(__dirp);" (assignment_expression "pdVar7 = readdir(__dirp)" identifier = (call_expression "readdir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }" if (parenthesized_expression "(pdVar7 == (dirent *)0x0)" ( (binary_expression "pdVar7 == (dirent *)0x0" identifier == (cast_expression "(dirent *)0x0" ( (type_descriptor "dirent *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }" { (expression_statement "uVar10 = (ulong)*local_238;" (assignment_expression "uVar10 = (ulong)*local_238" identifier = (binary_expression "(ulong)*local_238" (parenthesized_expression "(ulong)" ( identifier )) * identifier)) ;) (if_statement "if (*local_238 != 0) goto LAB_00102929;" if (parenthesized_expression "(*local_238 != 0)" ( (binary_expression "*local_238 != 0" (pointer_expression "*local_238" * identifier) != number_literal) )) (goto_statement "goto LAB_00102929;" goto statement_identifier ;)) (expression_statement "iVar2 = closedir(__dirp);" (assignment_expression "iVar2 = closedir(__dirp)" identifier = (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }" { (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" identifier = (call_expression "FUN_0010255f(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;) (expression_statement "uVar6 = FUN_00104e08(uVar6);" (assignment_expression "uVar6 = FUN_00104e08(uVar6)" identifier = (call_expression "FUN_00104e08(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);" (assignment_expression "uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5)" identifier = (call_expression "dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5)" identifier (argument_list "(0,"couldn\'t find directory entry in %s with matching i-node",5)" ( number_literal , (string_literal ""couldn\'t find directory entry in %s with matching i-node"" " string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "error(1,0,uVar9,uVar6);" (call_expression "error(1,0,uVar9,uVar6)" identifier (argument_list "(1,0,uVar9,uVar6)" ( number_literal , number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }" statement_identifier : (if_statement "if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }" if (parenthesized_expression "(**(char **)(param_1 + 0x10) == '\0')" ( (binary_expression "**(char **)(param_1 + 0x10) == '\0'" (pointer_expression "**(char **)(param_1 + 0x10)" * (pointer_expression "*(char **)(param_1 + 0x10)" * (cast_expression "(char **)(param_1 + 0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          FUN_001025c5(param_1,"",0);\n        }" { (expression_statement "FUN_001025c5(param_1,"",0);" (call_expression "FUN_001025c5(param_1,"",0)" identifier (argument_list "(param_1,"",0)" ( identifier , (string_literal """" " ") , number_literal ))) ;) }))) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n          __stack_chk_fail();\n        }" { (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })) (labeled_statement "LAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );" statement_identifier : (do_statement "do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );" do (compound_statement "{\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      }" { (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" identifier = (call_expression "FUN_0010255f(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;) (expression_statement "uVar10 = FUN_00104e08(uVar6);" (assignment_expression "uVar10 = FUN_00104e08(uVar6)" identifier = (call_expression "FUN_00104e08(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "uVar6 = dcgettext(0,"reading directory %s",5);" (assignment_expression "uVar6 = dcgettext(0,"reading directory %s",5)" identifier = (call_expression "dcgettext(0,"reading directory %s",5)" identifier (argument_list "(0,"reading directory %s",5)" ( number_literal , (string_literal ""reading directory %s"" " string_content ") , number_literal )))) ;) (expression_statement "error(1,*local_238,uVar6,uVar10);" (call_expression "error(1,*local_238,uVar6,uVar10)" identifier (argument_list "(1,*local_238,uVar6,uVar10)" ( number_literal , (pointer_expression "*local_238" * identifier) , identifier , identifier ))) ;) (labeled_statement "LAB_00102929:\n        closedir(__dirp);" statement_identifier : (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier ))) ;)) (expression_statement "*local_238 = (uint)uVar10;" (assignment_expression "*local_238 = (uint)uVar10" (pointer_expression "*local_238" * identifier) = (cast_expression "(uint)uVar10" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (if_statement "if (pdVar7->d_name[0] != '.') goto LAB_00102aed;" if (parenthesized_expression "(pdVar7->d_name[0] != '.')" ( (binary_expression "pdVar7->d_name[0] != '.'" (subscript_expression "pdVar7->d_name[0]" (field_expression "pdVar7->d_name" identifier -> field_identifier) [ number_literal ]) != (char_literal "'.'" ' character ')) )) (goto_statement "goto LAB_00102aed;" goto statement_identifier ;)) (while_statement "while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }" while (parenthesized_expression "((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/')))" ( (parenthesized_expression "(pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))" ( (binary_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/')" (binary_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0'" (subscript_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1]" (field_expression "pdVar7->d_name" identifier -> field_identifier) [ (binary_expression "(ulong)(pdVar7->d_name[1] == '.') + 1" (call_expression "(ulong)(pdVar7->d_name[1] == '.')" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pdVar7->d_name[1] == '.')" ( (binary_expression "pdVar7->d_name[1] == '.'" (subscript_expression "pdVar7->d_name[1]" (field_expression "pdVar7->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) ))) + number_literal) ]) != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/')" ( (binary_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'" (subscript_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1]" (field_expression "pdVar7->d_name" identifier -> field_identifier) [ (binary_expression "(ulong)(pdVar7->d_name[1] == '.') + 1" (call_expression "(ulong)(pdVar7->d_name[1] == '.')" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pdVar7->d_name[1] == '.')" ( (binary_expression "pdVar7->d_name[1] == '.'" (subscript_expression "pdVar7->d_name[1]" (field_expression "pdVar7->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) ))) + number_literal) ]) != (char_literal "'/'" ' character ')) ))) )) )) (compound_statement "{\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }" { (labeled_statement "LAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;" statement_identifier : (if_statement "if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;" if (parenthesized_expression "((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev))))))" ( (binary_expression "(((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))" (parenthesized_expression "(((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0))" ( (binary_expression "((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)" (parenthesized_expression "((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0'))" ( (binary_expression "(pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')" (parenthesized_expression "(pdVar7->d_ino == 0)" ( (binary_expression "pdVar7->d_ino == 0" (field_expression "pdVar7->d_ino" identifier -> field_identifier) == number_literal) )) || (parenthesized_expression "(_Var8 = pdVar7->d_ino, unaff_R14B != '\0')" ( (comma_expression "_Var8 = pdVar7->d_ino, unaff_R14B != '\0'" (assignment_expression "_Var8 = pdVar7->d_ino" identifier = (field_expression "pdVar7->d_ino" identifier -> field_identifier)) , (binary_expression "unaff_R14B != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) && (parenthesized_expression "(iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)" ( (comma_expression "iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0" (assignment_expression "iVar2 = __lxstat(1,pdVar7->d_name,local_228)" identifier = (call_expression "__lxstat(1,pdVar7->d_name,local_228)" identifier (argument_list "(1,pdVar7->d_name,local_228)" ( number_literal , (field_expression "pdVar7->d_name" identifier -> field_identifier) , identifier )))) , (comma_expression "_Var8 = local_d8.st_ino, iVar2 < 0" (assignment_expression "_Var8 = local_d8.st_ino" identifier = (field_expression "local_d8.st_ino" identifier . field_identifier)) , (binary_expression "iVar2 < 0" identifier < number_literal))) ))) )) || (parenthesized_expression "((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))" ( (parenthesized_expression "(local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev))))" ( (binary_expression "local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))" (binary_expression "local_1f8.st_ino != _Var8" (field_expression "local_1f8.st_ino" identifier . field_identifier) != identifier) || (parenthesized_expression "((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))" ( (parenthesized_expression "(unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev))" ( (binary_expression "unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)" (binary_expression "unaff_R13 != unaff_R12" identifier != identifier) && (parenthesized_expression "(local_d8.st_dev != local_1f8.st_dev)" ( (binary_expression "local_d8.st_dev != local_1f8.st_dev" (field_expression "local_d8.st_dev" identifier . field_identifier) != (field_expression "local_1f8.st_dev" identifier . field_identifier)) ))) )) ))) )) ))) )) (goto_statement "goto LAB_00102ac5;" goto statement_identifier ;))) (expression_statement "uVar10 = 0xffffffffffffffff;" (assignment_expression "uVar10 = 0xffffffffffffffff" identifier = number_literal) ;) (expression_statement "pcVar11 = pdVar7->d_name;" (assignment_expression "pcVar11 = pdVar7->d_name" identifier = (field_expression "pdVar7->d_name" identifier -> field_identifier)) ;) (do_statement "do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');" do (compound_statement "{\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      }" { (if_statement "if (uVar10 == 0) break;" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = uVar10 - 1;" (assignment_expression "uVar10 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) ;) (expression_statement "cVar1 = *pcVar11;" (assignment_expression "cVar1 = *pcVar11" identifier = (pointer_expression "*pcVar11" * identifier)) ;) (expression_statement "pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1" identifier = (binary_expression "pcVar11 + (ulong)bVar13 * -2 + 1" (binary_expression "pcVar11 + (ulong)bVar13 * -2" identifier + (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) ;) (expression_statement "FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);" (call_expression "FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1)" identifier (argument_list "(param_1,pdVar7->d_name,~uVar10 - 1)" ( identifier , (field_expression "pdVar7->d_name" identifier -> field_identifier) , (binary_expression "~uVar10 - 1" (unary_expression "~uVar10" ~ identifier) - number_literal) ))) ;) (expression_statement "iVar2 = closedir(__dirp);" (assignment_expression "iVar2 = closedir(__dirp)" identifier = (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_001028e3;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001028e3;" goto statement_identifier ;)) (expression_statement "local_1f8.st_dev = local_168.st_dev;" (assignment_expression "local_1f8.st_dev = local_168.st_dev" (field_expression "local_1f8.st_dev" identifier . field_identifier) = (field_expression "local_168.st_dev" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_ino = local_168.st_ino;" (assignment_expression "local_1f8.st_ino = local_168.st_ino" (field_expression "local_1f8.st_ino" identifier . field_identifier) = (field_expression "local_168.st_ino" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_nlink = local_168.st_nlink;" (assignment_expression "local_1f8.st_nlink = local_168.st_nlink" (field_expression "local_1f8.st_nlink" identifier . field_identifier) = (field_expression "local_168.st_nlink" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_mode = local_168.st_mode;" (assignment_expression "local_1f8.st_mode = local_168.st_mode" (field_expression "local_1f8.st_mode" identifier . field_identifier) = (field_expression "local_168.st_mode" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_uid = local_168.st_uid;" (assignment_expression "local_1f8.st_uid = local_168.st_uid" (field_expression "local_1f8.st_uid" identifier . field_identifier) = (field_expression "local_168.st_uid" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_gid = local_168.st_gid;" (assignment_expression "local_1f8.st_gid = local_168.st_gid" (field_expression "local_1f8.st_gid" identifier . field_identifier) = (field_expression "local_168.st_gid" identifier . field_identifier)) ;) (expression_statement "local_1f8.__pad0 = local_168.__pad0;" (assignment_expression "local_1f8.__pad0 = local_168.__pad0" (field_expression "local_1f8.__pad0" identifier . field_identifier) = (field_expression "local_168.__pad0" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_rdev = local_168.st_rdev;" (assignment_expression "local_1f8.st_rdev = local_168.st_rdev" (field_expression "local_1f8.st_rdev" identifier . field_identifier) = (field_expression "local_168.st_rdev" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_size = local_168.st_size;" (assignment_expression "local_1f8.st_size = local_168.st_size" (field_expression "local_1f8.st_size" identifier . field_identifier) = (field_expression "local_168.st_size" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_blksize = local_168.st_blksize;" (assignment_expression "local_1f8.st_blksize = local_168.st_blksize" (field_expression "local_1f8.st_blksize" identifier . field_identifier) = (field_expression "local_168.st_blksize" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_blocks = local_168.st_blocks;" (assignment_expression "local_1f8.st_blocks = local_168.st_blocks" (field_expression "local_1f8.st_blocks" identifier . field_identifier) = (field_expression "local_168.st_blocks" identifier . field_identifier)) ;) (expression_statement "local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;" (assignment_expression "local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec" (field_expression "local_1f8.st_atim.tv_sec" (field_expression "local_1f8.st_atim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_atim.tv_sec" (field_expression "local_168.st_atim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;" (assignment_expression "local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec" (field_expression "local_1f8.st_atim.tv_nsec" (field_expression "local_1f8.st_atim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_atim.tv_nsec" (field_expression "local_168.st_atim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;" (assignment_expression "local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec" (field_expression "local_1f8.st_mtim.tv_sec" (field_expression "local_1f8.st_mtim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_mtim.tv_sec" (field_expression "local_168.st_mtim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;" (assignment_expression "local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec" (field_expression "local_1f8.st_mtim.tv_nsec" (field_expression "local_1f8.st_mtim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_mtim.tv_nsec" (field_expression "local_168.st_mtim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;" (assignment_expression "local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec" (field_expression "local_1f8.st_ctim.tv_sec" (field_expression "local_1f8.st_ctim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_ctim.tv_sec" (field_expression "local_168.st_ctim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;" (assignment_expression "local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec" (field_expression "local_1f8.st_ctim.tv_nsec" (field_expression "local_1f8.st_ctim" identifier . field_identifier) . field_identifier) = (field_expression "local_168.st_ctim.tv_nsec" (field_expression "local_168.st_ctim" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1f8.__unused[0] = local_168.__unused[0];" (assignment_expression "local_1f8.__unused[0] = local_168.__unused[0]" (subscript_expression "local_1f8.__unused[0]" (field_expression "local_1f8.__unused" identifier . field_identifier) [ number_literal ]) = (subscript_expression "local_168.__unused[0]" (field_expression "local_168.__unused" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "local_1f8.__unused[1] = local_168.__unused[1];" (assignment_expression "local_1f8.__unused[1] = local_168.__unused[1]" (subscript_expression "local_1f8.__unused[1]" (field_expression "local_1f8.__unused" identifier . field_identifier) [ number_literal ]) = (subscript_expression "local_168.__unused[1]" (field_expression "local_168.__unused" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "local_1f8.__unused[2] = local_168.__unused[2];" (assignment_expression "local_1f8.__unused[2] = local_168.__unused[2]" (subscript_expression "local_1f8.__unused[2]" (field_expression "local_1f8.__unused" identifier . field_identifier) [ number_literal ]) = (subscript_expression "local_168.__unused[2]" (field_expression "local_168.__unused" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "local_230 = unaff_R15;" (assignment_expression "local_230 = unaff_R15" identifier = identifier) ;) (labeled_statement "LAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;" statement_identifier : (if_statement "if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;" if (parenthesized_expression "((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1]))" ( (binary_expression "(local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])" (parenthesized_expression "(local_1f8.st_ino == *p_Var4)" ( (binary_expression "local_1f8.st_ino == *p_Var4" (field_expression "local_1f8.st_ino" identifier . field_identifier) == (pointer_expression "*p_Var4" * identifier)) )) && (parenthesized_expression "(local_1f8.st_dev == p_Var4[1])" ( (binary_expression "local_1f8.st_dev == p_Var4[1]" (field_expression "local_1f8.st_dev" identifier . field_identifier) == (subscript_expression "p_Var4[1]" identifier [ number_literal ])) ))) )) (goto_statement "goto LAB_00102b6b;" goto statement_identifier ;))) (expression_statement "unaff_R15 = local_230 + 1;" (assignment_expression "unaff_R15 = local_230 + 1" identifier = (binary_expression "local_230 + 1" identifier + number_literal)) ;) (expression_statement "__dirp = opendir("..");" (assignment_expression "__dirp = opendir("..")" identifier = (call_expression "opendir("..")" identifier (argument_list "("..")" ( (string_literal "".."" " string_content ") )))) ;) (if_statement "if (__dirp == (DIR *)0x0) goto LAB_00102795;" if (parenthesized_expression "(__dirp == (DIR *)0x0)" ( (binary_expression "__dirp == (DIR *)0x0" identifier == (cast_expression "(DIR *)0x0" ( (type_descriptor "DIR *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00102795;" goto statement_identifier ;)) (expression_statement "iVar2 = dirfd(__dirp);" (assignment_expression "iVar2 = dirfd(__dirp)" identifier = (call_expression "dirfd(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar2 < 0) goto LAB_001027df;" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (goto_statement "goto LAB_001027df;" goto statement_identifier ;)) (expression_statement "iVar3 = fchdir(iVar2);" (assignment_expression "iVar3 = fchdir(iVar2)" identifier = (call_expression "fchdir(iVar2)" identifier (argument_list "(iVar2)" ( identifier )))) ;) (if_statement "if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }" { (expression_statement "iVar2 = __fxstat(1,iVar2,local_218);" (assignment_expression "iVar2 = __fxstat(1,iVar2,local_218)" identifier = (call_expression "__fxstat(1,iVar2,local_218)" identifier (argument_list "(1,iVar2,local_218)" ( number_literal , identifier , identifier )))) ;) (expression_statement "cVar1 = (char)((uint)iVar2 >> 0x18);" (assignment_expression "cVar1 = (char)((uint)iVar2 >> 0x18)" identifier = (cast_expression "(char)((uint)iVar2 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((uint)iVar2 >> 0x18)" ( (binary_expression "(uint)iVar2 >> 0x18" (cast_expression "(uint)iVar2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "_Var8 = unaff_R12;" (assignment_expression "_Var8 = unaff_R12" identifier = identifier) ;) (expression_statement "_Var12 = unaff_R13;" (assignment_expression "_Var12 = unaff_R13" identifier = identifier) ;) (goto_statement "goto LAB_00102aa0;" goto statement_identifier ;) })) (labeled_statement "LAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);" statement_identifier : (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" identifier = (call_expression "FUN_0010255f(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;)) (expression_statement "uVar6 = FUN_00104e08(uVar6);" (assignment_expression "uVar6 = FUN_00104e08(uVar6)" identifier = (call_expression "FUN_00104e08(uVar6)" identifier (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "uVar9 = dcgettext(0,"failed to chdir to %s",5);" (assignment_expression "uVar9 = dcgettext(0,"failed to chdir to %s",5)" identifier = (call_expression "dcgettext(0,"failed to chdir to %s",5)" identifier (argument_list "(0,"failed to chdir to %s",5)" ( number_literal , (string_literal ""failed to chdir to %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "error(1,*piVar5,uVar9,uVar6);" (call_expression "error(1,*piVar5,uVar9,uVar6)" identifier (argument_list "(1,*piVar5,uVar9,uVar6)" ( number_literal , (pointer_expression "*piVar5" * identifier) , identifier , identifier ))) ;) (expression_statement "_Var8 = unaff_R12;" (assignment_expression "_Var8 = unaff_R12" identifier = identifier) ;) (expression_statement "_Var12 = unaff_R13;" (assignment_expression "_Var12 = unaff_R13" identifier = identifier) ;) (labeled_statement "LAB_00102857:\n      unaff_R13 = _Var12;" statement_identifier : (expression_statement "unaff_R13 = _Var12;" (assignment_expression "unaff_R13 = _Var12" identifier = identifier) ;)) (expression_statement "unaff_R12 = _Var8;" (assignment_expression "unaff_R12 = _Var8" identifier = identifier) ;) (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" identifier = (call_expression "FUN_0010255f(local_230)" identifier (argument_list "(local_230)" ( identifier )))) ;) (expression_statement "__dirp = (DIR *)FUN_00104e08(uVar6);" (assignment_expression "__dirp = (DIR *)FUN_00104e08(uVar6)" identifier = (cast_expression "(DIR *)FUN_00104e08(uVar6)" ( (type_descriptor "DIR *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00104e08(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))))) ;) (expression_statement "uVar6 = dcgettext(0,"failed to stat %s",5);" (assignment_expression "uVar6 = dcgettext(0,"failed to stat %s",5)" identifier = (call_expression "dcgettext(0,"failed to stat %s",5)" identifier (argument_list "(0,"failed to stat %s",5)" ( number_literal , (string_literal ""failed to stat %s"" " string_content ") , number_literal )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);" (assignment_expression "pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp)" identifier = (cast_expression "(dirent *)error(1,*piVar5,uVar6,__dirp)" ( (type_descriptor "dirent *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "error(1,*piVar5,uVar6,__dirp)" identifier (argument_list "(1,*piVar5,uVar6,__dirp)" ( number_literal , (pointer_expression "*piVar5" * identifier) , identifier , identifier ))))) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) 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 (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;)) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) != (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " ") , LIT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return ;) })) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) while (parenthesized_expression ( BOOL )) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) == (char_literal ' character ')) ))) + LIT) ]) != (char_literal ' escape_sequence ')) && (parenthesized_expression ( (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) == (char_literal ' character ')) ))) + LIT) ]) != (char_literal ' character ')) ))) )) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (field_expression IDENT -> field_identifier) , IDENT )))) , (comma_expression (assignment_expression IDENT = (field_expression IDENT . field_identifier)) , (binary_expression IDENT < LIT))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT . field_identifier) != IDENT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) && (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != (field_expression IDENT . field_identifier)) ))) )) ))) )) ))) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (field_expression IDENT -> field_identifier) , (binary_expression (unary_expression ~ IDENT) - LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) = (subscript_expression (field_expression IDENT . field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) = (subscript_expression (field_expression IDENT . field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) = (subscript_expression (field_expression IDENT . field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (pointer_expression * IDENT)) )) && (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (subscript_expression IDENT [ LIT ])) ))) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (pointer_expression * IDENT) , IDENT , IDENT ))))) ;) })) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void FUN_00102684(long param_1)\n\n{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  __ino_t *p_Var4;\n  int *piVar5;\n  undefined8 uVar6;\n  DIR *__dirp;\n  dirent *pdVar7;\n  __ino_t _Var8;\n  undefined8 uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  __dev_t unaff_R12;\n  __dev_t unaff_R13;\n  __ino_t _Var12;\n  char unaff_R14B;\n  long unaff_R15;\n  long in_FS_OFFSET;\n  byte bVar13;\n  uint *local_238;\n  long local_230;\n  stat *local_228;\n  stat *local_218;\n  undefined1 local_208 [16];\n  stat local_1f8;\n  stat local_168;\n  stat local_d8;\n  long local_40;\n  \n  bVar13 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  p_Var4 = (__ino_t *)FUN_00104e1e(local_208);\n  if (p_Var4 == (__ino_t *)0x0) {\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }\n  else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }\n  uVar6 = FUN_00104b11(4,&DAT_0010601e);\n  uVar9 = dcgettext(0,"failed to stat %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar9,uVar6);\nLAB_00102795:\n  uVar6 = FUN_0010255f(local_230);\n  __dirp = (DIR *)FUN_00104e08(uVar6);\n  uVar6 = dcgettext(0,"cannot open directory %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar6,__dirp);\nLAB_001027df:\n  iVar2 = chdir("..");\n  if (iVar2 < 0) goto LAB_0010280d;\n  iVar2 = __xstat(1,".",local_218);\n  cVar1 = (char)((uint)iVar2 >> 0x18);\n  _Var8 = unaff_R12;\n  _Var12 = unaff_R13;\nLAB_00102aa0:\n  unaff_R13 = local_168.st_dev;\n  unaff_R12 = local_1f8.st_dev;\n  if (cVar1 < '\0') goto LAB_00102857;\n  unaff_R14B = local_168.st_dev != local_1f8.st_dev;\n  local_238 = (uint *)__errno_location();\nLAB_00102ac5:\n  *local_238 = 0;\n  do {\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_00102684(long param_1)" (identifier "FUN_00102684") (parameter_list "(long param_1)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) () ")"))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  int iVar3;\n  __ino_t *p_Var4;\n  int *piVar5;\n  undefined8 uVar6;\n  DIR *__dirp;\n  dirent *pdVar7;\n  __ino_t _Var8;\n  undefined8 uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  __dev_t unaff_R12;\n  __dev_t unaff_R13;\n  __ino_t _Var12;\n  char unaff_R14B;\n  long unaff_R15;\n  long in_FS_OFFSET;\n  byte bVar13;\n  uint *local_238;\n  long local_230;\n  stat *local_228;\n  stat *local_218;\n  undefined1 local_208 [16];\n  stat local_1f8;\n  stat local_168;\n  stat local_d8;\n  long local_40;\n  \n  bVar13 = 0;\n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  p_Var4 = (__ino_t *)FUN_00104e1e(local_208);\n  if (p_Var4 == (__ino_t *)0x0) {\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }\n  else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }\n  uVar6 = FUN_00104b11(4,&DAT_0010601e);\n  uVar9 = dcgettext(0,"failed to stat %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar9,uVar6);\nLAB_00102795:\n  uVar6 = FUN_0010255f(local_230);\n  __dirp = (DIR *)FUN_00104e08(uVar6);\n  uVar6 = dcgettext(0,"cannot open directory %s",5);\n  piVar5 = __errno_location();\n  error(1,*piVar5,uVar6,__dirp);\nLAB_001027df:\n  iVar2 = chdir("..");\n  if (iVar2 < 0) goto LAB_0010280d;\n  iVar2 = __xstat(1,".",local_218);\n  cVar1 = (char)((uint)iVar2 >> 0x18);\n  _Var8 = unaff_R12;\n  _Var12 = unaff_R13;\nLAB_00102aa0:\n  unaff_R13 = local_168.st_dev;\n  unaff_R12 = local_1f8.st_dev;\n  if (cVar1 < '\0') goto LAB_00102857;\n  unaff_R14B = local_168.st_dev != local_1f8.st_dev;\n  local_238 = (uint *)__errno_location();\nLAB_00102ac5:\n  *local_238 = 0;\n  do {\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  } while( true );\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "__ino_t *p_Var4;" (type_identifier "__ino_t") (pointer_declarator "*p_Var4" (* "*") (identifier "p_Var4")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "DIR *__dirp;" (type_identifier "DIR") (pointer_declarator "*__dirp" (* "*") (identifier "__dirp")) (; ";")) (declaration "dirent *pdVar7;" (type_identifier "dirent") (pointer_declarator "*pdVar7" (* "*") (identifier "pdVar7")) (; ";")) (declaration "__ino_t _Var8;" (type_identifier "__ino_t") (identifier "_Var8") (; ";")) (declaration "undefined8 uVar9;" (type_identifier "undefined8") (identifier "uVar9") (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "__dev_t unaff_R12;" (type_identifier "__dev_t") (identifier "unaff_R12") (; ";")) (declaration "__dev_t unaff_R13;" (type_identifier "__dev_t") (identifier "unaff_R13") (; ";")) (declaration "__ino_t _Var12;" (type_identifier "__ino_t") (identifier "_Var12") (; ";")) (declaration "char unaff_R14B;" (primitive_type "char") (identifier "unaff_R14B") (; ";")) (declaration "long unaff_R15;" (sized_type_specifier "long" (long "long")) (identifier "unaff_R15") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "uint *local_238;" (type_identifier "uint") (pointer_declarator "*local_238" (* "*") (identifier "local_238")) (; ";")) (declaration "long local_230;" (sized_type_specifier "long" (long "long")) (identifier "local_230") (; ";")) (declaration "stat *local_228;" (type_identifier "stat") (pointer_declarator "*local_228" (* "*") (identifier "local_228")) (; ";")) (declaration "stat *local_218;" (type_identifier "stat") (pointer_declarator "*local_218" (* "*") (identifier "local_218")) (; ";")) (declaration "undefined1 local_208 [16];" (type_identifier "undefined1") (array_declarator "local_208 [16]" (identifier "local_208") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "stat local_1f8;" (type_identifier "stat") (identifier "local_1f8") (; ";")) (declaration "stat local_168;" (type_identifier "stat") (identifier "local_168") (; ";")) (declaration "stat local_d8;" (type_identifier "stat") (identifier "local_d8") (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" (identifier "bVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "p_Var4 = (__ino_t *)FUN_00104e1e(local_208);" (assignment_expression "p_Var4 = (__ino_t *)FUN_00104e1e(local_208)" (identifier "p_Var4") (= "=") (cast_expression "(__ino_t *)FUN_00104e1e(local_208)" (( "(") (type_descriptor "__ino_t *" (type_identifier "__ino_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00104e1e(local_208)" (identifier "FUN_00104e1e") (argument_list "(local_208)" (( "(") (identifier "local_208") () ")"))))) (; ";")) (if_statement "if (p_Var4 == (__ino_t *)0x0) {\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }\n  else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }" (if "if") (parenthesized_expression "(p_Var4 == (__ino_t *)0x0)" (( "(") (binary_expression "p_Var4 == (__ino_t *)0x0" (identifier "p_Var4") (== "==") (cast_expression "(__ino_t *)0x0" (( "(") (type_descriptor "__ino_t *" (type_identifier "__ino_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar6 = FUN_00104b11(4,&DAT_00106526);\n    uVar9 = dcgettext(0,"failed to get attributes of %s",5);\n    piVar5 = __errno_location();\n    error(1,*piVar5,uVar9,uVar6);\n  }" ({ "{") (expression_statement "uVar6 = FUN_00104b11(4,&DAT_00106526);" (assignment_expression "uVar6 = FUN_00104b11(4,&DAT_00106526)" (identifier "uVar6") (= "=") (call_expression "FUN_00104b11(4,&DAT_00106526)" (identifier "FUN_00104b11") (argument_list "(4,&DAT_00106526)" (( "(") (number_literal "4") (, ",") (pointer_expression "&DAT_00106526" (& "&") (identifier "DAT_00106526")) () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"failed to get attributes of %s",5);" (assignment_expression "uVar9 = dcgettext(0,"failed to get attributes of %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"failed to get attributes of %s",5)" (identifier "dcgettext") (argument_list "(0,"failed to get attributes of %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""failed to get attributes of %s"" (" """) (string_content "failed to get attributes of %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "error(1,*piVar5,uVar9,uVar6);" (call_expression "error(1,*piVar5,uVar9,uVar6)" (identifier "error") (argument_list "(1,*piVar5,uVar9,uVar6)" (( "(") (number_literal "1") (, ",") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (, ",") (identifier "uVar9") (, ",") (identifier "uVar6") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }" (else "else") (compound_statement "{\n    iVar2 = __xstat(1,".",&local_1f8);\n    if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }\n  }" ({ "{") (expression_statement "iVar2 = __xstat(1,".",&local_1f8);" (assignment_expression "iVar2 = __xstat(1,".",&local_1f8)" (identifier "iVar2") (= "=") (call_expression "__xstat(1,".",&local_1f8)" (identifier "__xstat") (argument_list "(1,".",&local_1f8)" (( "(") (number_literal "1") (, ",") (string_literal ""."" (" """) (string_content ".") (" """)) (, ",") (pointer_expression "&local_1f8" (& "&") (identifier "local_1f8")) () ")")))) (; ";")) (if_statement "if (-1 < iVar2) {\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }" (if "if") (parenthesized_expression "(-1 < iVar2)" (( "(") (binary_expression "-1 < iVar2" (number_literal "-1") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n      local_230 = 1;\n      local_218 = &local_168;\n      local_228 = &local_d8;\n      goto LAB_00102a2c;\n    }" ({ "{") (expression_statement "local_230 = 1;" (assignment_expression "local_230 = 1" (identifier "local_230") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_218 = &local_168;" (assignment_expression "local_218 = &local_168" (identifier "local_218") (= "=") (pointer_expression "&local_168" (& "&") (identifier "local_168"))) (; ";")) (expression_statement "local_228 = &local_d8;" (assignment_expression "local_228 = &local_d8" (identifier "local_228") (= "=") (pointer_expression "&local_d8" (& "&") (identifier "local_d8"))) (; ";")) (goto_statement "goto LAB_00102a2c;" (goto "goto") (statement_identifier "LAB_00102a2c") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar6 = FUN_00104b11(4,&DAT_0010601e);" (assignment_expression "uVar6 = FUN_00104b11(4,&DAT_0010601e)" (identifier "uVar6") (= "=") (call_expression "FUN_00104b11(4,&DAT_0010601e)" (identifier "FUN_00104b11") (argument_list "(4,&DAT_0010601e)" (( "(") (number_literal "4") (, ",") (pointer_expression "&DAT_0010601e" (& "&") (identifier "DAT_0010601e")) () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"failed to stat %s",5);" (assignment_expression "uVar9 = dcgettext(0,"failed to stat %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"failed to stat %s",5)" (identifier "dcgettext") (argument_list "(0,"failed to stat %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""failed to stat %s"" (" """) (string_content "failed to stat %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "error(1,*piVar5,uVar9,uVar6);" (call_expression "error(1,*piVar5,uVar9,uVar6)" (identifier "error") (argument_list "(1,*piVar5,uVar9,uVar6)" (( "(") (number_literal "1") (, ",") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (, ",") (identifier "uVar9") (, ",") (identifier "uVar6") () ")"))) (; ";")) (labeled_statement "LAB_00102795:\n  uVar6 = FUN_0010255f(local_230);" (statement_identifier "LAB_00102795") (: ":") (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" (identifier "uVar6") (= "=") (call_expression "FUN_0010255f(local_230)" (identifier "FUN_0010255f") (argument_list "(local_230)" (( "(") (identifier "local_230") () ")")))) (; ";"))) (expression_statement "__dirp = (DIR *)FUN_00104e08(uVar6);" (assignment_expression "__dirp = (DIR *)FUN_00104e08(uVar6)" (identifier "__dirp") (= "=") (cast_expression "(DIR *)FUN_00104e08(uVar6)" (( "(") (type_descriptor "DIR *" (type_identifier "DIR") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00104e08(uVar6)" (identifier "FUN_00104e08") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))))) (; ";")) (expression_statement "uVar6 = dcgettext(0,"cannot open directory %s",5);" (assignment_expression "uVar6 = dcgettext(0,"cannot open directory %s",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"cannot open directory %s",5)" (identifier "dcgettext") (argument_list "(0,"cannot open directory %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""cannot open directory %s"" (" """) (string_content "cannot open directory %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "error(1,*piVar5,uVar6,__dirp);" (call_expression "error(1,*piVar5,uVar6,__dirp)" (identifier "error") (argument_list "(1,*piVar5,uVar6,__dirp)" (( "(") (number_literal "1") (, ",") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (, ",") (identifier "uVar6") (, ",") (identifier "__dirp") () ")"))) (; ";")) (labeled_statement "LAB_001027df:\n  iVar2 = chdir("..");" (statement_identifier "LAB_001027df") (: ":") (expression_statement "iVar2 = chdir("..");" (assignment_expression "iVar2 = chdir("..")" (identifier "iVar2") (= "=") (call_expression "chdir("..")" (identifier "chdir") (argument_list "("..")" (( "(") (string_literal "".."" (" """) (string_content "..") (" """)) () ")")))) (; ";"))) (if_statement "if (iVar2 < 0) goto LAB_0010280d;" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0010280d;" (goto "goto") (statement_identifier "LAB_0010280d") (; ";"))) (expression_statement "iVar2 = __xstat(1,".",local_218);" (assignment_expression "iVar2 = __xstat(1,".",local_218)" (identifier "iVar2") (= "=") (call_expression "__xstat(1,".",local_218)" (identifier "__xstat") (argument_list "(1,".",local_218)" (( "(") (number_literal "1") (, ",") (string_literal ""."" (" """) (string_content ".") (" """)) (, ",") (identifier "local_218") () ")")))) (; ";")) (expression_statement "cVar1 = (char)((uint)iVar2 >> 0x18);" (assignment_expression "cVar1 = (char)((uint)iVar2 >> 0x18)" (identifier "cVar1") (= "=") (cast_expression "(char)((uint)iVar2 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar2 >> 0x18)" (( "(") (binary_expression "(uint)iVar2 >> 0x18" (cast_expression "(uint)iVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar2")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "_Var8 = unaff_R12;" (assignment_expression "_Var8 = unaff_R12" (identifier "_Var8") (= "=") (identifier "unaff_R12")) (; ";")) (expression_statement "_Var12 = unaff_R13;" (assignment_expression "_Var12 = unaff_R13" (identifier "_Var12") (= "=") (identifier "unaff_R13")) (; ";")) (labeled_statement "LAB_00102aa0:\n  unaff_R13 = local_168.st_dev;" (statement_identifier "LAB_00102aa0") (: ":") (expression_statement "unaff_R13 = local_168.st_dev;" (assignment_expression "unaff_R13 = local_168.st_dev" (identifier "unaff_R13") (= "=") (field_expression "local_168.st_dev" (identifier "local_168") (. ".") (field_identifier "st_dev"))) (; ";"))) (expression_statement "unaff_R12 = local_1f8.st_dev;" (assignment_expression "unaff_R12 = local_1f8.st_dev" (identifier "unaff_R12") (= "=") (field_expression "local_1f8.st_dev" (identifier "local_1f8") (. ".") (field_identifier "st_dev"))) (; ";")) (if_statement "if (cVar1 < '\0') goto LAB_00102857;" (if "if") (parenthesized_expression "(cVar1 < '\0')" (( "(") (binary_expression "cVar1 < '\0'" (identifier "cVar1") (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00102857;" (goto "goto") (statement_identifier "LAB_00102857") (; ";"))) (expression_statement "unaff_R14B = local_168.st_dev != local_1f8.st_dev;" (assignment_expression "unaff_R14B = local_168.st_dev != local_1f8.st_dev" (identifier "unaff_R14B") (= "=") (binary_expression "local_168.st_dev != local_1f8.st_dev" (field_expression "local_168.st_dev" (identifier "local_168") (. ".") (field_identifier "st_dev")) (!= "!=") (field_expression "local_1f8.st_dev" (identifier "local_1f8") (. ".") (field_identifier "st_dev")))) (; ";")) (expression_statement "local_238 = (uint *)__errno_location();" (assignment_expression "local_238 = (uint *)__errno_location()" (identifier "local_238") (= "=") (cast_expression "(uint *)__errno_location()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")"))))) (; ";")) (labeled_statement "LAB_00102ac5:\n  *local_238 = 0;" (statement_identifier "LAB_00102ac5") (: ":") (expression_statement "*local_238 = 0;" (assignment_expression "*local_238 = 0" (pointer_expression "*local_238" (* "*") (identifier "local_238")) (= "=") (number_literal "0")) (; ";"))) (do_statement "do {\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  } while( true );" (do "do") (compound_statement "{\n    pdVar7 = readdir(__dirp);\n    if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }\n    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;\n    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }\n  }" ({ "{") (expression_statement "pdVar7 = readdir(__dirp);" (assignment_expression "pdVar7 = readdir(__dirp)" (identifier "pdVar7") (= "=") (call_expression "readdir(__dirp)" (identifier "readdir") (argument_list "(__dirp)" (( "(") (identifier "__dirp") () ")")))) (; ";")) (if_statement "if (pdVar7 == (dirent *)0x0) {\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(pdVar7 == (dirent *)0x0)" (( "(") (binary_expression "pdVar7 == (dirent *)0x0" (identifier "pdVar7") (== "==") (cast_expression "(dirent *)0x0" (( "(") (type_descriptor "dirent *" (type_identifier "dirent") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      uVar10 = (ulong)*local_238;\n      if (*local_238 != 0) goto LAB_00102929;\n      iVar2 = closedir(__dirp);\n      if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }\nLAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );\n    }" ({ "{") (expression_statement "uVar10 = (ulong)*local_238;" (assignment_expression "uVar10 = (ulong)*local_238" (identifier "uVar10") (= "=") (binary_expression "(ulong)*local_238" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (identifier "local_238"))) (; ";")) (if_statement "if (*local_238 != 0) goto LAB_00102929;" (if "if") (parenthesized_expression "(*local_238 != 0)" (( "(") (binary_expression "*local_238 != 0" (pointer_expression "*local_238" (* "*") (identifier "local_238")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00102929;" (goto "goto") (statement_identifier "LAB_00102929") (; ";"))) (expression_statement "iVar2 = closedir(__dirp);" (assignment_expression "iVar2 = closedir(__dirp)" (identifier "iVar2") (= "=") (call_expression "closedir(__dirp)" (identifier "closedir") (argument_list "(__dirp)" (( "(") (identifier "__dirp") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar6 = FUN_0010255f(local_230);\n        uVar6 = FUN_00104e08(uVar6);\n        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);\n        error(1,0,uVar9,uVar6);\nLAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }\n        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }\n        return;\n      }" ({ "{") (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" (identifier "uVar6") (= "=") (call_expression "FUN_0010255f(local_230)" (identifier "FUN_0010255f") (argument_list "(local_230)" (( "(") (identifier "local_230") () ")")))) (; ";")) (expression_statement "uVar6 = FUN_00104e08(uVar6);" (assignment_expression "uVar6 = FUN_00104e08(uVar6)" (identifier "uVar6") (= "=") (call_expression "FUN_00104e08(uVar6)" (identifier "FUN_00104e08") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);" (assignment_expression "uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5)" (identifier "dcgettext") (argument_list "(0,"couldn\'t find directory entry in %s with matching i-node",5)" (( "(") (number_literal "0") (, ",") (string_literal ""couldn\'t find directory entry in %s with matching i-node"" (" """) (string_content "couldn") (escape_sequence "\'") (string_content "t find directory entry in %s with matching i-node") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(1,0,uVar9,uVar6);" (call_expression "error(1,0,uVar9,uVar6)" (identifier "error") (argument_list "(1,0,uVar9,uVar6)" (( "(") (number_literal "1") (, ",") (number_literal "0") (, ",") (identifier "uVar9") (, ",") (identifier "uVar6") () ")"))) (; ";")) (labeled_statement "LAB_00102b6b:\n        if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }" (statement_identifier "LAB_00102b6b") (: ":") (if_statement "if (**(char **)(param_1 + 0x10) == '\0') {\n          FUN_001025c5(param_1,"",0);\n        }" (if "if") (parenthesized_expression "(**(char **)(param_1 + 0x10) == '\0')" (( "(") (binary_expression "**(char **)(param_1 + 0x10) == '\0'" (pointer_expression "**(char **)(param_1 + 0x10)" (* "*") (pointer_expression "*(char **)(param_1 + 0x10)" (* "*") (cast_expression "(char **)(param_1 + 0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          FUN_001025c5(param_1,"",0);\n        }" ({ "{") (expression_statement "FUN_001025c5(param_1,"",0);" (call_expression "FUN_001025c5(param_1,"",0)" (identifier "FUN_001025c5") (argument_list "(param_1,"",0)" (( "(") (identifier "param_1") (, ",") (string_literal """" (" """) (" """)) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n          __stack_chk_fail();\n        }" (if "if") (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (!= "!=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n                    \n          __stack_chk_fail();\n        }" ({ "{") (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_001028e3:\n      do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );" (statement_identifier "LAB_001028e3") (: ":") (do_statement "do {\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      } while( true );" (do "do") (compound_statement "{\n        uVar6 = FUN_0010255f(local_230);\n        uVar10 = FUN_00104e08(uVar6);\n        uVar6 = dcgettext(0,"reading directory %s",5);\n        error(1,*local_238,uVar6,uVar10);\nLAB_00102929:\n        closedir(__dirp);\n        *local_238 = (uint)uVar10;\n      }" ({ "{") (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" (identifier "uVar6") (= "=") (call_expression "FUN_0010255f(local_230)" (identifier "FUN_0010255f") (argument_list "(local_230)" (( "(") (identifier "local_230") () ")")))) (; ";")) (expression_statement "uVar10 = FUN_00104e08(uVar6);" (assignment_expression "uVar10 = FUN_00104e08(uVar6)" (identifier "uVar10") (= "=") (call_expression "FUN_00104e08(uVar6)" (identifier "FUN_00104e08") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "uVar6 = dcgettext(0,"reading directory %s",5);" (assignment_expression "uVar6 = dcgettext(0,"reading directory %s",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"reading directory %s",5)" (identifier "dcgettext") (argument_list "(0,"reading directory %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""reading directory %s"" (" """) (string_content "reading directory %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(1,*local_238,uVar6,uVar10);" (call_expression "error(1,*local_238,uVar6,uVar10)" (identifier "error") (argument_list "(1,*local_238,uVar6,uVar10)" (( "(") (number_literal "1") (, ",") (pointer_expression "*local_238" (* "*") (identifier "local_238")) (, ",") (identifier "uVar6") (, ",") (identifier "uVar10") () ")"))) (; ";")) (labeled_statement "LAB_00102929:\n        closedir(__dirp);" (statement_identifier "LAB_00102929") (: ":") (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" (identifier "closedir") (argument_list "(__dirp)" (( "(") (identifier "__dirp") () ")"))) (; ";"))) (expression_statement "*local_238 = (uint)uVar10;" (assignment_expression "*local_238 = (uint)uVar10" (pointer_expression "*local_238" (* "*") (identifier "local_238")) (= "=") (cast_expression "(uint)uVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (if_statement "if (pdVar7->d_name[0] != '.') goto LAB_00102aed;" (if "if") (parenthesized_expression "(pdVar7->d_name[0] != '.')" (( "(") (binary_expression "pdVar7->d_name[0] != '.'" (subscript_expression "pdVar7->d_name[0]" (field_expression "pdVar7->d_name" (identifier "pdVar7") (-> "->") (field_identifier "d_name")) ([ "[") (number_literal "0") (] "]")) (!= "!=") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (goto_statement "goto LAB_00102aed;" (goto "goto") (statement_identifier "LAB_00102aed") (; ";"))) (while_statement "while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }" (while "while") (parenthesized_expression "((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/')))" (( "(") (parenthesized_expression "(pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))" (( "(") (binary_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&\n           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/')" (binary_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0'" (subscript_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1]" (field_expression "pdVar7->d_name" (identifier "pdVar7") (-> "->") (field_identifier "d_name")) ([ "[") (binary_expression "(ulong)(pdVar7->d_name[1] == '.') + 1" (call_expression "(ulong)(pdVar7->d_name[1] == '.')" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(pdVar7->d_name[1] == '.')" (( "(") (binary_expression "pdVar7->d_name[1] == '.'" (subscript_expression "pdVar7->d_name[1]" (field_expression "pdVar7->d_name" (identifier "pdVar7") (-> "->") (field_identifier "d_name")) ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")"))) (+ "+") (number_literal "1")) (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/')" (( "(") (binary_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'" (subscript_expression "pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1]" (field_expression "pdVar7->d_name" (identifier "pdVar7") (-> "->") (field_identifier "d_name")) ([ "[") (binary_expression "(ulong)(pdVar7->d_name[1] == '.') + 1" (call_expression "(ulong)(pdVar7->d_name[1] == '.')" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(pdVar7->d_name[1] == '.')" (( "(") (binary_expression "pdVar7->d_name[1] == '.'" (subscript_expression "pdVar7->d_name[1]" (field_expression "pdVar7->d_name" (identifier "pdVar7") (-> "->") (field_identifier "d_name")) ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")"))) (+ "+") (number_literal "1")) (] "]")) (!= "!=") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")"))) () ")")) () ")")) (compound_statement "{\nLAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;\n      uVar10 = 0xffffffffffffffff;\n      pcVar11 = pdVar7->d_name;\n      do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');\n      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);\n      iVar2 = closedir(__dirp);\n      if (iVar2 != 0) goto LAB_001028e3;\n      local_1f8.st_dev = local_168.st_dev;\n      local_1f8.st_ino = local_168.st_ino;\n      local_1f8.st_nlink = local_168.st_nlink;\n      local_1f8.st_mode = local_168.st_mode;\n      local_1f8.st_uid = local_168.st_uid;\n      local_1f8.st_gid = local_168.st_gid;\n      local_1f8.__pad0 = local_168.__pad0;\n      local_1f8.st_rdev = local_168.st_rdev;\n      local_1f8.st_size = local_168.st_size;\n      local_1f8.st_blksize = local_168.st_blksize;\n      local_1f8.st_blocks = local_168.st_blocks;\n      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;\n      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;\n      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;\n      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;\n      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;\n      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;\n      local_1f8.__unused[0] = local_168.__unused[0];\n      local_1f8.__unused[1] = local_168.__unused[1];\n      local_1f8.__unused[2] = local_168.__unused[2];\n      local_230 = unaff_R15;\nLAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;\n      unaff_R15 = local_230 + 1;\n      __dirp = opendir("..");\n      if (__dirp == (DIR *)0x0) goto LAB_00102795;\n      iVar2 = dirfd(__dirp);\n      if (iVar2 < 0) goto LAB_001027df;\n      iVar3 = fchdir(iVar2);\n      if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }\nLAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);\n      uVar6 = FUN_00104e08(uVar6);\n      uVar9 = dcgettext(0,"failed to chdir to %s",5);\n      piVar5 = __errno_location();\n      error(1,*piVar5,uVar9,uVar6);\n      _Var8 = unaff_R12;\n      _Var12 = unaff_R13;\nLAB_00102857:\n      unaff_R13 = _Var12;\n      unaff_R12 = _Var8;\n      uVar6 = FUN_0010255f(local_230);\n      __dirp = (DIR *)FUN_00104e08(uVar6);\n      uVar6 = dcgettext(0,"failed to stat %s",5);\n      piVar5 = __errno_location();\n      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);\n    }" ({ "{") (labeled_statement "LAB_00102aed:\n      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;" (statement_identifier "LAB_00102aed") (: ":") (if_statement "if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;" (if "if") (parenthesized_expression "((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev))))))" (( "(") (binary_expression "(((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||\n         ((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))" (parenthesized_expression "(((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0))" (( "(") (binary_expression "((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&\n          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)" (parenthesized_expression "((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0'))" (( "(") (binary_expression "(pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')" (parenthesized_expression "(pdVar7->d_ino == 0)" (( "(") (binary_expression "pdVar7->d_ino == 0" (field_expression "pdVar7->d_ino" (identifier "pdVar7") (-> "->") (field_identifier "d_ino")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(_Var8 = pdVar7->d_ino, unaff_R14B != '\0')" (( "(") (comma_expression "_Var8 = pdVar7->d_ino, unaff_R14B != '\0'" (assignment_expression "_Var8 = pdVar7->d_ino" (identifier "_Var8") (= "=") (field_expression "pdVar7->d_ino" (identifier "pdVar7") (-> "->") (field_identifier "d_ino"))) (, ",") (binary_expression "unaff_R14B != '\0'" (identifier "unaff_R14B") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)" (( "(") (comma_expression "iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0" (assignment_expression "iVar2 = __lxstat(1,pdVar7->d_name,local_228)" (identifier "iVar2") (= "=") (call_expression "__lxstat(1,pdVar7->d_name,local_228)" (identifier "__lxstat") (argument_list "(1,pdVar7->d_name,local_228)" (( "(") (number_literal "1") (, ",") (field_expression "pdVar7->d_name" (identifier "pdVar7") (-> "->") (field_identifier "d_name")) (, ",") (identifier "local_228") () ")")))) (, ",") (comma_expression "_Var8 = local_d8.st_ino, iVar2 < 0" (assignment_expression "_Var8 = local_d8.st_ino" (identifier "_Var8") (= "=") (field_expression "local_d8.st_ino" (identifier "local_d8") (. ".") (field_identifier "st_ino"))) (, ",") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))" (( "(") (parenthesized_expression "(local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev))))" (( "(") (binary_expression "local_1f8.st_ino != _Var8 ||\n          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))" (binary_expression "local_1f8.st_ino != _Var8" (field_expression "local_1f8.st_ino" (identifier "local_1f8") (. ".") (field_identifier "st_ino")) (!= "!=") (identifier "_Var8")) (|| "||") (parenthesized_expression "((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))" (( "(") (parenthesized_expression "(unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev))" (( "(") (binary_expression "unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)" (binary_expression "unaff_R13 != unaff_R12" (identifier "unaff_R13") (!= "!=") (identifier "unaff_R12")) (&& "&&") (parenthesized_expression "(local_d8.st_dev != local_1f8.st_dev)" (( "(") (binary_expression "local_d8.st_dev != local_1f8.st_dev" (field_expression "local_d8.st_dev" (identifier "local_d8") (. ".") (field_identifier "st_dev")) (!= "!=") (field_expression "local_1f8.st_dev" (identifier "local_1f8") (. ".") (field_identifier "st_dev"))) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00102ac5;" (goto "goto") (statement_identifier "LAB_00102ac5") (; ";")))) (expression_statement "uVar10 = 0xffffffffffffffff;" (assignment_expression "uVar10 = 0xffffffffffffffff" (identifier "uVar10") (= "=") (number_literal "0xffffffffffffffff")) (; ";")) (expression_statement "pcVar11 = pdVar7->d_name;" (assignment_expression "pcVar11 = pdVar7->d_name" (identifier "pcVar11") (= "=") (field_expression "pdVar7->d_name" (identifier "pdVar7") (-> "->") (field_identifier "d_name"))) (; ";")) (do_statement "do {\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      } while (cVar1 != '\0');" (do "do") (compound_statement "{\n        if (uVar10 == 0) break;\n        uVar10 = uVar10 - 1;\n        cVar1 = *pcVar11;\n        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;\n      }" ({ "{") (if_statement "if (uVar10 == 0) break;" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar10 = uVar10 - 1;" (assignment_expression "uVar10 = uVar10 - 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1"))) (; ";")) (expression_statement "cVar1 = *pcVar11;" (assignment_expression "cVar1 = *pcVar11" (identifier "cVar1") (= "=") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11"))) (; ";")) (expression_statement "pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;" (assignment_expression "pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1" (identifier "pcVar11") (= "=") (binary_expression "pcVar11 + (ulong)bVar13 * -2 + 1" (binary_expression "pcVar11 + (ulong)bVar13 * -2" (identifier "pcVar11") (+ "+") (binary_expression "(ulong)bVar13 * -2" (cast_expression "(ulong)bVar13" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar13")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (; ";")) (expression_statement "FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);" (call_expression "FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1)" (identifier "FUN_001025c5") (argument_list "(param_1,pdVar7->d_name,~uVar10 - 1)" (( "(") (identifier "param_1") (, ",") (field_expression "pdVar7->d_name" (identifier "pdVar7") (-> "->") (field_identifier "d_name")) (, ",") (binary_expression "~uVar10 - 1" (unary_expression "~uVar10" (~ "~") (identifier "uVar10")) (- "-") (number_literal "1")) () ")"))) (; ";")) (expression_statement "iVar2 = closedir(__dirp);" (assignment_expression "iVar2 = closedir(__dirp)" (identifier "iVar2") (= "=") (call_expression "closedir(__dirp)" (identifier "closedir") (argument_list "(__dirp)" (( "(") (identifier "__dirp") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_001028e3;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001028e3;" (goto "goto") (statement_identifier "LAB_001028e3") (; ";"))) (expression_statement "local_1f8.st_dev = local_168.st_dev;" (assignment_expression "local_1f8.st_dev = local_168.st_dev" (field_expression "local_1f8.st_dev" (identifier "local_1f8") (. ".") (field_identifier "st_dev")) (= "=") (field_expression "local_168.st_dev" (identifier "local_168") (. ".") (field_identifier "st_dev"))) (; ";")) (expression_statement "local_1f8.st_ino = local_168.st_ino;" (assignment_expression "local_1f8.st_ino = local_168.st_ino" (field_expression "local_1f8.st_ino" (identifier "local_1f8") (. ".") (field_identifier "st_ino")) (= "=") (field_expression "local_168.st_ino" (identifier "local_168") (. ".") (field_identifier "st_ino"))) (; ";")) (expression_statement "local_1f8.st_nlink = local_168.st_nlink;" (assignment_expression "local_1f8.st_nlink = local_168.st_nlink" (field_expression "local_1f8.st_nlink" (identifier "local_1f8") (. ".") (field_identifier "st_nlink")) (= "=") (field_expression "local_168.st_nlink" (identifier "local_168") (. ".") (field_identifier "st_nlink"))) (; ";")) (expression_statement "local_1f8.st_mode = local_168.st_mode;" (assignment_expression "local_1f8.st_mode = local_168.st_mode" (field_expression "local_1f8.st_mode" (identifier "local_1f8") (. ".") (field_identifier "st_mode")) (= "=") (field_expression "local_168.st_mode" (identifier "local_168") (. ".") (field_identifier "st_mode"))) (; ";")) (expression_statement "local_1f8.st_uid = local_168.st_uid;" (assignment_expression "local_1f8.st_uid = local_168.st_uid" (field_expression "local_1f8.st_uid" (identifier "local_1f8") (. ".") (field_identifier "st_uid")) (= "=") (field_expression "local_168.st_uid" (identifier "local_168") (. ".") (field_identifier "st_uid"))) (; ";")) (expression_statement "local_1f8.st_gid = local_168.st_gid;" (assignment_expression "local_1f8.st_gid = local_168.st_gid" (field_expression "local_1f8.st_gid" (identifier "local_1f8") (. ".") (field_identifier "st_gid")) (= "=") (field_expression "local_168.st_gid" (identifier "local_168") (. ".") (field_identifier "st_gid"))) (; ";")) (expression_statement "local_1f8.__pad0 = local_168.__pad0;" (assignment_expression "local_1f8.__pad0 = local_168.__pad0" (field_expression "local_1f8.__pad0" (identifier "local_1f8") (. ".") (field_identifier "__pad0")) (= "=") (field_expression "local_168.__pad0" (identifier "local_168") (. ".") (field_identifier "__pad0"))) (; ";")) (expression_statement "local_1f8.st_rdev = local_168.st_rdev;" (assignment_expression "local_1f8.st_rdev = local_168.st_rdev" (field_expression "local_1f8.st_rdev" (identifier "local_1f8") (. ".") (field_identifier "st_rdev")) (= "=") (field_expression "local_168.st_rdev" (identifier "local_168") (. ".") (field_identifier "st_rdev"))) (; ";")) (expression_statement "local_1f8.st_size = local_168.st_size;" (assignment_expression "local_1f8.st_size = local_168.st_size" (field_expression "local_1f8.st_size" (identifier "local_1f8") (. ".") (field_identifier "st_size")) (= "=") (field_expression "local_168.st_size" (identifier "local_168") (. ".") (field_identifier "st_size"))) (; ";")) (expression_statement "local_1f8.st_blksize = local_168.st_blksize;" (assignment_expression "local_1f8.st_blksize = local_168.st_blksize" (field_expression "local_1f8.st_blksize" (identifier "local_1f8") (. ".") (field_identifier "st_blksize")) (= "=") (field_expression "local_168.st_blksize" (identifier "local_168") (. ".") (field_identifier "st_blksize"))) (; ";")) (expression_statement "local_1f8.st_blocks = local_168.st_blocks;" (assignment_expression "local_1f8.st_blocks = local_168.st_blocks" (field_expression "local_1f8.st_blocks" (identifier "local_1f8") (. ".") (field_identifier "st_blocks")) (= "=") (field_expression "local_168.st_blocks" (identifier "local_168") (. ".") (field_identifier "st_blocks"))) (; ";")) (expression_statement "local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;" (assignment_expression "local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec" (field_expression "local_1f8.st_atim.tv_sec" (field_expression "local_1f8.st_atim" (identifier "local_1f8") (. ".") (field_identifier "st_atim")) (. ".") (field_identifier "tv_sec")) (= "=") (field_expression "local_168.st_atim.tv_sec" (field_expression "local_168.st_atim" (identifier "local_168") (. ".") (field_identifier "st_atim")) (. ".") (field_identifier "tv_sec"))) (; ";")) (expression_statement "local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;" (assignment_expression "local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec" (field_expression "local_1f8.st_atim.tv_nsec" (field_expression "local_1f8.st_atim" (identifier "local_1f8") (. ".") (field_identifier "st_atim")) (. ".") (field_identifier "tv_nsec")) (= "=") (field_expression "local_168.st_atim.tv_nsec" (field_expression "local_168.st_atim" (identifier "local_168") (. ".") (field_identifier "st_atim")) (. ".") (field_identifier "tv_nsec"))) (; ";")) (expression_statement "local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;" (assignment_expression "local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec" (field_expression "local_1f8.st_mtim.tv_sec" (field_expression "local_1f8.st_mtim" (identifier "local_1f8") (. ".") (field_identifier "st_mtim")) (. ".") (field_identifier "tv_sec")) (= "=") (field_expression "local_168.st_mtim.tv_sec" (field_expression "local_168.st_mtim" (identifier "local_168") (. ".") (field_identifier "st_mtim")) (. ".") (field_identifier "tv_sec"))) (; ";")) (expression_statement "local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;" (assignment_expression "local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec" (field_expression "local_1f8.st_mtim.tv_nsec" (field_expression "local_1f8.st_mtim" (identifier "local_1f8") (. ".") (field_identifier "st_mtim")) (. ".") (field_identifier "tv_nsec")) (= "=") (field_expression "local_168.st_mtim.tv_nsec" (field_expression "local_168.st_mtim" (identifier "local_168") (. ".") (field_identifier "st_mtim")) (. ".") (field_identifier "tv_nsec"))) (; ";")) (expression_statement "local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;" (assignment_expression "local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec" (field_expression "local_1f8.st_ctim.tv_sec" (field_expression "local_1f8.st_ctim" (identifier "local_1f8") (. ".") (field_identifier "st_ctim")) (. ".") (field_identifier "tv_sec")) (= "=") (field_expression "local_168.st_ctim.tv_sec" (field_expression "local_168.st_ctim" (identifier "local_168") (. ".") (field_identifier "st_ctim")) (. ".") (field_identifier "tv_sec"))) (; ";")) (expression_statement "local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;" (assignment_expression "local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec" (field_expression "local_1f8.st_ctim.tv_nsec" (field_expression "local_1f8.st_ctim" (identifier "local_1f8") (. ".") (field_identifier "st_ctim")) (. ".") (field_identifier "tv_nsec")) (= "=") (field_expression "local_168.st_ctim.tv_nsec" (field_expression "local_168.st_ctim" (identifier "local_168") (. ".") (field_identifier "st_ctim")) (. ".") (field_identifier "tv_nsec"))) (; ";")) (expression_statement "local_1f8.__unused[0] = local_168.__unused[0];" (assignment_expression "local_1f8.__unused[0] = local_168.__unused[0]" (subscript_expression "local_1f8.__unused[0]" (field_expression "local_1f8.__unused" (identifier "local_1f8") (. ".") (field_identifier "__unused")) ([ "[") (number_literal "0") (] "]")) (= "=") (subscript_expression "local_168.__unused[0]" (field_expression "local_168.__unused" (identifier "local_168") (. ".") (field_identifier "__unused")) ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "local_1f8.__unused[1] = local_168.__unused[1];" (assignment_expression "local_1f8.__unused[1] = local_168.__unused[1]" (subscript_expression "local_1f8.__unused[1]" (field_expression "local_1f8.__unused" (identifier "local_1f8") (. ".") (field_identifier "__unused")) ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "local_168.__unused[1]" (field_expression "local_168.__unused" (identifier "local_168") (. ".") (field_identifier "__unused")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_1f8.__unused[2] = local_168.__unused[2];" (assignment_expression "local_1f8.__unused[2] = local_168.__unused[2]" (subscript_expression "local_1f8.__unused[2]" (field_expression "local_1f8.__unused" (identifier "local_1f8") (. ".") (field_identifier "__unused")) ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "local_168.__unused[2]" (field_expression "local_168.__unused" (identifier "local_168") (. ".") (field_identifier "__unused")) ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_230 = unaff_R15;" (assignment_expression "local_230 = unaff_R15" (identifier "local_230") (= "=") (identifier "unaff_R15")) (; ";")) (labeled_statement "LAB_00102a2c:\n      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;" (statement_identifier "LAB_00102a2c") (: ":") (if_statement "if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;" (if "if") (parenthesized_expression "((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1]))" (( "(") (binary_expression "(local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])" (parenthesized_expression "(local_1f8.st_ino == *p_Var4)" (( "(") (binary_expression "local_1f8.st_ino == *p_Var4" (field_expression "local_1f8.st_ino" (identifier "local_1f8") (. ".") (field_identifier "st_ino")) (== "==") (pointer_expression "*p_Var4" (* "*") (identifier "p_Var4"))) () ")")) (&& "&&") (parenthesized_expression "(local_1f8.st_dev == p_Var4[1])" (( "(") (binary_expression "local_1f8.st_dev == p_Var4[1]" (field_expression "local_1f8.st_dev" (identifier "local_1f8") (. ".") (field_identifier "st_dev")) (== "==") (subscript_expression "p_Var4[1]" (identifier "p_Var4") ([ "[") (number_literal "1") (] "]"))) () ")"))) () ")")) (goto_statement "goto LAB_00102b6b;" (goto "goto") (statement_identifier "LAB_00102b6b") (; ";")))) (expression_statement "unaff_R15 = local_230 + 1;" (assignment_expression "unaff_R15 = local_230 + 1" (identifier "unaff_R15") (= "=") (binary_expression "local_230 + 1" (identifier "local_230") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "__dirp = opendir("..");" (assignment_expression "__dirp = opendir("..")" (identifier "__dirp") (= "=") (call_expression "opendir("..")" (identifier "opendir") (argument_list "("..")" (( "(") (string_literal "".."" (" """) (string_content "..") (" """)) () ")")))) (; ";")) (if_statement "if (__dirp == (DIR *)0x0) goto LAB_00102795;" (if "if") (parenthesized_expression "(__dirp == (DIR *)0x0)" (( "(") (binary_expression "__dirp == (DIR *)0x0" (identifier "__dirp") (== "==") (cast_expression "(DIR *)0x0" (( "(") (type_descriptor "DIR *" (type_identifier "DIR") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00102795;" (goto "goto") (statement_identifier "LAB_00102795") (; ";"))) (expression_statement "iVar2 = dirfd(__dirp);" (assignment_expression "iVar2 = dirfd(__dirp)" (identifier "iVar2") (= "=") (call_expression "dirfd(__dirp)" (identifier "dirfd") (argument_list "(__dirp)" (( "(") (identifier "__dirp") () ")")))) (; ";")) (if_statement "if (iVar2 < 0) goto LAB_001027df;" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_001027df;" (goto "goto") (statement_identifier "LAB_001027df") (; ";"))) (expression_statement "iVar3 = fchdir(iVar2);" (assignment_expression "iVar3 = fchdir(iVar2)" (identifier "iVar3") (= "=") (call_expression "fchdir(iVar2)" (identifier "fchdir") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";")) (if_statement "if (-1 < iVar3) {\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }" (if "if") (parenthesized_expression "(-1 < iVar3)" (( "(") (binary_expression "-1 < iVar3" (number_literal "-1") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n        iVar2 = __fxstat(1,iVar2,local_218);\n        cVar1 = (char)((uint)iVar2 >> 0x18);\n        _Var8 = unaff_R12;\n        _Var12 = unaff_R13;\n        goto LAB_00102aa0;\n      }" ({ "{") (expression_statement "iVar2 = __fxstat(1,iVar2,local_218);" (assignment_expression "iVar2 = __fxstat(1,iVar2,local_218)" (identifier "iVar2") (= "=") (call_expression "__fxstat(1,iVar2,local_218)" (identifier "__fxstat") (argument_list "(1,iVar2,local_218)" (( "(") (number_literal "1") (, ",") (identifier "iVar2") (, ",") (identifier "local_218") () ")")))) (; ";")) (expression_statement "cVar1 = (char)((uint)iVar2 >> 0x18);" (assignment_expression "cVar1 = (char)((uint)iVar2 >> 0x18)" (identifier "cVar1") (= "=") (cast_expression "(char)((uint)iVar2 >> 0x18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((uint)iVar2 >> 0x18)" (( "(") (binary_expression "(uint)iVar2 >> 0x18" (cast_expression "(uint)iVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "iVar2")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "_Var8 = unaff_R12;" (assignment_expression "_Var8 = unaff_R12" (identifier "_Var8") (= "=") (identifier "unaff_R12")) (; ";")) (expression_statement "_Var12 = unaff_R13;" (assignment_expression "_Var12 = unaff_R13" (identifier "_Var12") (= "=") (identifier "unaff_R13")) (; ";")) (goto_statement "goto LAB_00102aa0;" (goto "goto") (statement_identifier "LAB_00102aa0") (; ";")) (} "}"))) (labeled_statement "LAB_0010280d:\n      uVar6 = FUN_0010255f(local_230);" (statement_identifier "LAB_0010280d") (: ":") (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" (identifier "uVar6") (= "=") (call_expression "FUN_0010255f(local_230)" (identifier "FUN_0010255f") (argument_list "(local_230)" (( "(") (identifier "local_230") () ")")))) (; ";"))) (expression_statement "uVar6 = FUN_00104e08(uVar6);" (assignment_expression "uVar6 = FUN_00104e08(uVar6)" (identifier "uVar6") (= "=") (call_expression "FUN_00104e08(uVar6)" (identifier "FUN_00104e08") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "uVar9 = dcgettext(0,"failed to chdir to %s",5);" (assignment_expression "uVar9 = dcgettext(0,"failed to chdir to %s",5)" (identifier "uVar9") (= "=") (call_expression "dcgettext(0,"failed to chdir to %s",5)" (identifier "dcgettext") (argument_list "(0,"failed to chdir to %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""failed to chdir to %s"" (" """) (string_content "failed to chdir to %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "error(1,*piVar5,uVar9,uVar6);" (call_expression "error(1,*piVar5,uVar9,uVar6)" (identifier "error") (argument_list "(1,*piVar5,uVar9,uVar6)" (( "(") (number_literal "1") (, ",") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (, ",") (identifier "uVar9") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "_Var8 = unaff_R12;" (assignment_expression "_Var8 = unaff_R12" (identifier "_Var8") (= "=") (identifier "unaff_R12")) (; ";")) (expression_statement "_Var12 = unaff_R13;" (assignment_expression "_Var12 = unaff_R13" (identifier "_Var12") (= "=") (identifier "unaff_R13")) (; ";")) (labeled_statement "LAB_00102857:\n      unaff_R13 = _Var12;" (statement_identifier "LAB_00102857") (: ":") (expression_statement "unaff_R13 = _Var12;" (assignment_expression "unaff_R13 = _Var12" (identifier "unaff_R13") (= "=") (identifier "_Var12")) (; ";"))) (expression_statement "unaff_R12 = _Var8;" (assignment_expression "unaff_R12 = _Var8" (identifier "unaff_R12") (= "=") (identifier "_Var8")) (; ";")) (expression_statement "uVar6 = FUN_0010255f(local_230);" (assignment_expression "uVar6 = FUN_0010255f(local_230)" (identifier "uVar6") (= "=") (call_expression "FUN_0010255f(local_230)" (identifier "FUN_0010255f") (argument_list "(local_230)" (( "(") (identifier "local_230") () ")")))) (; ";")) (expression_statement "__dirp = (DIR *)FUN_00104e08(uVar6);" (assignment_expression "__dirp = (DIR *)FUN_00104e08(uVar6)" (identifier "__dirp") (= "=") (cast_expression "(DIR *)FUN_00104e08(uVar6)" (( "(") (type_descriptor "DIR *" (type_identifier "DIR") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00104e08(uVar6)" (identifier "FUN_00104e08") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))))) (; ";")) (expression_statement "uVar6 = dcgettext(0,"failed to stat %s",5);" (assignment_expression "uVar6 = dcgettext(0,"failed to stat %s",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"failed to stat %s",5)" (identifier "dcgettext") (argument_list "(0,"failed to stat %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""failed to stat %s"" (" """) (string_content "failed to stat %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);" (assignment_expression "pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp)" (identifier "pdVar7") (= "=") (cast_expression "(dirent *)error(1,*piVar5,uVar6,__dirp)" (( "(") (type_descriptor "dirent *" (type_identifier "dirent") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "error(1,*piVar5,uVar6,__dirp)" (identifier "error") (argument_list "(1,*piVar5,uVar6,__dirp)" (( "(") (number_literal "1") (, ",") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (, ",") (identifier "uVar6") (, ",") (identifier "__dirp") () ")"))))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

void function_1(type_1 *type_1)

{
  char var_13;
  long var_19;
  int var_9;
  int var_33;
  type_2 *var_3;
  int *piVar6;
  char *var_27;
  type_3 uVar8;
  type_4 *var_30;
  type_5 *var_15;
  type_6 var_23;
  type_7 var_26;
  type_8 var_25;
  type_8 _Var12;
  type_8 var_24;
  type_8 _Var13;
  char var_21;
  size_t unaff_R15;
  long var_1;
  type_9 bVar14;
  type_10 *var_16;
  size_t var_28;
  type_11 *local_228;
  type_11 *local_218;
  type_2 dev_ino_buf;
  type_11 dot_sb;
  type_11 parent_sb;
  type_11 ent_sb;
  
  bVar14 = 0;
  var_19 = *(long *)(var_1 + 0x28);
  var_3 = var_2(&dev_ino_buf);
  if (var_3 == (type_2 *)0x0) {
    var_27 = var_4(shell_escape_always_quoting_style,"/");
    uVar8 = var_5(0,"failed to get attributes of %s",5);
    piVar6 = var_6();
    var_7(1,*piVar6,uVar8,var_27);
  }
  else {
    var_9 = var_8(1,".",(type_11 *)&dot_sb);
    if (-1 < var_9) {
      var_28 = 1;
      local_218 = &parent_sb;
      local_228 = &ent_sb;
      goto LAB_00102a2c;
    }
  }
  var_27 = var_4(shell_escape_always_quoting_style,".");
  uVar8 = var_5(0,"failed to stat %s",5);
  piVar6 = var_6();
  var_7(1,*piVar6,uVar8,var_27);
LAB_00102795:
  var_27 = var_10(var_28);
  var_30 = (type_4 *)var_11(var_27);
  uVar8 = var_5(0,"cannot open directory %s",5);
  piVar6 = var_6();
  var_7(1,*piVar6,uVar8,var_30);
LAB_001027df:
  var_9 = var_12("..");
  if (var_9 < 0) goto LAB_0010280d;
  var_9 = var_8(1,".",(type_11 *)local_218);
  var_13 = (char)((type_10)var_9 >> 0x18);
  _Var12 = var_25;
  _Var13 = var_24;
LAB_00102aa0:
  var_24 = parent_sb.st_dev;
  var_25 = dot_sb.st_dev;
  if (var_13 < '\0') goto LAB_00102857;
  var_21 = parent_sb.st_dev != dot_sb.st_dev;
  var_16 = (type_10 *)var_6();
LAB_00102ac5:
  *var_16 = 0;
  do {
    var_15 = var_14(var_30);
    if (var_15 == (type_5 *)0x0) {
      var_27 = (char *)(type_7)*var_16;
      if (*var_16 != 0) goto LAB_00102929;
      var_9 = var_17(var_30);
      if (var_9 == 0) {
        var_27 = var_10(var_28);
        var_27 = var_11(var_27);
        uVar8 = var_5(0,"couldn\'t find directory entry in %s with matching i-node",5);
        var_7(1,0,uVar8,var_27);
LAB_00102b6b:
        if (*type_1->start == '\0') {
          var_18(type_1,"",0);
        }
        if (var_19 != *(long *)(var_1 + 0x28)) {
                    /* WARNING: Subroutine does not return */
          var_20();
        }
        return;
      }
LAB_001028e3:
      do {
        var_27 = var_10(var_28);
        var_27 = var_11(var_27);
        uVar8 = var_5(0,"reading directory %s",5);
        var_7(1,*var_16,uVar8,var_27);
LAB_00102929:
        var_17(var_30);
        *var_16 = (type_10)var_27;
      } while( true );
    }
    if (var_15->d_name[0] != '.') goto LAB_00102aed;
    while ((var_15->d_name[(type_7)(var_15->d_name[1] == '.') + 1] != '\0' &&
           (var_15->d_name[(type_7)(var_15->d_name[1] == '.') + 1] != '/'))) {
LAB_00102aed:
      if ((((var_15->d_ino == 0) || (var_23 = var_15->d_ino, var_21 != '\0')) &&
          (var_9 = var_22(1,var_15->d_name,(type_11 *)local_228), var_23 = ent_sb.st_ino, var_9 < 0))
         || ((dot_sb.st_ino != var_23 ||
             ((var_24 != var_25 && (ent_sb.st_dev != dot_sb.st_dev)))))) goto LAB_00102ac5;
      var_26 = 0xffffffffffffffff;
      var_27 = var_15->d_name;
      do {
        if (var_26 == 0) break;
        var_26 = var_26 - 1;
        var_13 = *var_27;
        var_27 = var_27 + (type_7)bVar14 * -2 + 1;
      } while (var_13 != '\0');
      var_18(type_1,var_15->d_name,~var_26 - 1);
      var_9 = var_17(var_30);
      if (var_9 != 0) goto LAB_001028e3;
      dot_sb.st_dev = parent_sb.st_dev;
      dot_sb.st_ino = parent_sb.st_ino;
      dot_sb.st_nlink = parent_sb.st_nlink;
      dot_sb.st_mode = parent_sb.st_mode;
      dot_sb.st_uid = parent_sb.st_uid;
      dot_sb.st_gid = parent_sb.st_gid;
      dot_sb.__pad0 = parent_sb.__pad0;
      dot_sb.st_rdev = parent_sb.st_rdev;
      dot_sb.st_size = parent_sb.st_size;
      dot_sb.st_blksize = parent_sb.st_blksize;
      dot_sb.st_blocks = parent_sb.st_blocks;
      dot_sb.st_atim.tv_sec = parent_sb.st_atim.tv_sec;
      dot_sb.st_atim.tv_nsec = parent_sb.st_atim.tv_nsec;
      dot_sb.st_mtim.tv_sec = parent_sb.st_mtim.tv_sec;
      dot_sb.st_mtim.tv_nsec = parent_sb.st_mtim.tv_nsec;
      dot_sb.st_ctim.tv_sec = parent_sb.st_ctim.tv_sec;
      dot_sb.st_ctim.tv_nsec = parent_sb.st_ctim.tv_nsec;
      dot_sb.__glibc_reserved[0] = parent_sb.__glibc_reserved[0];
      dot_sb.__glibc_reserved[1] = parent_sb.__glibc_reserved[1];
      dot_sb.__glibc_reserved[2] = parent_sb.__glibc_reserved[2];
      var_28 = unaff_R15;
LAB_00102a2c:
      if ((dot_sb.st_ino == var_3->st_ino) && (dot_sb.st_dev == var_3->st_dev)) goto LAB_00102b6b;
      unaff_R15 = var_28 + 1;
      var_30 = var_29("..");
      if (var_30 == (type_4 *)0x0) goto LAB_00102795;
      var_9 = var_31(var_30);
      if (var_9 < 0) goto LAB_001027df;
      var_33 = var_32(var_9);
      if (-1 < var_33) {
        var_9 = var_34(1,var_9,(type_11 *)local_218);
        var_13 = (char)((type_10)var_9 >> 0x18);
        _Var12 = var_25;
        _Var13 = var_24;
        goto LAB_00102aa0;
      }
LAB_0010280d:
      var_27 = var_10(var_28);
      var_27 = var_11(var_27);
      uVar8 = var_5(0,"failed to chdir to %s",5);
      piVar6 = var_6();
      var_7(1,*piVar6,uVar8,var_27);
      _Var12 = var_25;
      _Var13 = var_24;
LAB_00102857:
      var_24 = _Var13;
      var_25 = _Var12;
      var_27 = var_10(var_28);
      var_30 = (type_4 *)var_11(var_27);
      uVar8 = var_5(0,"failed to stat %s",5);
      piVar6 = var_6();
      var_15 = (type_5 *)var_7(1,*piVar6,uVar8,var_30);
    }
  } while( true );
}


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

void MASKED(long param_1)

{
  char cVar1;
  int iVar2;
  int iVar3;
  __ino_t *p_Var4;
  int *piVar5;
  undefined8 uVar6;
  DIR *__dirp;
  dirent *pdVar7;
  __ino_t _Var8;
  undefined8 uVar9;
  ulong uVar10;
  char *pcVar11;
  __dev_t unaff_R12;
  __dev_t unaff_R13;
  __ino_t _Var12;
  char unaff_R14B;
  long unaff_R15;
  long in_FS_OFFSET;
  byte bVar13;
  uint *local_238;
  long local_230;
  stat *local_228;
  stat *local_218;
  undefined1 local_208 [16];
  stat local_1f8;
  stat local_168;
  stat local_d8;
  long local_40;
  
  bVar13 = 0;
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  p_Var4 = (__ino_t *)FUN_00104e1e(local_208);
  if (p_Var4 == (__ino_t *)0x0) {
    uVar6 = FUN_00104b11(4,&DAT_00106526);
    uVar9 = dcgettext(0,"failed to get attributes of %s",5);
    piVar5 = __errno_location();
    error(1,*piVar5,uVar9,uVar6);
  }
  else {
    iVar2 = __xstat(1,".",&local_1f8);
    if (-1 < iVar2) {
      local_230 = 1;
      local_218 = &local_168;
      local_228 = &local_d8;
      goto LAB_00102a2c;
    }
  }
  uVar6 = FUN_00104b11(4,&DAT_0010601e);
  uVar9 = dcgettext(0,"failed to stat %s",5);
  piVar5 = __errno_location();
  error(1,*piVar5,uVar9,uVar6);
LAB_00102795:
  uVar6 = FUN_0010255f(local_230);
  __dirp = (DIR *)FUN_00104e08(uVar6);
  uVar6 = dcgettext(0,"cannot open directory %s",5);
  piVar5 = __errno_location();
  error(1,*piVar5,uVar6,__dirp);
LAB_001027df:
  iVar2 = chdir("..");
  if (iVar2 < 0) goto LAB_0010280d;
  iVar2 = __xstat(1,".",local_218);
  cVar1 = (char)((uint)iVar2 >> 0x18);
  _Var8 = unaff_R12;
  _Var12 = unaff_R13;
LAB_00102aa0:
  unaff_R13 = local_168.st_dev;
  unaff_R12 = local_1f8.st_dev;
  if (cVar1 < '\0') goto LAB_00102857;
  unaff_R14B = local_168.st_dev != local_1f8.st_dev;
  local_238 = (uint *)__errno_location();
LAB_00102ac5:
  *local_238 = 0;
  do {
    pdVar7 = readdir(__dirp);
    if (pdVar7 == (dirent *)0x0) {
      uVar10 = (ulong)*local_238;
      if (*local_238 != 0) goto LAB_00102929;
      iVar2 = closedir(__dirp);
      if (iVar2 == 0) {
        uVar6 = FUN_0010255f(local_230);
        uVar6 = FUN_00104e08(uVar6);
        uVar9 = dcgettext(0,"couldn\'t find directory entry in %s with matching i-node",5);
        error(1,0,uVar9,uVar6);
LAB_00102b6b:
        if (**(char **)(param_1 + 0x10) == '\0') {
          FUN_001025c5(param_1,"",0);
        }
        if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
          __stack_chk_fail();
        }
        return;
      }
LAB_001028e3:
      do {
        uVar6 = FUN_0010255f(local_230);
        uVar10 = FUN_00104e08(uVar6);
        uVar6 = dcgettext(0,"reading directory %s",5);
        error(1,*local_238,uVar6,uVar10);
LAB_00102929:
        closedir(__dirp);
        *local_238 = (uint)uVar10;
      } while( true );
    }
    if (pdVar7->d_name[0] != '.') goto LAB_00102aed;
    while ((pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '\0' &&
           (pdVar7->d_name[(ulong)(pdVar7->d_name[1] == '.') + 1] != '/'))) {
LAB_00102aed:
      if ((((pdVar7->d_ino == 0) || (_Var8 = pdVar7->d_ino, unaff_R14B != '\0')) &&
          (iVar2 = __lxstat(1,pdVar7->d_name,local_228), _Var8 = local_d8.st_ino, iVar2 < 0)) ||
         ((local_1f8.st_ino != _Var8 ||
          ((unaff_R13 != unaff_R12 && (local_d8.st_dev != local_1f8.st_dev)))))) goto LAB_00102ac5;
      uVar10 = 0xffffffffffffffff;
      pcVar11 = pdVar7->d_name;
      do {
        if (uVar10 == 0) break;
        uVar10 = uVar10 - 1;
        cVar1 = *pcVar11;
        pcVar11 = pcVar11 + (ulong)bVar13 * -2 + 1;
      } while (cVar1 != '\0');
      FUN_001025c5(param_1,pdVar7->d_name,~uVar10 - 1);
      iVar2 = closedir(__dirp);
      if (iVar2 != 0) goto LAB_001028e3;
      local_1f8.st_dev = local_168.st_dev;
      local_1f8.st_ino = local_168.st_ino;
      local_1f8.st_nlink = local_168.st_nlink;
      local_1f8.st_mode = local_168.st_mode;
      local_1f8.st_uid = local_168.st_uid;
      local_1f8.st_gid = local_168.st_gid;
      local_1f8.__pad0 = local_168.__pad0;
      local_1f8.st_rdev = local_168.st_rdev;
      local_1f8.st_size = local_168.st_size;
      local_1f8.st_blksize = local_168.st_blksize;
      local_1f8.st_blocks = local_168.st_blocks;
      local_1f8.st_atim.tv_sec = local_168.st_atim.tv_sec;
      local_1f8.st_atim.tv_nsec = local_168.st_atim.tv_nsec;
      local_1f8.st_mtim.tv_sec = local_168.st_mtim.tv_sec;
      local_1f8.st_mtim.tv_nsec = local_168.st_mtim.tv_nsec;
      local_1f8.st_ctim.tv_sec = local_168.st_ctim.tv_sec;
      local_1f8.st_ctim.tv_nsec = local_168.st_ctim.tv_nsec;
      local_1f8.__unused[0] = local_168.__unused[0];
      local_1f8.__unused[1] = local_168.__unused[1];
      local_1f8.__unused[2] = local_168.__unused[2];
      local_230 = unaff_R15;
LAB_00102a2c:
      if ((local_1f8.st_ino == *p_Var4) && (local_1f8.st_dev == p_Var4[1])) goto LAB_00102b6b;
      unaff_R15 = local_230 + 1;
      __dirp = opendir("..");
      if (__dirp == (DIR *)0x0) goto LAB_00102795;
      iVar2 = dirfd(__dirp);
      if (iVar2 < 0) goto LAB_001027df;
      iVar3 = fchdir(iVar2);
      if (-1 < iVar3) {
        iVar2 = __fxstat(1,iVar2,local_218);
        cVar1 = (char)((uint)iVar2 >> 0x18);
        _Var8 = unaff_R12;
        _Var12 = unaff_R13;
        goto LAB_00102aa0;
      }
LAB_0010280d:
      uVar6 = FUN_0010255f(local_230);
      uVar6 = FUN_00104e08(uVar6);
      uVar9 = dcgettext(0,"failed to chdir to %s",5);
      piVar5 = __errno_location();
      error(1,*piVar5,uVar9,uVar6);
      _Var8 = unaff_R12;
      _Var12 = unaff_R13;
LAB_00102857:
      unaff_R13 = _Var12;
      unaff_R12 = _Var8;
      uVar6 = FUN_0010255f(local_230);
      __dirp = (DIR *)FUN_00104e08(uVar6);
      uVar6 = dcgettext(0,"failed to stat %s",5);
      piVar5 = __errno_location();
      pdVar7 = (dirent *)error(1,*piVar5,uVar6,__dirp);
    }
  } while( true );
}

