
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void __regparm3 print_dir(char *name,char *realname,_Bool command_line_arg)

{
  int iVar1;
  _IO_FILE *p_Var2;
  uintmax_t n;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  ignore_pattern *piVar6;
  ignore_pattern *piVar7;
  undefined *puVar8;
  byte bVar9;
  int *piVar10;
  DIR *__dirp;
  int iVar11;
  char *pcVar12;
  char *pcVar13;
  undefined4 uVar14;
  dirent64 *pdVar15;
  size_t sVar16;
  filetype type;
  int in_GS_OFFSET;
  uintmax_t uVar17;
  char *in_stack_fffffcb8;
  obstack *in_stack_fffffcbc;
  stat dir_stat;
  char buf [652];
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  piVar10 = __errno_location();
  *piVar10 = 0;
  __dirp = opendir(name);
  if (__dirp == (DIR *)0x0) {
    pcVar12 = (char *)dcgettext(0,"cannot open directory %s",5);
    file_failure(command_line_arg,pcVar12,name);
  }
  else {
    if (active_dir_set == (Hash_table *)0x0) {
LAB_00019a8f:
      clear_files();
      puVar8 = PTR_stdout_0003afcc;
      if ((recursive != false) || (print_dir_name != false)) {
        if (print_dir::first == false) {
          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;
          pcVar12 = p_Var2->_IO_write_ptr;
          if (pcVar12 < p_Var2->_IO_write_end) {
            p_Var2->_IO_write_ptr = pcVar12 + 1;
            *pcVar12 = '\n';
          }
          else {
            __overflow(p_Var2,10);
          }
          dired_pos = dired_pos + 1;
        }
        print_dir::first = false;
        if (dired != false) {
          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);
          dired_pos = dired_pos + 2;
        }
        pcVar12 = (char *)0x0;
        if ((print_hyperlink != false) &&
           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {
          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);
          file_failure(command_line_arg,pcVar13,name);
        }
        if (realname == (char *)0x0) {
          realname = name;
        }
        in_stack_fffffcbc = &subdired_obstack;
        in_stack_fffffcb8 = (char *)0x1;
        quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12
                  );
        free(pcVar12);
        fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);
        dired_pos = dired_pos + 2;
      }
      n = 0;
      do {
        *piVar10 = 0;
        pdVar15 = readdir64(__dirp);
        if (pdVar15 == (dirent64 *)0x0) {
          if (*piVar10 == 0) goto LAB_00019ca5;
          in_stack_fffffcbc = (obstack *)0x5;
          in_stack_fffffcb8 = "reading directory %s";
          pcVar12 = (char *)dcgettext(0);
          file_failure(command_line_arg,pcVar12,name);
          if (*piVar10 != 0x4b) goto LAB_00019ca5;
        }
        else {
          pcVar12 = pdVar15->d_name;
          piVar7 = ignore_patterns;
          if (ignore_mode != DT_CHR) {
            if (pdVar15->d_name[0] == '.') {
              if ((ignore_mode == DT_UNKNOWN) ||
                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;
            }
            else {
              piVar6 = hide_patterns;
              if (ignore_mode == DT_UNKNOWN) {
                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;
                    piVar6 = piVar6->next) {
                  in_stack_fffffcbc = (obstack *)0x4;
                  in_stack_fffffcb8 = pcVar12;
                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);
                  if (iVar11 == 0) goto LAB_00019bf0;
                }
              }
            }
          }
          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {
            in_stack_fffffcbc = (obstack *)0x4;
            in_stack_fffffcb8 = pcVar12;
            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);
            if (iVar11 == 0) goto LAB_00019bf0;
          }
          type = unknown;
          bVar9 = pdVar15->d_type - 1;
          if (bVar9 < 0xe) {
            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);
          }
          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,
                               (char *)in_stack_fffffcbc);
          n = uVar17 + n;
          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)
              ) && (recursive == false)) {
            sort_files();
            print_current_files();
            clear_files();
          }
        }
LAB_00019bf0:
        process_signals();
      } while( true );
    }
    iVar11 = dirfd(__dirp);
    if (iVar11 < 0) {
      in_stack_fffffcbc = (obstack *)&dir_stat;
      iVar11 = __xstat64(3,name,(stat64 *)in_stack_fffffcbc);
      uVar14 = (undefined4)dir_stat.st_dev;
      uVar3 = dir_stat.st_dev._4_4_;
      uVar4 = (undefined4)dir_stat.st_ino;
      uVar5 = dir_stat.st_ino._4_4_;
    }
    else {
      in_stack_fffffcbc = (obstack *)&dir_stat;
      iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc);
      uVar14 = (undefined4)dir_stat.st_dev;
      uVar3 = dir_stat.st_dev._4_4_;
      uVar4 = (undefined4)dir_stat.st_ino;
      uVar5 = dir_stat.st_ino._4_4_;
    }
    if (iVar11 < 0) {
      pcVar12 = (char *)dcgettext(0,"cannot determine device and inode of %s",5);
      file_failure(command_line_arg,pcVar12,name);
      closedir(__dirp);
    }
    else {
      dir_stat.st_dev._0_4_ = uVar14;
      dir_stat.st_dev._4_4_ = uVar3;
      dir_stat.st_ino._0_4_ = uVar4;
      dir_stat.st_ino._4_4_ = uVar5;
      pcVar12 = (char *)xmalloc(0x10);
      *(undefined4 *)pcVar12 = uVar4;
      *(undefined4 *)(pcVar12 + 4) = uVar5;
      *(undefined4 *)(pcVar12 + 8) = uVar14;
      *(undefined4 *)(pcVar12 + 0xc) = uVar3;
      in_stack_fffffcb8 = pcVar12;
      pcVar13 = (char *)hash_insert(active_dir_set,pcVar12);
      if (pcVar13 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
        xalloc_die();
      }
      if (pcVar12 == pcVar13) {
        pcVar12 = dev_ino_obstack.next_free;
        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {
          in_stack_fffffcb8 = (char *)0x10;
          _obstack_newchunk(&dev_ino_obstack,0x10);
          pcVar12 = dev_ino_obstack.next_free;
        }
        dev_ino_obstack.next_free = pcVar12 + 0x10;
        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;
        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;
        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;
        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;
        goto LAB_00019a8f;
      }
      free(pcVar12);
      pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name);
      uVar14 = dcgettext(0,"%s: not listing already-listed directory",5);
      error(0,0,uVar14,pcVar12);
      closedir(__dirp);
      exit_status = 2;
    }
  }
  goto LAB_00019a02;
LAB_00019ca5:
  iVar11 = closedir(__dirp);
  if (iVar11 != 0) {
    pcVar12 = (char *)dcgettext(0,"closing directory %s",5);
    file_failure(command_line_arg,pcVar12,name);
  }
  sort_files();
  if (recursive != false) {
    extract_dirs_from_files(name,false);
  }
  puVar8 = PTR_stdout_0003afcc;
  if ((format == long_format) || (print_block_size != false)) {
    if (dired != false) {
      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);
      dired_pos = dired_pos + 2;
    }
    pcVar12 = (char *)dcgettext(0,"total",5);
    fputs_unlocked(pcVar12,*(FILE **)puVar8);
    sVar16 = strlen(pcVar12);
    dired_pos = dired_pos + sVar16;
    p_Var2 = *(_IO_FILE **)puVar8;
    pcVar12 = p_Var2->_IO_write_ptr;
    if (pcVar12 < p_Var2->_IO_write_end) {
      p_Var2->_IO_write_ptr = pcVar12 + 1;
      *pcVar12 = ' ';
    }
    else {
      __overflow(p_Var2,0x20);
    }
    dired_pos = dired_pos + 1;
    pcVar12 = human_readable(n,buf,human_output_opts,0x200,
                             CONCAT44(output_block_size._4_4_,(undefined4)output_block_size));
    fputs_unlocked(pcVar12,*(FILE **)puVar8);
    sVar16 = strlen(pcVar12);
    dired_pos = dired_pos + sVar16;
    p_Var2 = *(_IO_FILE **)puVar8;
    pcVar12 = p_Var2->_IO_write_ptr;
    if (pcVar12 < p_Var2->_IO_write_end) {
      p_Var2->_IO_write_ptr = pcVar12 + 1;
      *pcVar12 = '\n';
    }
    else {
      __overflow(p_Var2,10);
    }
    dired_pos = dired_pos + 1;
  }
  if (cwd_n_used != 0) {
    print_current_files();
  }
LAB_00019a02:
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 FUN_000198b0(char *param_1)

{
  _IO_FILE *p_Var1;
  undefined4 uVar2;
  undefined4 uVar3;
  longlong lVar4;
  undefined *puVar5;
  int *piVar6;
  DIR *__dirp;
  int iVar7;
  undefined4 *puVar8;
  undefined4 *puVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  dirent64 *pdVar12;
  char *pcVar13;
  size_t sVar14;
  void *__ptr;
  int in_GS_OFFSET;
  longlong lVar15;
  stat64 local_30c;
  undefined1 local_2ac [652];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x198bb;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  piVar6 = __errno_location();
  *piVar6 = 0;
  __dirp = opendir(param_1);
  if (__dirp == (DIR *)0x0) {
    dcgettext(0,"cannot open directory %s",5);
    FUN_00015440();
  }
  else {
    if (DAT_0003c364 == 0) {
LAB_00019a8f:
      FUN_00014b40();
      puVar5 = PTR_stdout_0003afcc;
      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {
        if (DAT_0003b1e8 == '\0') {
          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;
          pcVar13 = p_Var1->_IO_write_ptr;
          if (pcVar13 < p_Var1->_IO_write_end) {
            p_Var1->_IO_write_ptr = pcVar13 + 1;
            *pcVar13 = '\n';
          }
          else {
            __overflow(p_Var1,10);
          }
          DAT_0003c1ec = DAT_0003c1ec + 1;
        }
        DAT_0003b1e8 = '\0';
        if (DAT_0003c2e8 != '\0') {
          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);
          DAT_0003c1ec = DAT_0003c1ec + 2;
        }
        __ptr = (void *)0x0;
        if ((DAT_0003c2e1 != '\0') &&
           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {
          dcgettext(0,"error canonicalizing %s",5);
          FUN_00015440();
        }
        FUN_00016280(0,1,&DAT_0003c180,__ptr);
        free(__ptr);
        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);
        DAT_0003c1ec = DAT_0003c1ec + 2;
      }
      lVar4 = 0;
      do {
        *piVar6 = 0;
        pdVar12 = readdir64(__dirp);
        if (pdVar12 == (dirent64 *)0x0) {
          if (*piVar6 == 0) goto LAB_00019ca5;
          dcgettext(0,"reading directory %s",5);
          FUN_00015440();
          if (*piVar6 != 0x4b) goto LAB_00019ca5;
        }
        else {
          puVar8 = DAT_0003c2c4;
          if (DAT_0003c2c8 != 2) {
            if (pdVar12->d_name[0] == '.') {
              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))
              goto LAB_00019bf0;
            }
            else {
              puVar9 = DAT_0003c2c0;
              if (DAT_0003c2c8 == 0) {
                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;
                    puVar9 = (undefined4 *)puVar9[1]) {
                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);
                  if (iVar7 == 0) goto LAB_00019bf0;
                }
              }
            }
          }
          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {
            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);
            if (iVar7 == 0) goto LAB_00019bf0;
          }
          lVar15 = FUN_00018090(param_1);
          lVar4 = lVar15 + lVar4;
          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&
             (DAT_0003c2ce == '\0')) {
            FUN_00014d50();
            FUN_000194f0();
            FUN_00014b40();
          }
        }
LAB_00019bf0:
        FUN_00015cc0();
      } while( true );
    }
    iVar7 = dirfd(__dirp);
    if (iVar7 < 0) {
      iVar7 = __xstat64(3,param_1,&local_30c);
      uVar10 = (undefined4)local_30c.st_dev;
      uVar11 = local_30c.st_dev._4_4_;
      uVar2 = (undefined4)local_30c.st_ino;
      uVar3 = local_30c.st_ino._4_4_;
    }
    else {
      iVar7 = __fxstat64(3,iVar7,&local_30c);
      uVar10 = (undefined4)local_30c.st_dev;
      uVar11 = local_30c.st_dev._4_4_;
      uVar2 = (undefined4)local_30c.st_ino;
      uVar3 = local_30c.st_ino._4_4_;
    }
    if (iVar7 < 0) {
      dcgettext(0,"cannot determine device and inode of %s",5);
      FUN_00015440();
      closedir(__dirp);
    }
    else {
      local_30c.st_dev._0_4_ = uVar10;
      local_30c.st_dev._4_4_ = uVar11;
      local_30c.st_ino._0_4_ = uVar2;
      local_30c.st_ino._4_4_ = uVar3;
      puVar8 = (undefined4 *)FUN_00023f30(0x10);
      *puVar8 = uVar2;
      puVar8[1] = uVar3;
      puVar8[2] = uVar10;
      puVar8[3] = uVar11;
      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);
      if (puVar9 == (undefined4 *)0x0) {
                    /* WARNING: Subroutine does not return */
        FUN_00024230();
      }
      if (puVar8 == puVar9) {
        puVar8 = DAT_0003c14c;
        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {
          _obstack_newchunk(&DAT_0003c140,0x10);
          puVar8 = DAT_0003c14c;
        }
        DAT_0003c14c = puVar8 + 4;
        puVar8[2] = (undefined4)local_30c.st_dev;
        puVar8[3] = local_30c.st_dev._4_4_;
        *puVar8 = (undefined4)local_30c.st_ino;
        puVar8[1] = local_30c.st_ino._4_4_;
        goto LAB_00019a8f;
      }
      free(puVar8);
      uVar10 = FUN_000234e0(0,3,param_1);
      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);
      error(0,0,uVar11,uVar10);
      closedir(__dirp);
      DAT_0003c1f8 = 2;
    }
  }
  goto LAB_00019a02;
LAB_00019ca5:
  iVar7 = closedir(__dirp);
  if (iVar7 != 0) {
    dcgettext(0,"closing directory %s",5);
    FUN_00015440();
  }
  FUN_00014d50();
  if (DAT_0003c2ce != '\0') {
    FUN_00014fd0();
  }
  puVar5 = PTR_stdout_0003afcc;
  if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {
    if (DAT_0003c2e8 != '\0') {
      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);
      DAT_0003c1ec = DAT_0003c1ec + 2;
    }
    pcVar13 = (char *)dcgettext(0,"total",5);
    fputs_unlocked(pcVar13,*(FILE **)puVar5);
    sVar14 = strlen(pcVar13);
    DAT_0003c1ec = DAT_0003c1ec + sVar14;
    p_Var1 = *(_IO_FILE **)puVar5;
    pcVar13 = p_Var1->_IO_write_ptr;
    if (pcVar13 < p_Var1->_IO_write_end) {
      p_Var1->_IO_write_ptr = pcVar13 + 1;
      *pcVar13 = ' ';
    }
    else {
      __overflow(p_Var1,0x20);
    }
    DAT_0003c1ec = DAT_0003c1ec + 1;
    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);
    fputs_unlocked(pcVar13,*(FILE **)puVar5);
    sVar14 = strlen(pcVar13);
    DAT_0003c1ec = DAT_0003c1ec + sVar14;
    p_Var1 = *(_IO_FILE **)puVar5;
    pcVar13 = p_Var1->_IO_write_ptr;
    if (pcVar13 < p_Var1->_IO_write_end) {
      p_Var1->_IO_write_ptr = pcVar13 + 1;
      *pcVar13 = '\n';
    }
    else {
      __overflow(p_Var1,10);
    }
    DAT_0003c1ec = DAT_0003c1ec + 1;
  }
  if (DAT_0003c358 != 0) {
    FUN_000194f0();
  }
LAB_00019a02:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002b190();
}


PUSH EBP
PUSH EDI
MOV EDI,EAX
PUSH ESI
PUSH EBX
CALL 0x00014250
ADD EBX,0x21745
SUB ESP,0x32c
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP + 0xc],EDX
MOV dword ptr [ESP + 0x2c],ECX
MOV byte ptr [ESP + 0x28],CL
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x31c],EAX
XOR EAX,EAX
CALL 0x000124a0
SUB ESP,0xc
MOV dword ptr [EAX],0x0
MOV ESI,EAX
PUSH EDI
CALL 0x00012710
MOV dword ptr [ESP + 0x20],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00019f79
MOV EDI,dword ptr [EBX + 0x1364]
TEST EDI,EDI
JZ 0x00019a8f
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x000120f0
ADD ESP,0x10
TEST EAX,EAX
JS 0x00019c18
SUB ESP,0x4
LEA EDX,[ESP + 0x34]
PUSH EDX
PUSH EAX
PUSH 0x3
CALL 0x000122a0
ADD ESP,0x10
SHR EAX,0x1f
TEST AL,AL
JNZ 0x00019c39
MOV EDX,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [ESP + 0x30]
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x94]
MOV EBP,dword ptr [ESP + 0x98]
MOV dword ptr [ESP + 0x28],EDX
MOV dword ptr [ESP + 0x24],EAX
PUSH 0x10
CALL 0x00023f30
MOV dword ptr [EAX],EDI
MOV EDI,dword ptr [ESP + 0x28]
MOV EDX,EAX
MOV dword ptr [EAX + 0x4],EBP
MOV EBP,dword ptr [ESP + 0x2c]
MOV dword ptr [EAX + 0x8],EDI
MOV dword ptr [EAX + 0xc],EBP
POP EAX
POP ECX
PUSH EDX
MOV dword ptr [ESP + 0x24],EDX
PUSH dword ptr [EBX + 0x1364]
CALL 0x0001dbc0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JZ 0x00019fdd
CMP EDX,EAX
JZ 0x00019a28
SUB ESP,0xc
PUSH EDX
CALL 0x00012790
ADD ESP,0xc
PUSH dword ptr [ESP + 0x18]
PUSH 0x3
PUSH 0x0
CALL 0x000234e0
ADD ESP,0xc
MOV ESI,EAX
LEA EAX,[EBX + 0xffff2f4c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000121e0
PUSH ESI
PUSH EAX
PUSH 0x0
PUSH 0x0
CALL 0x00012350
ADD ESP,0x14
PUSH dword ptr [ESP + 0x1c]
CALL 0x000126f0
ADD ESP,0x10
MOV dword ptr [EBX + 0x11f8],0x2
MOV EAX,dword ptr [ESP + 0x31c]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x00019fe2
ADD ESP,0x32c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0x88]
MOV EDX,dword ptr [ESP + 0x8c]
MOV EDI,dword ptr [ESP + 0x30]
MOV EBP,dword ptr [ESP + 0x34]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EBX + 0x114c]
MOV dword ptr [ESP + 0x1c],EDX
MOV EDX,dword ptr [EBX + 0x1150]
SUB EDX,EAX
CMP EDX,0xf
JA 0x00019a73
SUB ESP,0x8
LEA EAX,[EBX + 0x1140]
PUSH 0x10
PUSH EAX
CALL 0x00029430
MOV EAX,dword ptr [EBX + 0x114c]
ADD ESP,0x10
LEA EDX,[EAX + 0x10]
MOV ECX,dword ptr [ESP + 0x1c]
MOV dword ptr [EBX + 0x114c],EDX
MOV EDX,dword ptr [ESP + 0x18]
MOV dword ptr [EAX + 0x8],EDI
MOV dword ptr [EAX + 0xc],EBP
MOV dword ptr [EAX],EDX
MOV dword ptr [EAX + 0x4],ECX
CALL 0x00014b40
CMP byte ptr [EBX + 0x12ce],0x0
JZ 0x00019c00
CMP byte ptr [EBX + 0x1e8],0x0
MOV EDI,dword ptr [EBX + 0xffffffcc]
JNZ 0x00019ace
MOV EAX,dword ptr [EDI]
MOV EDX,dword ptr [EAX + 0x14]
CMP EDX,dword ptr [EAX + 0x18]
JNC 0x00019fa4
LEA ECX,[EDX + 0x1]
MOV dword ptr [EAX + 0x14],ECX
MOV byte ptr [EDX],0xa
ADD dword ptr [EBX + 0x11ec],0x1
CMP byte ptr [EBX + 0x12e8],0x0
MOV byte ptr [EBX + 0x1e8],0x0
JNZ 0x00019f58
XOR EBP,EBP
CMP byte ptr [EBX + 0x12e1],0x0
JNZ 0x00019ee0
MOV EAX,dword ptr [ESP + 0xc]
MOV EDX,dword ptr [EBX + 0x12b4]
MOV ECX,0xffffffff
TEST EAX,EAX
CMOVZ EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0xc],EAX
LEA EAX,[EBX + 0x1180]
PUSH EBP
PUSH EAX
PUSH 0x1
PUSH 0x0
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00016280
MOV dword ptr [ESP],EBP
CALL 0x00012790
LEA EAX,[EBX + 0xffff2c16]
PUSH dword ptr [EDI]
PUSH 0x2
PUSH 0x1
PUSH EAX
CALL 0x00012510
ADD dword ptr [EBX + 0x11ec],0x2
ADD ESP,0x20
LEA EAX,[EBX + 0xffff2a25]
MOV dword ptr [ESP + 0x20],0x0
MOV dword ptr [ESP + 0x18],EAX
MOVZX EAX,byte ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x24],0x0
MOV dword ptr [ESP + 0x28],EAX
MOV dword ptr [ESP + 0xc],ESI
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESP + 0xc]
SUB ESP,0xc
MOV dword ptr [EAX],0x0
PUSH dword ptr [ESP + 0x1c]
CALL 0x00012640
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x00019c70
LEA EBP,[EAX + 0x13]
MOV EAX,dword ptr [EBX + 0x12c8]
CMP EAX,0x2
JZ 0x00019df0
CMP byte ptr [EDI + 0x13],0x2e
JZ 0x00019dd0
TEST EAX,EAX
JNZ 0x00019df0
MOV ESI,dword ptr [EBX + 0x12c0]
TEST ESI,ESI
JNZ 0x00019bdb
JMP 0x00019df0
MOV ESI,dword ptr [ESI + 0x4]
TEST ESI,ESI
JZ 0x00019df0
SUB ESP,0x4
PUSH 0x4
PUSH EBP
PUSH dword ptr [ESI]
CALL 0x00027930
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00019bd0
NOP
CALL 0x00015cc0
JMP 0x00019b70
CMP byte ptr [EBX + 0x12ac],0x0
JZ 0x00019b44
JMP 0x00019aa1
SUB ESP,0x4
LEA EAX,[ESP + 0x34]
PUSH EAX
PUSH dword ptr [ESP + 0x1c]
PUSH 0x3
CALL 0x000126b0
ADD ESP,0x10
SHR EAX,0x1f
TEST AL,AL
JZ 0x0001994e
SUB ESP,0x4
LEA EAX,[EBX + 0xffff2f24]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000121e0
MOV ECX,dword ptr [ESP + 0x24]
MOV EDX,EAX
MOVZX EAX,byte ptr [ESP + 0x3c]
CALL 0x00015440
POP ESI
PUSH dword ptr [ESP + 0x1c]
CALL 0x000126f0
ADD ESP,0x10
JMP 0x00019a02
MOV EDI,dword ptr [ESP + 0xc]
MOV EBP,dword ptr [EDI]
TEST EBP,EBP
JZ 0x00019ca5
SUB ESP,0x4
PUSH 0x5
PUSH dword ptr [ESP + 0x20]
PUSH 0x0
CALL 0x000121e0
MOV ECX,dword ptr [ESP + 0x24]
MOV EDX,EAX
MOV EAX,dword ptr [ESP + 0x38]
CALL 0x00015440
ADD ESP,0x10
CMP dword ptr [EDI],0x4b
JZ 0x00019bf0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x000126f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00019eb0
CALL 0x00014d50
CMP byte ptr [EBX + 0x12ce],0x0
JNZ 0x00019ea0
MOV ESI,dword ptr [EBX + 0x1308]
TEST ESI,ESI
JZ 0x00019ce5
CMP byte ptr [EBX + 0x12fc],0x0
JZ 0x00019db0
CMP byte ptr [EBX + 0x12e8],0x0
MOV EDI,dword ptr [EBX + 0xffffffcc]
JNZ 0x00019f30
SUB ESP,0x4
LEA EAX,[EBX + 0xffff2a4f]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000121e0
POP EDX
POP ECX
PUSH dword ptr [EDI]
PUSH EAX
MOV ESI,EAX
CALL 0x000123d0
MOV dword ptr [ESP],ESI
CALL 0x00012420
ADD dword ptr [EBX + 0x11ec],EAX
MOV EAX,dword ptr [EDI]
ADD ESP,0x10
MOV EDX,dword ptr [EAX + 0x14]
CMP EDX,dword ptr [EAX + 0x18]
JNC 0x00019fb7
LEA ECX,[EDX + 0x1]
MOV dword ptr [EAX + 0x14],ECX
MOV byte ptr [EDX],0x20
PUSH dword ptr [EBX + 0x12f4]
PUSH dword ptr [EBX + 0x12f0]
PUSH 0x0
PUSH 0x200
PUSH dword ptr [EBX + 0x12f8]
ADD dword ptr [EBX + 0x11ec],0x1
LEA EAX,[ESP + 0xa4]
PUSH EAX
PUSH dword ptr [ESP + 0x3c]
PUSH dword ptr [ESP + 0x3c]
CALL 0x0001df30
ADD ESP,0x18
PUSH dword ptr [EDI]
PUSH EAX
MOV ESI,EAX
CALL 0x000123d0
MOV dword ptr [ESP],ESI
CALL 0x00012420
ADD dword ptr [EBX + 0x11ec],EAX
MOV EAX,dword ptr [EDI]
ADD ESP,0x10
MOV EDX,dword ptr [EAX + 0x14]
CMP EDX,dword ptr [EAX + 0x18]
JNC 0x00019fca
LEA ECX,[EDX + 0x1]
MOV dword ptr [EAX + 0x14],ECX
MOV byte ptr [EDX],0xa
ADD dword ptr [EBX + 0x11ec],0x1
MOV EAX,dword ptr [EBX + 0x1358]
TEST EAX,EAX
JZ 0x00019a02
CALL 0x000194f0
JMP 0x00019a02
TEST EAX,EAX
JZ 0x00019bf0
XOR EAX,EAX
CMP byte ptr [EDI + 0x14],0x2e
SETZ AL
CMP byte ptr [EDI + EAX*0x1 + 0x14],0x0
JZ 0x00019bf0
LEA ESI,[ESI]
MOV ESI,dword ptr [EBX + 0x12c4]
TEST ESI,ESI
JNZ 0x00019e07
JMP 0x00019e20
MOV ESI,dword ptr [ESI + 0x4]
TEST ESI,ESI
JZ 0x00019e20
SUB ESP,0x4
PUSH 0x4
PUSH EBP
PUSH dword ptr [ESI]
CALL 0x00027930
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00019e00
JMP 0x00019bf0
MOVZX EAX,byte ptr [EDI + 0x12]
XOR EDX,EDX
SUB EAX,0x1
CMP AL,0xd
JA 0x00019e37
MOVZX EAX,AL
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xffff1760]
SUB ESP,0xc
XOR ECX,ECX
MOV EAX,EBP
PUSH dword ptr [ESP + 0x20]
CALL 0x00018090
ADD dword ptr [ESP + 0x30],EAX
ADC dword ptr [ESP + 0x34],EDX
ADD ESP,0x10
CMP dword ptr [EBX + 0x1308],0x1
JNZ 0x00019bf0
CMP dword ptr [EBX + 0x1300],-0x1
JNZ 0x00019bf0
CMP byte ptr [EBX + 0x12fc],0x0
JNZ 0x00019bf0
CMP byte ptr [EBX + 0x12ce],0x0
JNZ 0x00019bf0
CALL 0x00014d50
CALL 0x000194f0
CALL 0x00014b40
JMP 0x00019bf0
MOV EAX,dword ptr [ESP + 0x14]
XOR EDX,EDX
CALL 0x00014fd0
JMP 0x00019cce
SUB ESP,0x4
LEA EAX,[EBX + 0xffff2a3a]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000121e0
MOV ECX,dword ptr [ESP + 0x24]
MOV EDX,EAX
MOVZX EAX,byte ptr [ESP + 0x3c]
CALL 0x00015440
ADD ESP,0x10
JMP 0x00019cbc
SUB ESP,0x8
PUSH 0x2
PUSH dword ptr [ESP + 0x20]
CALL 0x0001b7b0
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x00019af1
SUB ESP,0x4
LEA EAX,[EBX + 0xffff29bc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000121e0
MOV ECX,dword ptr [ESP + 0x24]
MOV EDX,EAX
MOVZX EAX,byte ptr [ESP + 0x3c]
CALL 0x00015440
ADD ESP,0x10
JMP 0x00019af1
LEA EAX,[EBX + 0xffff29aa]
PUSH dword ptr [EDI]
PUSH 0x2
PUSH 0x1
PUSH EAX
CALL 0x00012510
ADD dword ptr [EBX + 0x11ec],0x2
ADD ESP,0x10
JMP 0x00019cf8
LEA EAX,[EBX + 0xffff29aa]
PUSH dword ptr [EDI]
PUSH 0x2
PUSH 0x1
PUSH EAX
CALL 0x00012510
ADD dword ptr [EBX + 0x11ec],0x2
ADD ESP,0x10
JMP 0x00019ae2
SUB ESP,0x4
LEA EAX,[EBX + 0xffff2a0c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000121e0
MOV ECX,dword ptr [ESP + 0x24]
MOV EDX,EAX
MOVZX EAX,byte ptr [ESP + 0x3c]
CALL 0x00015440
ADD ESP,0x10
JMP 0x00019a02
SUB ESP,0x8
PUSH 0xa
PUSH EAX
CALL 0x000125a0
ADD ESP,0x10
JMP 0x00019ac7
SUB ESP,0x8
PUSH 0x20
PUSH EAX
CALL 0x000125a0
ADD ESP,0x10
JMP 0x00019d3f
SUB ESP,0x8
PUSH 0xa
PUSH EAX
CALL 0x000125a0
ADD ESP,0x10
JMP 0x00019da9
CALL 0x00024230
CALL 0x0002b190
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_000198b0(char *param_1)\n\n{\n  _IO_FILE *p_Var1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  undefined *puVar5;\n  int *piVar6;\n  DIR *__dirp;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  dirent64 *pdVar12;\n  char *pcVar13;\n  size_t sVar14;\n  void *__ptr;\n  int in_GS_OFFSET;\n  longlong lVar15;\n  stat64 local_30c;\n  undefined1 local_2ac [652];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x198bb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar6 = __errno_location();\n  *piVar6 = 0;\n  __dirp = opendir(param_1);\n  if (__dirp == (DIR *)0x0) {\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }\n  else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }\n  goto LAB_00019a02;\nLAB_00019ca5:\n  iVar7 = closedir(__dirp);\n  if (iVar7 != 0) {\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }\n  FUN_00014d50();\n  if (DAT_0003c2ce != '\0') {\n    FUN_00014fd0();\n  }\n  puVar5 = PTR_stdout_0003afcc;\n  if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }\n  if (DAT_0003c358 != 0) {\n    FUN_000194f0();\n  }\nLAB_00019a02:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002b190();\n}\n\n" comment (function_definition "void __regparm3 FUN_000198b0(char *param_1)\n\n{\n  _IO_FILE *p_Var1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  undefined *puVar5;\n  int *piVar6;\n  DIR *__dirp;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  dirent64 *pdVar12;\n  char *pcVar13;\n  size_t sVar14;\n  void *__ptr;\n  int in_GS_OFFSET;\n  longlong lVar15;\n  stat64 local_30c;\n  undefined1 local_2ac [652];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x198bb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar6 = __errno_location();\n  *piVar6 = 0;\n  __dirp = opendir(param_1);\n  if (__dirp == (DIR *)0x0) {\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }\n  else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }\n  goto LAB_00019a02;\nLAB_00019ca5:\n  iVar7 = closedir(__dirp);\n  if (iVar7 != 0) {\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }\n  FUN_00014d50();\n  if (DAT_0003c2ce != '\0') {\n    FUN_00014fd0();\n  }\n  puVar5 = PTR_stdout_0003afcc;\n  if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }\n  if (DAT_0003c358 != 0) {\n    FUN_000194f0();\n  }\nLAB_00019a02:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002b190();\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000198b0(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  _IO_FILE *p_Var1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  undefined *puVar5;\n  int *piVar6;\n  DIR *__dirp;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  dirent64 *pdVar12;\n  char *pcVar13;\n  size_t sVar14;\n  void *__ptr;\n  int in_GS_OFFSET;\n  longlong lVar15;\n  stat64 local_30c;\n  undefined1 local_2ac [652];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x198bb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar6 = __errno_location();\n  *piVar6 = 0;\n  __dirp = opendir(param_1);\n  if (__dirp == (DIR *)0x0) {\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }\n  else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }\n  goto LAB_00019a02;\nLAB_00019ca5:\n  iVar7 = closedir(__dirp);\n  if (iVar7 != 0) {\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }\n  FUN_00014d50();\n  if (DAT_0003c2ce != '\0') {\n    FUN_00014fd0();\n  }\n  puVar5 = PTR_stdout_0003afcc;\n  if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }\n  if (DAT_0003c358 != 0) {\n    FUN_000194f0();\n  }\nLAB_00019a02:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002b190();\n}" { (declaration "_IO_FILE *p_Var1;" type_identifier (pointer_declarator "*p_Var1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "longlong lVar4;" type_identifier identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "DIR *__dirp;" type_identifier (pointer_declarator "*__dirp" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "dirent64 *pdVar12;" type_identifier (pointer_declarator "*pdVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "size_t sVar14;" primitive_type identifier ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "longlong lVar15;" type_identifier identifier ;) (declaration "stat64 local_30c;" type_identifier identifier ;) (declaration "undefined1 local_2ac [652];" type_identifier (array_declarator "local_2ac [652]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x198bb;" (assignment_expression "uStack_14 = 0x198bb" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "__dirp = opendir(param_1);" (assignment_expression "__dirp = opendir(param_1)" identifier = (call_expression "opendir(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (__dirp == (DIR *)0x0) {\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }\n  else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }" 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)) )) (compound_statement "{\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }" { (expression_statement "dcgettext(0,"cannot open directory %s",5);" (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 "FUN_00015440();" (call_expression "FUN_00015440()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }" else (compound_statement "{\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }" { (if_statement "if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }" if (parenthesized_expression "(DAT_0003c364 == 0)" ( (binary_expression "DAT_0003c364 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }" { (labeled_statement "LAB_00019a8f:\n      FUN_00014b40();" statement_identifier : (expression_statement "FUN_00014b40();" (call_expression "FUN_00014b40()" identifier (argument_list "()" ( ))) ;)) (expression_statement "puVar5 = PTR_stdout_0003afcc;" (assignment_expression "puVar5 = PTR_stdout_0003afcc" identifier = identifier) ;) (if_statement "if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }" if (parenthesized_expression "((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0'))" ( (binary_expression "(DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')" (parenthesized_expression "(DAT_0003c2ce != '\0')" ( (binary_expression "DAT_0003c2ce != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(DAT_0003c2ac != '\0')" ( (binary_expression "DAT_0003c2ac != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }" { (if_statement "if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }" if (parenthesized_expression "(DAT_0003b1e8 == '\0')" ( (binary_expression "DAT_0003b1e8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }" { (expression_statement "p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;" (assignment_expression "p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc" identifier = (pointer_expression "*(_IO_FILE **)PTR_stdout_0003afcc" * (cast_expression "(_IO_FILE **)PTR_stdout_0003afcc" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar13 = p_Var1->_IO_write_ptr;" (assignment_expression "pcVar13 = p_Var1->_IO_write_ptr" identifier = (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier)) ;) (if_statement "if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }" if (parenthesized_expression "(pcVar13 < p_Var1->_IO_write_end)" ( (binary_expression "pcVar13 < p_Var1->_IO_write_end" identifier < (field_expression "p_Var1->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }" { (expression_statement "p_Var1->_IO_write_ptr = pcVar13 + 1;" (assignment_expression "p_Var1->_IO_write_ptr = pcVar13 + 1" (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar13 = '\n';" (assignment_expression "*pcVar13 = '\n'" (pointer_expression "*pcVar13" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n            __overflow(p_Var1,10);\n          }" else (compound_statement "{\n            __overflow(p_Var1,10);\n          }" { (expression_statement "__overflow(p_Var1,10);" (call_expression "__overflow(p_Var1,10)" identifier (argument_list "(p_Var1,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 1;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 1" identifier = (binary_expression "DAT_0003c1ec + 1" identifier + number_literal)) ;) })) (expression_statement "DAT_0003b1e8 = '\0';" (assignment_expression "DAT_0003b1e8 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }" if (parenthesized_expression "(DAT_0003c2e8 != '\0')" ( (binary_expression "DAT_0003c2e8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }" { (expression_statement "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);" (call_expression "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5)" identifier (argument_list "(&DAT_0002d9aa,1,2,*(FILE **)puVar5)" ( (pointer_expression "&DAT_0002d9aa" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)puVar5" * (cast_expression "(FILE **)puVar5" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 2;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 2" identifier = (binary_expression "DAT_0003c1ec + 2" identifier + number_literal)) ;) })) (expression_statement "__ptr = (void *)0x0;" (assignment_expression "__ptr = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }" if (parenthesized_expression "((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0))" ( (binary_expression "(DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)" (parenthesized_expression "(DAT_0003c2e1 != '\0')" ( (binary_expression "DAT_0003c2e1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)" ( (comma_expression "__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0" (assignment_expression "__ptr = (void *)FUN_0001b7b0(param_1,2)" identifier = (cast_expression "(void *)FUN_0001b7b0(param_1,2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001b7b0(param_1,2)" identifier (argument_list "(param_1,2)" ( identifier , number_literal ))))) , (binary_expression "__ptr == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }" { (expression_statement "dcgettext(0,"error canonicalizing %s",5);" (call_expression "dcgettext(0,"error canonicalizing %s",5)" identifier (argument_list "(0,"error canonicalizing %s",5)" ( number_literal , (string_literal ""error canonicalizing %s"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00015440();" (call_expression "FUN_00015440()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_00016280(0,1,&DAT_0003c180,__ptr);" (call_expression "FUN_00016280(0,1,&DAT_0003c180,__ptr)" identifier (argument_list "(0,1,&DAT_0003c180,__ptr)" ( number_literal , number_literal , (pointer_expression "&DAT_0003c180" & identifier) , identifier ))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);" (call_expression "fwrite_unlocked(":\n",1,2,*(FILE **)puVar5)" identifier (argument_list "(":\n",1,2,*(FILE **)puVar5)" ( (string_literal "":\n"" " string_content escape_sequence ") , number_literal , number_literal , (pointer_expression "*(FILE **)puVar5" * (cast_expression "(FILE **)puVar5" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 2;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 2" identifier = (binary_expression "DAT_0003c1ec + 2" identifier + number_literal)) ;) })) (expression_statement "lVar4 = 0;" (assignment_expression "lVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );" do (compound_statement "{\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      }" { (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "pdVar12 = readdir64(__dirp);" (assignment_expression "pdVar12 = readdir64(__dirp)" identifier = (call_expression "readdir64(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }" if (parenthesized_expression "(pdVar12 == (dirent64 *)0x0)" ( (binary_expression "pdVar12 == (dirent64 *)0x0" identifier == (cast_expression "(dirent64 *)0x0" ( (type_descriptor "dirent64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }" { (if_statement "if (*piVar6 == 0) goto LAB_00019ca5;" if (parenthesized_expression "(*piVar6 == 0)" ( (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" * identifier) == number_literal) )) (goto_statement "goto LAB_00019ca5;" goto statement_identifier ;)) (expression_statement "dcgettext(0,"reading directory %s",5);" (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 "FUN_00015440();" (call_expression "FUN_00015440()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*piVar6 != 0x4b) goto LAB_00019ca5;" if (parenthesized_expression "(*piVar6 != 0x4b)" ( (binary_expression "*piVar6 != 0x4b" (pointer_expression "*piVar6" * identifier) != number_literal) )) (goto_statement "goto LAB_00019ca5;" goto statement_identifier ;)) }) (else_clause "else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }" else (compound_statement "{\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }" { (expression_statement "puVar8 = DAT_0003c2c4;" (assignment_expression "puVar8 = DAT_0003c2c4" identifier = identifier) ;) (if_statement "if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(DAT_0003c2c8 != 2)" ( (binary_expression "DAT_0003c2c8 != 2" identifier != number_literal) )) (compound_statement "{\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }" { (if_statement "if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" if (parenthesized_expression "(pdVar12->d_name[0] == '.')" ( (binary_expression "pdVar12->d_name[0] == '.'" (subscript_expression "pdVar12->d_name[0]" (field_expression "pdVar12->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) )) (compound_statement "{\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }" { (if_statement "if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;" if (parenthesized_expression "((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))" ( (binary_expression "(DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0')" (parenthesized_expression "(DAT_0003c2c8 == 0)" ( (binary_expression "DAT_0003c2c8 == 0" identifier == number_literal) )) || (parenthesized_expression "(pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0')" ( (binary_expression "pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'" (subscript_expression "pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1]" (field_expression "pdVar12->d_name" identifier -> field_identifier) [ (binary_expression "(pdVar12->d_name[1] == '.') + 1" (parenthesized_expression "(pdVar12->d_name[1] == '.')" ( (binary_expression "pdVar12->d_name[1] == '.'" (subscript_expression "pdVar12->d_name[1]" (field_expression "pdVar12->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) )) + number_literal) ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00019bf0;" goto statement_identifier ;)) }) (else_clause "else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" else (compound_statement "{\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" { (expression_statement "puVar9 = DAT_0003c2c0;" (assignment_expression "puVar9 = DAT_0003c2c0" identifier = identifier) ;) (if_statement "if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }" if (parenthesized_expression "(DAT_0003c2c8 == 0)" ( (binary_expression "DAT_0003c2c8 == 0" identifier == number_literal) )) (compound_statement "{\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }" { (for_statement "for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }" for ( ; (comma_expression "puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0" (assignment_expression "puVar8 = DAT_0003c2c4" identifier = identifier) , (binary_expression "puVar9 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar9 = (undefined4 *)puVar9[1]" identifier = (cast_expression "(undefined4 *)puVar9[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar9[1]" identifier [ number_literal ]))) ) (compound_statement "{\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }" { (expression_statement "iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);" (assignment_expression "iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4)" identifier = (call_expression "FUN_00027930(*puVar9,pdVar12->d_name,4)" identifier (argument_list "(*puVar9,pdVar12->d_name,4)" ( (pointer_expression "*puVar9" * identifier) , (field_expression "pdVar12->d_name" identifier -> field_identifier) , number_literal )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00019bf0;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019bf0;" goto statement_identifier ;)) })) })) }))) })) (for_statement "for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }" for ( ; (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar8 = (undefined4 *)puVar8[1]" identifier = (cast_expression "(undefined4 *)puVar8[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ]))) ) (compound_statement "{\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }" { (expression_statement "iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);" (assignment_expression "iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4)" identifier = (call_expression "FUN_00027930(*puVar8,pdVar12->d_name,4)" identifier (argument_list "(*puVar8,pdVar12->d_name,4)" ( (pointer_expression "*puVar8" * identifier) , (field_expression "pdVar12->d_name" identifier -> field_identifier) , number_literal )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00019bf0;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019bf0;" goto statement_identifier ;)) })) (expression_statement "lVar15 = FUN_00018090(param_1);" (assignment_expression "lVar15 = FUN_00018090(param_1)" identifier = (call_expression "FUN_00018090(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "lVar4 = lVar15 + lVar4;" (assignment_expression "lVar4 = lVar15 + lVar4" identifier = (binary_expression "lVar15 + lVar4" identifier + identifier)) ;) (if_statement "if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }" if (parenthesized_expression "((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0'))" ( (binary_expression "(((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')" (parenthesized_expression "(((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0'))" ( (binary_expression "((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')" (parenthesized_expression "((DAT_0003c308 == 1) && (DAT_0003c300 == -1))" ( (binary_expression "(DAT_0003c308 == 1) && (DAT_0003c300 == -1)" (parenthesized_expression "(DAT_0003c308 == 1)" ( (binary_expression "DAT_0003c308 == 1" identifier == number_literal) )) && (parenthesized_expression "(DAT_0003c300 == -1)" ( (binary_expression "DAT_0003c300 == -1" identifier == number_literal) ))) )) && (parenthesized_expression "(DAT_0003c2fc == '\0')" ( (binary_expression "DAT_0003c2fc == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(DAT_0003c2ce == '\0')" ( (binary_expression "DAT_0003c2ce == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }" { (expression_statement "FUN_00014d50();" (call_expression "FUN_00014d50()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_000194f0();" (call_expression "FUN_000194f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00014b40();" (call_expression "FUN_00014b40()" identifier (argument_list "()" ( ))) ;) })) }))) (labeled_statement "LAB_00019bf0:\n        FUN_00015cc0();" statement_identifier : (expression_statement "FUN_00015cc0();" (call_expression "FUN_00015cc0()" identifier (argument_list "()" ( ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar7 = dirfd(__dirp);" (assignment_expression "iVar7 = dirfd(__dirp)" identifier = (call_expression "dirfd(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" { (expression_statement "iVar7 = __xstat64(3,param_1,&local_30c);" (assignment_expression "iVar7 = __xstat64(3,param_1,&local_30c)" identifier = (call_expression "__xstat64(3,param_1,&local_30c)" identifier (argument_list "(3,param_1,&local_30c)" ( number_literal , identifier , (pointer_expression "&local_30c" & identifier) )))) ;) (expression_statement "uVar10 = (undefined4)local_30c.st_dev;" (assignment_expression "uVar10 = (undefined4)local_30c.st_dev" identifier = (cast_expression "(undefined4)local_30c.st_dev" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_dev" identifier . field_identifier))) ;) (expression_statement "uVar11 = local_30c.st_dev._4_4_;" (assignment_expression "uVar11 = local_30c.st_dev._4_4_" identifier = (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uVar2 = (undefined4)local_30c.st_ino;" (assignment_expression "uVar2 = (undefined4)local_30c.st_ino" identifier = (cast_expression "(undefined4)local_30c.st_ino" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_ino" identifier . field_identifier))) ;) (expression_statement "uVar3 = local_30c.st_ino._4_4_;" (assignment_expression "uVar3 = local_30c.st_ino._4_4_" identifier = (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" identifier . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" else (compound_statement "{\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" { (expression_statement "iVar7 = __fxstat64(3,iVar7,&local_30c);" (assignment_expression "iVar7 = __fxstat64(3,iVar7,&local_30c)" identifier = (call_expression "__fxstat64(3,iVar7,&local_30c)" identifier (argument_list "(3,iVar7,&local_30c)" ( number_literal , identifier , (pointer_expression "&local_30c" & identifier) )))) ;) (expression_statement "uVar10 = (undefined4)local_30c.st_dev;" (assignment_expression "uVar10 = (undefined4)local_30c.st_dev" identifier = (cast_expression "(undefined4)local_30c.st_dev" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_dev" identifier . field_identifier))) ;) (expression_statement "uVar11 = local_30c.st_dev._4_4_;" (assignment_expression "uVar11 = local_30c.st_dev._4_4_" identifier = (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uVar2 = (undefined4)local_30c.st_ino;" (assignment_expression "uVar2 = (undefined4)local_30c.st_ino" identifier = (cast_expression "(undefined4)local_30c.st_ino" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_ino" identifier . field_identifier))) ;) (expression_statement "uVar3 = local_30c.st_ino._4_4_;" (assignment_expression "uVar3 = local_30c.st_ino._4_4_" identifier = (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" identifier . field_identifier) . field_identifier)) ;) }))) (if_statement "if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }" { (expression_statement "dcgettext(0,"cannot determine device and inode of %s",5);" (call_expression "dcgettext(0,"cannot determine device and inode of %s",5)" identifier (argument_list "(0,"cannot determine device and inode of %s",5)" ( number_literal , (string_literal ""cannot determine device and inode of %s"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00015440();" (call_expression "FUN_00015440()" identifier (argument_list "()" ( ))) ;) (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier ))) ;) }) (else_clause "else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }" else (compound_statement "{\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }" { (expression_statement "local_30c.st_dev._0_4_ = uVar10;" (assignment_expression "local_30c.st_dev._0_4_ = uVar10" (field_expression "local_30c.st_dev._0_4_" (field_expression "local_30c.st_dev" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_30c.st_dev._4_4_ = uVar11;" (assignment_expression "local_30c.st_dev._4_4_ = uVar11" (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_30c.st_ino._0_4_ = uVar2;" (assignment_expression "local_30c.st_ino._0_4_ = uVar2" (field_expression "local_30c.st_ino._0_4_" (field_expression "local_30c.st_ino" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_30c.st_ino._4_4_ = uVar3;" (assignment_expression "local_30c.st_ino._4_4_ = uVar3" (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "puVar8 = (undefined4 *)FUN_00023f30(0x10);" (assignment_expression "puVar8 = (undefined4 *)FUN_00023f30(0x10)" identifier = (cast_expression "(undefined4 *)FUN_00023f30(0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00023f30(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "*puVar8 = uVar2;" (assignment_expression "*puVar8 = uVar2" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "puVar8[1] = uVar3;" (assignment_expression "puVar8[1] = uVar3" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = uVar10;" (assignment_expression "puVar8[2] = uVar10" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[3] = uVar11;" (assignment_expression "puVar8[3] = uVar11" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);" (assignment_expression "puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8)" identifier = (cast_expression "(undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001dbc0(DAT_0003c364,puVar8)" identifier (argument_list "(DAT_0003c364,puVar8)" ( identifier , identifier ))))) ;) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00024230();\n      }" if (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" ( (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00024230();\n      }" { comment (expression_statement "FUN_00024230();" (call_expression "FUN_00024230()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }" if (parenthesized_expression "(puVar8 == puVar9)" ( (binary_expression "puVar8 == puVar9" identifier == identifier) )) (compound_statement "{\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }" { (expression_statement "puVar8 = DAT_0003c14c;" (assignment_expression "puVar8 = DAT_0003c14c" identifier = identifier) ;) (if_statement "if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }" if (parenthesized_expression "((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10)" ( (binary_expression "(uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10" (call_expression "(uint)(DAT_0003c150 - (int)DAT_0003c14c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_0003c150 - (int)DAT_0003c14c)" ( (binary_expression "DAT_0003c150 - (int)DAT_0003c14c" identifier - (cast_expression "(int)DAT_0003c14c" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < number_literal) )) (compound_statement "{\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }" { (expression_statement "_obstack_newchunk(&DAT_0003c140,0x10);" (call_expression "_obstack_newchunk(&DAT_0003c140,0x10)" identifier (argument_list "(&DAT_0003c140,0x10)" ( (pointer_expression "&DAT_0003c140" & identifier) , number_literal ))) ;) (expression_statement "puVar8 = DAT_0003c14c;" (assignment_expression "puVar8 = DAT_0003c14c" identifier = identifier) ;) })) (expression_statement "DAT_0003c14c = puVar8 + 4;" (assignment_expression "DAT_0003c14c = puVar8 + 4" identifier = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) (expression_statement "puVar8[2] = (undefined4)local_30c.st_dev;" (assignment_expression "puVar8[2] = (undefined4)local_30c.st_dev" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = (cast_expression "(undefined4)local_30c.st_dev" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_dev" identifier . field_identifier))) ;) (expression_statement "puVar8[3] = local_30c.st_dev._4_4_;" (assignment_expression "puVar8[3] = local_30c.st_dev._4_4_" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*puVar8 = (undefined4)local_30c.st_ino;" (assignment_expression "*puVar8 = (undefined4)local_30c.st_ino" (pointer_expression "*puVar8" * identifier) = (cast_expression "(undefined4)local_30c.st_ino" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_ino" identifier . field_identifier))) ;) (expression_statement "puVar8[1] = local_30c.st_ino._4_4_;" (assignment_expression "puVar8[1] = local_30c.st_ino._4_4_" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" identifier . field_identifier) . field_identifier)) ;) (goto_statement "goto LAB_00019a8f;" goto statement_identifier ;) })) (expression_statement "free(puVar8);" (call_expression "free(puVar8)" identifier (argument_list "(puVar8)" ( identifier ))) ;) (expression_statement "uVar10 = FUN_000234e0(0,3,param_1);" (assignment_expression "uVar10 = FUN_000234e0(0,3,param_1)" identifier = (call_expression "FUN_000234e0(0,3,param_1)" identifier (argument_list "(0,3,param_1)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);" (assignment_expression "uVar11 = dcgettext(0,"%s: not listing already-listed directory",5)" identifier = (call_expression "dcgettext(0,"%s: not listing already-listed directory",5)" identifier (argument_list "(0,"%s: not listing already-listed directory",5)" ( number_literal , (string_literal ""%s: not listing already-listed directory"" " string_content ") , number_literal )))) ;) (expression_statement "error(0,0,uVar11,uVar10);" (call_expression "error(0,0,uVar11,uVar10)" identifier (argument_list "(0,0,uVar11,uVar10)" ( number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier ))) ;) (expression_statement "DAT_0003c1f8 = 2;" (assignment_expression "DAT_0003c1f8 = 2" identifier = number_literal) ;) }))) }))) (goto_statement "goto LAB_00019a02;" goto statement_identifier ;) (labeled_statement "LAB_00019ca5:\n  iVar7 = closedir(__dirp);" statement_identifier : (expression_statement "iVar7 = closedir(__dirp);" (assignment_expression "iVar7 = closedir(__dirp)" identifier = (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;)) (if_statement "if (iVar7 != 0) {\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }" { (expression_statement "dcgettext(0,"closing directory %s",5);" (call_expression "dcgettext(0,"closing directory %s",5)" identifier (argument_list "(0,"closing directory %s",5)" ( number_literal , (string_literal ""closing directory %s"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00015440();" (call_expression "FUN_00015440()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_00014d50();" (call_expression "FUN_00014d50()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_0003c2ce != '\0') {\n    FUN_00014fd0();\n  }" if (parenthesized_expression "(DAT_0003c2ce != '\0')" ( (binary_expression "DAT_0003c2ce != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    FUN_00014fd0();\n  }" { (expression_statement "FUN_00014fd0();" (call_expression "FUN_00014fd0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar5 = PTR_stdout_0003afcc;" (assignment_expression "puVar5 = PTR_stdout_0003afcc" identifier = identifier) ;) (if_statement "if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }" if (parenthesized_expression "((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0'))" ( (binary_expression "(DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')" (parenthesized_expression "(DAT_0003c308 == 0)" ( (binary_expression "DAT_0003c308 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_0003c2fc != '\0')" ( (binary_expression "DAT_0003c2fc != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }" { (if_statement "if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }" if (parenthesized_expression "(DAT_0003c2e8 != '\0')" ( (binary_expression "DAT_0003c2e8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }" { (expression_statement "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);" (call_expression "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc)" identifier (argument_list "(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc)" ( (pointer_expression "&DAT_0002d9aa" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)PTR_stdout_0003afcc" * (cast_expression "(FILE **)PTR_stdout_0003afcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 2;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 2" identifier = (binary_expression "DAT_0003c1ec + 2" identifier + number_literal)) ;) })) (expression_statement "pcVar13 = (char *)dcgettext(0,"total",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"total",5)" identifier = (cast_expression "(char *)dcgettext(0,"total",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"total",5)" identifier (argument_list "(0,"total",5)" ( number_literal , (string_literal ""total"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs_unlocked(pcVar13,*(FILE **)puVar5);" (call_expression "fputs_unlocked(pcVar13,*(FILE **)puVar5)" identifier (argument_list "(pcVar13,*(FILE **)puVar5)" ( identifier , (pointer_expression "*(FILE **)puVar5" * (cast_expression "(FILE **)puVar5" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "sVar14 = strlen(pcVar13);" (assignment_expression "sVar14 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + sVar14;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + sVar14" identifier = (binary_expression "DAT_0003c1ec + sVar14" identifier + identifier)) ;) (expression_statement "p_Var1 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var1 = *(_IO_FILE **)puVar5" identifier = (pointer_expression "*(_IO_FILE **)puVar5" * (cast_expression "(_IO_FILE **)puVar5" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar13 = p_Var1->_IO_write_ptr;" (assignment_expression "pcVar13 = p_Var1->_IO_write_ptr" identifier = (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier)) ;) (if_statement "if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }" if (parenthesized_expression "(pcVar13 < p_Var1->_IO_write_end)" ( (binary_expression "pcVar13 < p_Var1->_IO_write_end" identifier < (field_expression "p_Var1->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }" { (expression_statement "p_Var1->_IO_write_ptr = pcVar13 + 1;" (assignment_expression "p_Var1->_IO_write_ptr = pcVar13 + 1" (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar13 = ' ';" (assignment_expression "*pcVar13 = ' '" (pointer_expression "*pcVar13" * identifier) = (char_literal "' '" ' character ')) ;) }) (else_clause "else {\n      __overflow(p_Var1,0x20);\n    }" else (compound_statement "{\n      __overflow(p_Var1,0x20);\n    }" { (expression_statement "__overflow(p_Var1,0x20);" (call_expression "__overflow(p_Var1,0x20)" identifier (argument_list "(p_Var1,0x20)" ( identifier , number_literal ))) ;) }))) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 1;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 1" identifier = (binary_expression "DAT_0003c1ec + 1" identifier + number_literal)) ;) (expression_statement "pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);" (assignment_expression "pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" identifier = (cast_expression "(char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" identifier (argument_list "(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier ))))) ;) (expression_statement "fputs_unlocked(pcVar13,*(FILE **)puVar5);" (call_expression "fputs_unlocked(pcVar13,*(FILE **)puVar5)" identifier (argument_list "(pcVar13,*(FILE **)puVar5)" ( identifier , (pointer_expression "*(FILE **)puVar5" * (cast_expression "(FILE **)puVar5" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "sVar14 = strlen(pcVar13);" (assignment_expression "sVar14 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + sVar14;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + sVar14" identifier = (binary_expression "DAT_0003c1ec + sVar14" identifier + identifier)) ;) (expression_statement "p_Var1 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var1 = *(_IO_FILE **)puVar5" identifier = (pointer_expression "*(_IO_FILE **)puVar5" * (cast_expression "(_IO_FILE **)puVar5" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar13 = p_Var1->_IO_write_ptr;" (assignment_expression "pcVar13 = p_Var1->_IO_write_ptr" identifier = (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier)) ;) (if_statement "if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }" if (parenthesized_expression "(pcVar13 < p_Var1->_IO_write_end)" ( (binary_expression "pcVar13 < p_Var1->_IO_write_end" identifier < (field_expression "p_Var1->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }" { (expression_statement "p_Var1->_IO_write_ptr = pcVar13 + 1;" (assignment_expression "p_Var1->_IO_write_ptr = pcVar13 + 1" (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar13 = '\n';" (assignment_expression "*pcVar13 = '\n'" (pointer_expression "*pcVar13" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n      __overflow(p_Var1,10);\n    }" else (compound_statement "{\n      __overflow(p_Var1,10);\n    }" { (expression_statement "__overflow(p_Var1,10);" (call_expression "__overflow(p_Var1,10)" identifier (argument_list "(p_Var1,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 1;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 1" identifier = (binary_expression "DAT_0003c1ec + 1" identifier + number_literal)) ;) })) (if_statement "if (DAT_0003c358 != 0) {\n    FUN_000194f0();\n  }" if (parenthesized_expression "(DAT_0003c358 != 0)" ( (binary_expression "DAT_0003c358 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_000194f0();\n  }" { (expression_statement "FUN_000194f0();" (call_expression "FUN_000194f0()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_00019a02:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) comment (expression_statement "FUN_0002b190();" (call_expression "FUN_0002b190()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid __regparm3 print_dir(char *name,char *realname,_Bool command_line_arg)\n\n{\n  int iVar1;\n  _IO_FILE *p_Var2;\n  uintmax_t n;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  ignore_pattern *piVar6;\n  ignore_pattern *piVar7;\n  undefined *puVar8;\n  byte bVar9;\n  int *piVar10;\n  DIR *__dirp;\n  int iVar11;\n  char *pcVar12;\n  char *pcVar13;\n  undefined4 uVar14;\n  dirent64 *pdVar15;\n  size_t sVar16;\n  filetype type;\n  int in_GS_OFFSET;\n  uintmax_t uVar17;\n  char *in_stack_fffffcb8;\n  obstack *in_stack_fffffcbc;\n  stat dir_stat;\n  char buf [652];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar10 = __errno_location();\n  *piVar10 = 0;\n  __dirp = opendir(name);\n  if (__dirp == (DIR *)0x0) {\n    pcVar12 = (char *)dcgettext(0,"cannot open directory %s",5);\n    file_failure(command_line_arg,pcVar12,name);\n  }\n  else {\n    if (active_dir_set == (Hash_table *)0x0) {\nLAB_00019a8f:\n      clear_files();\n      puVar8 = PTR_stdout_0003afcc;\n      if ((recursive != false) || (print_dir_name != false)) {\n        if (print_dir::first == false) {\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }\n        print_dir::first = false;\n        if (dired != false) {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }\n        pcVar12 = (char *)0x0;\n        if ((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }\n        if (realname == (char *)0x0) {\n          realname = name;\n        }\n        in_stack_fffffcbc = &subdired_obstack;\n        in_stack_fffffcb8 = (char *)0x1;\n        quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  );\n        free(pcVar12);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);\n        dired_pos = dired_pos + 2;\n      }\n      n = 0;\n      do {\n        *piVar10 = 0;\n        pdVar15 = readdir64(__dirp);\n        if (pdVar15 == (dirent64 *)0x0) {\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }\nLAB_00019bf0:\n        process_signals();\n      } while( true );\n    }\n    iVar11 = dirfd(__dirp);\n    if (iVar11 < 0) {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __xstat64(3,name,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    else {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    if (iVar11 < 0) {\n      pcVar12 = (char *)dcgettext(0,"cannot determine device and inode of %s",5);\n      file_failure(command_line_arg,pcVar12,name);\n      closedir(__dirp);\n    }\n    else {\n      dir_stat.st_dev._0_4_ = uVar14;\n      dir_stat.st_dev._4_4_ = uVar3;\n      dir_stat.st_ino._0_4_ = uVar4;\n      dir_stat.st_ino._4_4_ = uVar5;\n      pcVar12 = (char *)xmalloc(0x10);\n      *(undefined4 *)pcVar12 = uVar4;\n      *(undefined4 *)(pcVar12 + 4) = uVar5;\n      *(undefined4 *)(pcVar12 + 8) = uVar14;\n      *(undefined4 *)(pcVar12 + 0xc) = uVar3;\n      in_stack_fffffcb8 = pcVar12;\n      pcVar13 = (char *)hash_insert(active_dir_set,pcVar12);\n      if (pcVar13 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n      if (pcVar12 == pcVar13) {\n        pcVar12 = dev_ino_obstack.next_free;\n        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }\n        dev_ino_obstack.next_free = pcVar12 + 0x10;\n        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;\n        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;\n        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;\n        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(pcVar12);\n      pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name);\n      uVar14 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar14,pcVar12);\n      closedir(__dirp);\n      exit_status = 2;\n    }\n  }\n  goto LAB_00019a02;\nLAB_00019ca5:\n  iVar11 = closedir(__dirp);\n  if (iVar11 != 0) {\n    pcVar12 = (char *)dcgettext(0,"closing directory %s",5);\n    file_failure(command_line_arg,pcVar12,name);\n  }\n  sort_files();\n  if (recursive != false) {\n    extract_dirs_from_files(name,false);\n  }\n  puVar8 = PTR_stdout_0003afcc;\n  if ((format == long_format) || (print_block_size != false)) {\n    if (dired != false) {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      dired_pos = dired_pos + 2;\n    }\n    pcVar12 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar12,*(FILE **)puVar8);\n    sVar16 = strlen(pcVar12);\n    dired_pos = dired_pos + sVar16;\n    p_Var2 = *(_IO_FILE **)puVar8;\n    pcVar12 = p_Var2->_IO_write_ptr;\n    if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = ' ';\n    }\n    else {\n      __overflow(p_Var2,0x20);\n    }\n    dired_pos = dired_pos + 1;\n    pcVar12 = human_readable(n,buf,human_output_opts,0x200,\n                             CONCAT44(output_block_size._4_4_,(undefined4)output_block_size));\n    fputs_unlocked(pcVar12,*(FILE **)puVar8);\n    sVar16 = strlen(pcVar12);\n    dired_pos = dired_pos + sVar16;\n    p_Var2 = *(_IO_FILE **)puVar8;\n    pcVar12 = p_Var2->_IO_write_ptr;\n    if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = '\n';\n    }\n    else {\n      __overflow(p_Var2,10);\n    }\n    dired_pos = dired_pos + 1;\n  }\n  if (cwd_n_used != 0) {\n    print_current_files();\n  }\nLAB_00019a02:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment (function_definition "void __regparm3 print_dir(char *name,char *realname,_Bool command_line_arg)\n\n{\n  int iVar1;\n  _IO_FILE *p_Var2;\n  uintmax_t n;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  ignore_pattern *piVar6;\n  ignore_pattern *piVar7;\n  undefined *puVar8;\n  byte bVar9;\n  int *piVar10;\n  DIR *__dirp;\n  int iVar11;\n  char *pcVar12;\n  char *pcVar13;\n  undefined4 uVar14;\n  dirent64 *pdVar15;\n  size_t sVar16;\n  filetype type;\n  int in_GS_OFFSET;\n  uintmax_t uVar17;\n  char *in_stack_fffffcb8;\n  obstack *in_stack_fffffcbc;\n  stat dir_stat;\n  char buf [652];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar10 = __errno_location();\n  *piVar10 = 0;\n  __dirp = opendir(name);\n  if (__dirp == (DIR *)0x0) {\n    pcVar12 = (char *)dcgettext(0,"cannot open directory %s",5);\n    file_failure(command_line_arg,pcVar12,name);\n  }\n  else {\n    if (active_dir_set == (Hash_table *)0x0) {\nLAB_00019a8f:\n      clear_files();\n      puVar8 = PTR_stdout_0003afcc;\n      if ((recursive != false) || (print_dir_name != false)) {\n        if (print_dir::first == false) {\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }\n        print_dir::first = false;\n        if (dired != false) {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }\n        pcVar12 = (char *)0x0;\n        if ((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }\n        if (realname == (char *)0x0) {\n          realname = name;\n        }\n        in_stack_fffffcbc = &subdired_obstack;\n        in_stack_fffffcb8 = (char *)0x1;\n        quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  );\n        free(pcVar12);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);\n        dired_pos = dired_pos + 2;\n      }\n      n = 0;\n      do {\n        *piVar10 = 0;\n        pdVar15 = readdir64(__dirp);\n        if (pdVar15 == (dirent64 *)0x0) {\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }\nLAB_00019bf0:\n        process_signals();\n      } while( true );\n    }\n    iVar11 = dirfd(__dirp);\n    if (iVar11 < 0) {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __xstat64(3,name,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    else {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    if (iVar11 < 0) {\n      pcVar12 = (char *)dcgettext(0,"cannot determine device and inode of %s",5);\n      file_failure(command_line_arg,pcVar12,name);\n      closedir(__dirp);\n    }\n    else {\n      dir_stat.st_dev._0_4_ = uVar14;\n      dir_stat.st_dev._4_4_ = uVar3;\n      dir_stat.st_ino._0_4_ = uVar4;\n      dir_stat.st_ino._4_4_ = uVar5;\n      pcVar12 = (char *)xmalloc(0x10);\n      *(undefined4 *)pcVar12 = uVar4;\n      *(undefined4 *)(pcVar12 + 4) = uVar5;\n      *(undefined4 *)(pcVar12 + 8) = uVar14;\n      *(undefined4 *)(pcVar12 + 0xc) = uVar3;\n      in_stack_fffffcb8 = pcVar12;\n      pcVar13 = (char *)hash_insert(active_dir_set,pcVar12);\n      if (pcVar13 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n      if (pcVar12 == pcVar13) {\n        pcVar12 = dev_ino_obstack.next_free;\n        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }\n        dev_ino_obstack.next_free = pcVar12 + 0x10;\n        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;\n        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;\n        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;\n        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(pcVar12);\n      pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name);\n      uVar14 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar14,pcVar12);\n      closedir(__dirp);\n      exit_status = 2;\n    }\n  }\n  goto LAB_00019a02;\nLAB_00019ca5:\n  iVar11 = closedir(__dirp);\n  if (iVar11 != 0) {\n    pcVar12 = (char *)dcgettext(0,"closing directory %s",5);\n    file_failure(command_line_arg,pcVar12,name);\n  }\n  sort_files();\n  if (recursive != false) {\n    extract_dirs_from_files(name,false);\n  }\n  puVar8 = PTR_stdout_0003afcc;\n  if ((format == long_format) || (print_block_size != false)) {\n    if (dired != false) {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      dired_pos = dired_pos + 2;\n    }\n    pcVar12 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar12,*(FILE **)puVar8);\n    sVar16 = strlen(pcVar12);\n    dired_pos = dired_pos + sVar16;\n    p_Var2 = *(_IO_FILE **)puVar8;\n    pcVar12 = p_Var2->_IO_write_ptr;\n    if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = ' ';\n    }\n    else {\n      __overflow(p_Var2,0x20);\n    }\n    dired_pos = dired_pos + 1;\n    pcVar12 = human_readable(n,buf,human_output_opts,0x200,\n                             CONCAT44(output_block_size._4_4_,(undefined4)output_block_size));\n    fputs_unlocked(pcVar12,*(FILE **)puVar8);\n    sVar16 = strlen(pcVar12);\n    dired_pos = dired_pos + sVar16;\n    p_Var2 = *(_IO_FILE **)puVar8;\n    pcVar12 = p_Var2->_IO_write_ptr;\n    if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = '\n';\n    }\n    else {\n      __overflow(p_Var2,10);\n    }\n    dired_pos = dired_pos + 1;\n  }\n  if (cwd_n_used != 0) {\n    print_current_files();\n  }\nLAB_00019a02:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "print_dir(char *name,char *realname,_Bool command_line_arg)" identifier (parameter_list "(char *name,char *realname,_Bool command_line_arg)" ( (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "char *realname" primitive_type (pointer_declarator "*realname" * identifier)) , (parameter_declaration "_Bool command_line_arg" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  _IO_FILE *p_Var2;\n  uintmax_t n;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  ignore_pattern *piVar6;\n  ignore_pattern *piVar7;\n  undefined *puVar8;\n  byte bVar9;\n  int *piVar10;\n  DIR *__dirp;\n  int iVar11;\n  char *pcVar12;\n  char *pcVar13;\n  undefined4 uVar14;\n  dirent64 *pdVar15;\n  size_t sVar16;\n  filetype type;\n  int in_GS_OFFSET;\n  uintmax_t uVar17;\n  char *in_stack_fffffcb8;\n  obstack *in_stack_fffffcbc;\n  stat dir_stat;\n  char buf [652];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar10 = __errno_location();\n  *piVar10 = 0;\n  __dirp = opendir(name);\n  if (__dirp == (DIR *)0x0) {\n    pcVar12 = (char *)dcgettext(0,"cannot open directory %s",5);\n    file_failure(command_line_arg,pcVar12,name);\n  }\n  else {\n    if (active_dir_set == (Hash_table *)0x0) {\nLAB_00019a8f:\n      clear_files();\n      puVar8 = PTR_stdout_0003afcc;\n      if ((recursive != false) || (print_dir_name != false)) {\n        if (print_dir::first == false) {\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }\n        print_dir::first = false;\n        if (dired != false) {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }\n        pcVar12 = (char *)0x0;\n        if ((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }\n        if (realname == (char *)0x0) {\n          realname = name;\n        }\n        in_stack_fffffcbc = &subdired_obstack;\n        in_stack_fffffcb8 = (char *)0x1;\n        quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  );\n        free(pcVar12);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);\n        dired_pos = dired_pos + 2;\n      }\n      n = 0;\n      do {\n        *piVar10 = 0;\n        pdVar15 = readdir64(__dirp);\n        if (pdVar15 == (dirent64 *)0x0) {\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }\nLAB_00019bf0:\n        process_signals();\n      } while( true );\n    }\n    iVar11 = dirfd(__dirp);\n    if (iVar11 < 0) {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __xstat64(3,name,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    else {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    if (iVar11 < 0) {\n      pcVar12 = (char *)dcgettext(0,"cannot determine device and inode of %s",5);\n      file_failure(command_line_arg,pcVar12,name);\n      closedir(__dirp);\n    }\n    else {\n      dir_stat.st_dev._0_4_ = uVar14;\n      dir_stat.st_dev._4_4_ = uVar3;\n      dir_stat.st_ino._0_4_ = uVar4;\n      dir_stat.st_ino._4_4_ = uVar5;\n      pcVar12 = (char *)xmalloc(0x10);\n      *(undefined4 *)pcVar12 = uVar4;\n      *(undefined4 *)(pcVar12 + 4) = uVar5;\n      *(undefined4 *)(pcVar12 + 8) = uVar14;\n      *(undefined4 *)(pcVar12 + 0xc) = uVar3;\n      in_stack_fffffcb8 = pcVar12;\n      pcVar13 = (char *)hash_insert(active_dir_set,pcVar12);\n      if (pcVar13 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n      if (pcVar12 == pcVar13) {\n        pcVar12 = dev_ino_obstack.next_free;\n        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }\n        dev_ino_obstack.next_free = pcVar12 + 0x10;\n        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;\n        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;\n        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;\n        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(pcVar12);\n      pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name);\n      uVar14 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar14,pcVar12);\n      closedir(__dirp);\n      exit_status = 2;\n    }\n  }\n  goto LAB_00019a02;\nLAB_00019ca5:\n  iVar11 = closedir(__dirp);\n  if (iVar11 != 0) {\n    pcVar12 = (char *)dcgettext(0,"closing directory %s",5);\n    file_failure(command_line_arg,pcVar12,name);\n  }\n  sort_files();\n  if (recursive != false) {\n    extract_dirs_from_files(name,false);\n  }\n  puVar8 = PTR_stdout_0003afcc;\n  if ((format == long_format) || (print_block_size != false)) {\n    if (dired != false) {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      dired_pos = dired_pos + 2;\n    }\n    pcVar12 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar12,*(FILE **)puVar8);\n    sVar16 = strlen(pcVar12);\n    dired_pos = dired_pos + sVar16;\n    p_Var2 = *(_IO_FILE **)puVar8;\n    pcVar12 = p_Var2->_IO_write_ptr;\n    if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = ' ';\n    }\n    else {\n      __overflow(p_Var2,0x20);\n    }\n    dired_pos = dired_pos + 1;\n    pcVar12 = human_readable(n,buf,human_output_opts,0x200,\n                             CONCAT44(output_block_size._4_4_,(undefined4)output_block_size));\n    fputs_unlocked(pcVar12,*(FILE **)puVar8);\n    sVar16 = strlen(pcVar12);\n    dired_pos = dired_pos + sVar16;\n    p_Var2 = *(_IO_FILE **)puVar8;\n    pcVar12 = p_Var2->_IO_write_ptr;\n    if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = '\n';\n    }\n    else {\n      __overflow(p_Var2,10);\n    }\n    dired_pos = dired_pos + 1;\n  }\n  if (cwd_n_used != 0) {\n    print_current_files();\n  }\nLAB_00019a02:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "_IO_FILE *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "uintmax_t n;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "ignore_pattern *piVar6;" type_identifier (pointer_declarator "*piVar6" * identifier) ;) (declaration "ignore_pattern *piVar7;" type_identifier (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "DIR *__dirp;" type_identifier (pointer_declarator "*__dirp" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "dirent64 *pdVar15;" type_identifier (pointer_declarator "*pdVar15" * identifier) ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "filetype type;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "uintmax_t uVar17;" type_identifier identifier ;) (declaration "char *in_stack_fffffcb8;" primitive_type (pointer_declarator "*in_stack_fffffcb8" * identifier) ;) (declaration "obstack *in_stack_fffffcbc;" type_identifier (pointer_declarator "*in_stack_fffffcbc" * identifier) ;) (declaration "stat dir_stat;" type_identifier identifier ;) (declaration "char buf [652];" primitive_type (array_declarator "buf [652]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar10 = 0;" (assignment_expression "*piVar10 = 0" (pointer_expression "*piVar10" * identifier) = number_literal) ;) (expression_statement "__dirp = opendir(name);" (assignment_expression "__dirp = opendir(name)" identifier = (call_expression "opendir(name)" identifier (argument_list "(name)" ( identifier )))) ;) (if_statement "if (__dirp == (DIR *)0x0) {\n    pcVar12 = (char *)dcgettext(0,"cannot open directory %s",5);\n    file_failure(command_line_arg,pcVar12,name);\n  }\n  else {\n    if (active_dir_set == (Hash_table *)0x0) {\nLAB_00019a8f:\n      clear_files();\n      puVar8 = PTR_stdout_0003afcc;\n      if ((recursive != false) || (print_dir_name != false)) {\n        if (print_dir::first == false) {\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }\n        print_dir::first = false;\n        if (dired != false) {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }\n        pcVar12 = (char *)0x0;\n        if ((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }\n        if (realname == (char *)0x0) {\n          realname = name;\n        }\n        in_stack_fffffcbc = &subdired_obstack;\n        in_stack_fffffcb8 = (char *)0x1;\n        quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  );\n        free(pcVar12);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);\n        dired_pos = dired_pos + 2;\n      }\n      n = 0;\n      do {\n        *piVar10 = 0;\n        pdVar15 = readdir64(__dirp);\n        if (pdVar15 == (dirent64 *)0x0) {\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }\nLAB_00019bf0:\n        process_signals();\n      } while( true );\n    }\n    iVar11 = dirfd(__dirp);\n    if (iVar11 < 0) {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __xstat64(3,name,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    else {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    if (iVar11 < 0) {\n      pcVar12 = (char *)dcgettext(0,"cannot determine device and inode of %s",5);\n      file_failure(command_line_arg,pcVar12,name);\n      closedir(__dirp);\n    }\n    else {\n      dir_stat.st_dev._0_4_ = uVar14;\n      dir_stat.st_dev._4_4_ = uVar3;\n      dir_stat.st_ino._0_4_ = uVar4;\n      dir_stat.st_ino._4_4_ = uVar5;\n      pcVar12 = (char *)xmalloc(0x10);\n      *(undefined4 *)pcVar12 = uVar4;\n      *(undefined4 *)(pcVar12 + 4) = uVar5;\n      *(undefined4 *)(pcVar12 + 8) = uVar14;\n      *(undefined4 *)(pcVar12 + 0xc) = uVar3;\n      in_stack_fffffcb8 = pcVar12;\n      pcVar13 = (char *)hash_insert(active_dir_set,pcVar12);\n      if (pcVar13 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n      if (pcVar12 == pcVar13) {\n        pcVar12 = dev_ino_obstack.next_free;\n        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }\n        dev_ino_obstack.next_free = pcVar12 + 0x10;\n        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;\n        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;\n        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;\n        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(pcVar12);\n      pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name);\n      uVar14 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar14,pcVar12);\n      closedir(__dirp);\n      exit_status = 2;\n    }\n  }" 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)) )) (compound_statement "{\n    pcVar12 = (char *)dcgettext(0,"cannot open directory %s",5);\n    file_failure(command_line_arg,pcVar12,name);\n  }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"cannot open directory %s",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"cannot open directory %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"cannot open directory %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (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 "file_failure(command_line_arg,pcVar12,name);" (call_expression "file_failure(command_line_arg,pcVar12,name)" identifier (argument_list "(command_line_arg,pcVar12,name)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n    if (active_dir_set == (Hash_table *)0x0) {\nLAB_00019a8f:\n      clear_files();\n      puVar8 = PTR_stdout_0003afcc;\n      if ((recursive != false) || (print_dir_name != false)) {\n        if (print_dir::first == false) {\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }\n        print_dir::first = false;\n        if (dired != false) {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }\n        pcVar12 = (char *)0x0;\n        if ((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }\n        if (realname == (char *)0x0) {\n          realname = name;\n        }\n        in_stack_fffffcbc = &subdired_obstack;\n        in_stack_fffffcb8 = (char *)0x1;\n        quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  );\n        free(pcVar12);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);\n        dired_pos = dired_pos + 2;\n      }\n      n = 0;\n      do {\n        *piVar10 = 0;\n        pdVar15 = readdir64(__dirp);\n        if (pdVar15 == (dirent64 *)0x0) {\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }\nLAB_00019bf0:\n        process_signals();\n      } while( true );\n    }\n    iVar11 = dirfd(__dirp);\n    if (iVar11 < 0) {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __xstat64(3,name,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    else {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    if (iVar11 < 0) {\n      pcVar12 = (char *)dcgettext(0,"cannot determine device and inode of %s",5);\n      file_failure(command_line_arg,pcVar12,name);\n      closedir(__dirp);\n    }\n    else {\n      dir_stat.st_dev._0_4_ = uVar14;\n      dir_stat.st_dev._4_4_ = uVar3;\n      dir_stat.st_ino._0_4_ = uVar4;\n      dir_stat.st_ino._4_4_ = uVar5;\n      pcVar12 = (char *)xmalloc(0x10);\n      *(undefined4 *)pcVar12 = uVar4;\n      *(undefined4 *)(pcVar12 + 4) = uVar5;\n      *(undefined4 *)(pcVar12 + 8) = uVar14;\n      *(undefined4 *)(pcVar12 + 0xc) = uVar3;\n      in_stack_fffffcb8 = pcVar12;\n      pcVar13 = (char *)hash_insert(active_dir_set,pcVar12);\n      if (pcVar13 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n      if (pcVar12 == pcVar13) {\n        pcVar12 = dev_ino_obstack.next_free;\n        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }\n        dev_ino_obstack.next_free = pcVar12 + 0x10;\n        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;\n        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;\n        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;\n        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(pcVar12);\n      pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name);\n      uVar14 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar14,pcVar12);\n      closedir(__dirp);\n      exit_status = 2;\n    }\n  }" else (compound_statement "{\n    if (active_dir_set == (Hash_table *)0x0) {\nLAB_00019a8f:\n      clear_files();\n      puVar8 = PTR_stdout_0003afcc;\n      if ((recursive != false) || (print_dir_name != false)) {\n        if (print_dir::first == false) {\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }\n        print_dir::first = false;\n        if (dired != false) {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }\n        pcVar12 = (char *)0x0;\n        if ((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }\n        if (realname == (char *)0x0) {\n          realname = name;\n        }\n        in_stack_fffffcbc = &subdired_obstack;\n        in_stack_fffffcb8 = (char *)0x1;\n        quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  );\n        free(pcVar12);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);\n        dired_pos = dired_pos + 2;\n      }\n      n = 0;\n      do {\n        *piVar10 = 0;\n        pdVar15 = readdir64(__dirp);\n        if (pdVar15 == (dirent64 *)0x0) {\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }\nLAB_00019bf0:\n        process_signals();\n      } while( true );\n    }\n    iVar11 = dirfd(__dirp);\n    if (iVar11 < 0) {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __xstat64(3,name,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    else {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    if (iVar11 < 0) {\n      pcVar12 = (char *)dcgettext(0,"cannot determine device and inode of %s",5);\n      file_failure(command_line_arg,pcVar12,name);\n      closedir(__dirp);\n    }\n    else {\n      dir_stat.st_dev._0_4_ = uVar14;\n      dir_stat.st_dev._4_4_ = uVar3;\n      dir_stat.st_ino._0_4_ = uVar4;\n      dir_stat.st_ino._4_4_ = uVar5;\n      pcVar12 = (char *)xmalloc(0x10);\n      *(undefined4 *)pcVar12 = uVar4;\n      *(undefined4 *)(pcVar12 + 4) = uVar5;\n      *(undefined4 *)(pcVar12 + 8) = uVar14;\n      *(undefined4 *)(pcVar12 + 0xc) = uVar3;\n      in_stack_fffffcb8 = pcVar12;\n      pcVar13 = (char *)hash_insert(active_dir_set,pcVar12);\n      if (pcVar13 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n      if (pcVar12 == pcVar13) {\n        pcVar12 = dev_ino_obstack.next_free;\n        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }\n        dev_ino_obstack.next_free = pcVar12 + 0x10;\n        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;\n        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;\n        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;\n        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(pcVar12);\n      pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name);\n      uVar14 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar14,pcVar12);\n      closedir(__dirp);\n      exit_status = 2;\n    }\n  }" { (if_statement "if (active_dir_set == (Hash_table *)0x0) {\nLAB_00019a8f:\n      clear_files();\n      puVar8 = PTR_stdout_0003afcc;\n      if ((recursive != false) || (print_dir_name != false)) {\n        if (print_dir::first == false) {\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }\n        print_dir::first = false;\n        if (dired != false) {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }\n        pcVar12 = (char *)0x0;\n        if ((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }\n        if (realname == (char *)0x0) {\n          realname = name;\n        }\n        in_stack_fffffcbc = &subdired_obstack;\n        in_stack_fffffcb8 = (char *)0x1;\n        quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  );\n        free(pcVar12);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);\n        dired_pos = dired_pos + 2;\n      }\n      n = 0;\n      do {\n        *piVar10 = 0;\n        pdVar15 = readdir64(__dirp);\n        if (pdVar15 == (dirent64 *)0x0) {\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }\nLAB_00019bf0:\n        process_signals();\n      } while( true );\n    }" if (parenthesized_expression "(active_dir_set == (Hash_table *)0x0)" ( (binary_expression "active_dir_set == (Hash_table *)0x0" identifier == (cast_expression "(Hash_table *)0x0" ( (type_descriptor "Hash_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00019a8f:\n      clear_files();\n      puVar8 = PTR_stdout_0003afcc;\n      if ((recursive != false) || (print_dir_name != false)) {\n        if (print_dir::first == false) {\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }\n        print_dir::first = false;\n        if (dired != false) {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }\n        pcVar12 = (char *)0x0;\n        if ((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }\n        if (realname == (char *)0x0) {\n          realname = name;\n        }\n        in_stack_fffffcbc = &subdired_obstack;\n        in_stack_fffffcb8 = (char *)0x1;\n        quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  );\n        free(pcVar12);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);\n        dired_pos = dired_pos + 2;\n      }\n      n = 0;\n      do {\n        *piVar10 = 0;\n        pdVar15 = readdir64(__dirp);\n        if (pdVar15 == (dirent64 *)0x0) {\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }\nLAB_00019bf0:\n        process_signals();\n      } while( true );\n    }" { (labeled_statement "LAB_00019a8f:\n      clear_files();" statement_identifier : (expression_statement "clear_files();" (call_expression "clear_files()" identifier (argument_list "()" ( ))) ;)) (expression_statement "puVar8 = PTR_stdout_0003afcc;" (assignment_expression "puVar8 = PTR_stdout_0003afcc" identifier = identifier) ;) (if_statement "if ((recursive != false) || (print_dir_name != false)) {\n        if (print_dir::first == false) {\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }\n        print_dir::first = false;\n        if (dired != false) {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }\n        pcVar12 = (char *)0x0;\n        if ((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }\n        if (realname == (char *)0x0) {\n          realname = name;\n        }\n        in_stack_fffffcbc = &subdired_obstack;\n        in_stack_fffffcb8 = (char *)0x1;\n        quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  );\n        free(pcVar12);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);\n        dired_pos = dired_pos + 2;\n      }" if (parenthesized_expression "((recursive != false) || (print_dir_name != false))" ( (binary_expression "(recursive != false) || (print_dir_name != false)" (parenthesized_expression "(recursive != false)" ( (binary_expression "recursive != false" identifier != false) )) || (parenthesized_expression "(print_dir_name != false)" ( (binary_expression "print_dir_name != false" identifier != false) ))) )) (compound_statement "{\n        if (print_dir::first == false) {\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }\n        print_dir::first = false;\n        if (dired != false) {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }\n        pcVar12 = (char *)0x0;\n        if ((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }\n        if (realname == (char *)0x0) {\n          realname = name;\n        }\n        in_stack_fffffcbc = &subdired_obstack;\n        in_stack_fffffcb8 = (char *)0x1;\n        quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  );\n        free(pcVar12);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);\n        dired_pos = dired_pos + 2;\n      }" { (if_statement "if (print_dir::first == false) {\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }" if (parenthesized_expression "(print_dir::first == false)" ( (binary_expression "print_dir::first == false" identifier (ERROR "::first" : : identifier) == false) )) (compound_statement "{\n          p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar12 = p_Var2->_IO_write_ptr;\n          if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }\n          dired_pos = dired_pos + 1;\n        }" { (expression_statement "p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc;" (assignment_expression "p_Var2 = *(_IO_FILE **)PTR_stdout_0003afcc" identifier = (pointer_expression "*(_IO_FILE **)PTR_stdout_0003afcc" * (cast_expression "(_IO_FILE **)PTR_stdout_0003afcc" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar12 = p_Var2->_IO_write_ptr;" (assignment_expression "pcVar12 = p_Var2->_IO_write_ptr" identifier = (field_expression "p_Var2->_IO_write_ptr" identifier -> field_identifier)) ;) (if_statement "if (pcVar12 < p_Var2->_IO_write_end) {\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }\n          else {\n            __overflow(p_Var2,10);\n          }" if (parenthesized_expression "(pcVar12 < p_Var2->_IO_write_end)" ( (binary_expression "pcVar12 < p_Var2->_IO_write_end" identifier < (field_expression "p_Var2->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n            p_Var2->_IO_write_ptr = pcVar12 + 1;\n            *pcVar12 = '\n';\n          }" { (expression_statement "p_Var2->_IO_write_ptr = pcVar12 + 1;" (assignment_expression "p_Var2->_IO_write_ptr = pcVar12 + 1" (field_expression "p_Var2->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar12 = '\n';" (assignment_expression "*pcVar12 = '\n'" (pointer_expression "*pcVar12" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n            __overflow(p_Var2,10);\n          }" else (compound_statement "{\n            __overflow(p_Var2,10);\n          }" { (expression_statement "__overflow(p_Var2,10);" (call_expression "__overflow(p_Var2,10)" identifier (argument_list "(p_Var2,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "dired_pos = dired_pos + 1;" (assignment_expression "dired_pos = dired_pos + 1" identifier = (binary_expression "dired_pos + 1" identifier + number_literal)) ;) })) (labeled_statement "print_dir::first = false;" statement_identifier : (ERROR ":" :) (expression_statement "first = false;" (assignment_expression "first = false" identifier = false) ;)) (if_statement "if (dired != false) {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }" if (parenthesized_expression "(dired != false)" ( (binary_expression "dired != false" identifier != false) )) (compound_statement "{\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);\n          dired_pos = dired_pos + 2;\n        }" { (expression_statement "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8);" (call_expression "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar8)" identifier (argument_list "(&DAT_0002d9aa,1,2,*(FILE **)puVar8)" ( (pointer_expression "&DAT_0002d9aa" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "dired_pos = dired_pos + 2;" (assignment_expression "dired_pos = dired_pos + 2" identifier = (binary_expression "dired_pos + 2" identifier + number_literal)) ;) })) (expression_statement "pcVar12 = (char *)0x0;" (assignment_expression "pcVar12 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)) {\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }" if (parenthesized_expression "((print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0))" ( (binary_expression "(print_hyperlink != false) &&\n           (pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)" (parenthesized_expression "(print_hyperlink != false)" ( (binary_expression "print_hyperlink != false" identifier != false) )) && (parenthesized_expression "(pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0)" ( (comma_expression "pcVar12 = canonicalize_filename_mode(name,CAN_MISSING), pcVar12 == (char *)0x0" (assignment_expression "pcVar12 = canonicalize_filename_mode(name,CAN_MISSING)" identifier = (call_expression "canonicalize_filename_mode(name,CAN_MISSING)" identifier (argument_list "(name,CAN_MISSING)" ( identifier , identifier )))) , (binary_expression "pcVar12 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);\n          file_failure(command_line_arg,pcVar13,name);\n        }" { (expression_statement "pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"error canonicalizing %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"error canonicalizing %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"error canonicalizing %s",5)" identifier (argument_list "(0,"error canonicalizing %s",5)" ( number_literal , (string_literal ""error canonicalizing %s"" " string_content ") , number_literal ))))) ;) (expression_statement "file_failure(command_line_arg,pcVar13,name);" (call_expression "file_failure(command_line_arg,pcVar13,name)" identifier (argument_list "(command_line_arg,pcVar13,name)" ( identifier , identifier , identifier ))) ;) })) (if_statement "if (realname == (char *)0x0) {\n          realname = name;\n        }" if (parenthesized_expression "(realname == (char *)0x0)" ( (binary_expression "realname == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          realname = name;\n        }" { (expression_statement "realname = name;" (assignment_expression "realname = name" identifier = identifier) ;) })) (expression_statement "in_stack_fffffcbc = &subdired_obstack;" (assignment_expression "in_stack_fffffcbc = &subdired_obstack" identifier = (pointer_expression "&subdired_obstack" & identifier)) ;) (expression_statement "in_stack_fffffcb8 = (char *)0x1;" (assignment_expression "in_stack_fffffcb8 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  );" (call_expression "quote_name(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  )" identifier (argument_list "(realname,dirname_quoting_options,-1,(bin_str *)0x0,true,&subdired_obstack,pcVar12\n                  )" ( identifier , identifier , number_literal , (cast_expression "(bin_str *)0x0" ( (type_descriptor "bin_str *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , true , (pointer_expression "&subdired_obstack" & identifier) , identifier ))) ;) (expression_statement "free(pcVar12);" (call_expression "free(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) (expression_statement "fwrite_unlocked(":\n",1,2,*(FILE **)puVar8);" (call_expression "fwrite_unlocked(":\n",1,2,*(FILE **)puVar8)" identifier (argument_list "(":\n",1,2,*(FILE **)puVar8)" ( (string_literal "":\n"" " string_content escape_sequence ") , number_literal , number_literal , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "dired_pos = dired_pos + 2;" (assignment_expression "dired_pos = dired_pos + 2" identifier = (binary_expression "dired_pos + 2" identifier + number_literal)) ;) })) (expression_statement "n = 0;" (assignment_expression "n = 0" identifier = number_literal) ;) (do_statement "do {\n        *piVar10 = 0;\n        pdVar15 = readdir64(__dirp);\n        if (pdVar15 == (dirent64 *)0x0) {\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }\nLAB_00019bf0:\n        process_signals();\n      } while( true );" do (compound_statement "{\n        *piVar10 = 0;\n        pdVar15 = readdir64(__dirp);\n        if (pdVar15 == (dirent64 *)0x0) {\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }\nLAB_00019bf0:\n        process_signals();\n      }" { (expression_statement "*piVar10 = 0;" (assignment_expression "*piVar10 = 0" (pointer_expression "*piVar10" * identifier) = number_literal) ;) (expression_statement "pdVar15 = readdir64(__dirp);" (assignment_expression "pdVar15 = readdir64(__dirp)" identifier = (call_expression "readdir64(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (pdVar15 == (dirent64 *)0x0) {\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }" if (parenthesized_expression "(pdVar15 == (dirent64 *)0x0)" ( (binary_expression "pdVar15 == (dirent64 *)0x0" identifier == (cast_expression "(dirent64 *)0x0" ( (type_descriptor "dirent64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (*piVar10 == 0) goto LAB_00019ca5;\n          in_stack_fffffcbc = (obstack *)0x5;\n          in_stack_fffffcb8 = "reading directory %s";\n          pcVar12 = (char *)dcgettext(0);\n          file_failure(command_line_arg,pcVar12,name);\n          if (*piVar10 != 0x4b) goto LAB_00019ca5;\n        }" { (if_statement "if (*piVar10 == 0) goto LAB_00019ca5;" if (parenthesized_expression "(*piVar10 == 0)" ( (binary_expression "*piVar10 == 0" (pointer_expression "*piVar10" * identifier) == number_literal) )) (goto_statement "goto LAB_00019ca5;" goto statement_identifier ;)) (expression_statement "in_stack_fffffcbc = (obstack *)0x5;" (assignment_expression "in_stack_fffffcbc = (obstack *)0x5" identifier = (cast_expression "(obstack *)0x5" ( (type_descriptor "obstack *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffcb8 = "reading directory %s";" (assignment_expression "in_stack_fffffcb8 = "reading directory %s"" identifier = (string_literal ""reading directory %s"" " string_content ")) ;) (expression_statement "pcVar12 = (char *)dcgettext(0);" (assignment_expression "pcVar12 = (char *)dcgettext(0)" identifier = (cast_expression "(char *)dcgettext(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "file_failure(command_line_arg,pcVar12,name);" (call_expression "file_failure(command_line_arg,pcVar12,name)" identifier (argument_list "(command_line_arg,pcVar12,name)" ( identifier , identifier , identifier ))) ;) (if_statement "if (*piVar10 != 0x4b) goto LAB_00019ca5;" if (parenthesized_expression "(*piVar10 != 0x4b)" ( (binary_expression "*piVar10 != 0x4b" (pointer_expression "*piVar10" * identifier) != number_literal) )) (goto_statement "goto LAB_00019ca5;" goto statement_identifier ;)) }) (else_clause "else {\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }" else (compound_statement "{\n          pcVar12 = pdVar15->d_name;\n          piVar7 = ignore_patterns;\n          if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }\n          type = unknown;\n          bVar9 = pdVar15->d_type - 1;\n          if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }\n          uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);\n          n = uVar17 + n;\n          if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }\n        }" { (expression_statement "pcVar12 = pdVar15->d_name;" (assignment_expression "pcVar12 = pdVar15->d_name" identifier = (field_expression "pdVar15->d_name" identifier -> field_identifier)) ;) (expression_statement "piVar7 = ignore_patterns;" (assignment_expression "piVar7 = ignore_patterns" identifier = identifier) ;) (if_statement "if (ignore_mode != DT_CHR) {\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(ignore_mode != DT_CHR)" ( (binary_expression "ignore_mode != DT_CHR" identifier != identifier) )) (compound_statement "{\n            if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }" { (if_statement "if (pdVar15->d_name[0] == '.') {\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }\n            else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" if (parenthesized_expression "(pdVar15->d_name[0] == '.')" ( (binary_expression "pdVar15->d_name[0] == '.'" (subscript_expression "pdVar15->d_name[0]" (field_expression "pdVar15->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) )) (compound_statement "{\n              if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;\n            }" { (if_statement "if ((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;" if (parenthesized_expression "((ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0'))" ( (binary_expression "(ignore_mode == DT_UNKNOWN) ||\n                 (pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')" (parenthesized_expression "(ignore_mode == DT_UNKNOWN)" ( (binary_expression "ignore_mode == DT_UNKNOWN" identifier == identifier) )) || (parenthesized_expression "(pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0')" ( (binary_expression "pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1] == '\0'" (subscript_expression "pdVar15->d_name[(pdVar15->d_name[1] == '.') + 1]" (field_expression "pdVar15->d_name" identifier -> field_identifier) [ (binary_expression "(pdVar15->d_name[1] == '.') + 1" (parenthesized_expression "(pdVar15->d_name[1] == '.')" ( (binary_expression "pdVar15->d_name[1] == '.'" (subscript_expression "pdVar15->d_name[1]" (field_expression "pdVar15->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) )) + number_literal) ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00019bf0;" goto statement_identifier ;)) }) (else_clause "else {\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" else (compound_statement "{\n              piVar6 = hide_patterns;\n              if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" { (expression_statement "piVar6 = hide_patterns;" (assignment_expression "piVar6 = hide_patterns" identifier = identifier) ;) (if_statement "if (ignore_mode == DT_UNKNOWN) {\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }" if (parenthesized_expression "(ignore_mode == DT_UNKNOWN)" ( (binary_expression "ignore_mode == DT_UNKNOWN" identifier == identifier) )) (compound_statement "{\n                for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }\n              }" { (for_statement "for (; piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0;\n                    piVar6 = piVar6->next) {\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }" for ( ; (comma_expression "piVar7 = ignore_patterns, piVar6 != (ignore_pattern *)0x0" (assignment_expression "piVar7 = ignore_patterns" identifier = identifier) , (binary_expression "piVar6 != (ignore_pattern *)0x0" identifier != (cast_expression "(ignore_pattern *)0x0" ( (type_descriptor "ignore_pattern *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "piVar6 = piVar6->next" identifier = (field_expression "piVar6->next" identifier -> field_identifier)) ) (compound_statement "{\n                  in_stack_fffffcbc = (obstack *)0x4;\n                  in_stack_fffffcb8 = pcVar12;\n                  iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);\n                  if (iVar11 == 0) goto LAB_00019bf0;\n                }" { (expression_statement "in_stack_fffffcbc = (obstack *)0x4;" (assignment_expression "in_stack_fffffcbc = (obstack *)0x4" identifier = (cast_expression "(obstack *)0x4" ( (type_descriptor "obstack *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffcb8 = pcVar12;" (assignment_expression "in_stack_fffffcb8 = pcVar12" identifier = identifier) ;) (expression_statement "iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4);" (assignment_expression "iVar11 = gnu_fnmatch(piVar6->pattern,pcVar12,4)" identifier = (call_expression "gnu_fnmatch(piVar6->pattern,pcVar12,4)" identifier (argument_list "(piVar6->pattern,pcVar12,4)" ( (field_expression "piVar6->pattern" identifier -> field_identifier) , identifier , number_literal )))) ;) (if_statement "if (iVar11 == 0) goto LAB_00019bf0;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019bf0;" goto statement_identifier ;)) })) })) }))) })) (for_statement "for (; piVar7 != (ignore_pattern *)0x0; piVar7 = piVar7->next) {\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }" for ( ; (binary_expression "piVar7 != (ignore_pattern *)0x0" identifier != (cast_expression "(ignore_pattern *)0x0" ( (type_descriptor "ignore_pattern *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "piVar7 = piVar7->next" identifier = (field_expression "piVar7->next" identifier -> field_identifier)) ) (compound_statement "{\n            in_stack_fffffcbc = (obstack *)0x4;\n            in_stack_fffffcb8 = pcVar12;\n            iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);\n            if (iVar11 == 0) goto LAB_00019bf0;\n          }" { (expression_statement "in_stack_fffffcbc = (obstack *)0x4;" (assignment_expression "in_stack_fffffcbc = (obstack *)0x4" identifier = (cast_expression "(obstack *)0x4" ( (type_descriptor "obstack *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_fffffcb8 = pcVar12;" (assignment_expression "in_stack_fffffcb8 = pcVar12" identifier = identifier) ;) (expression_statement "iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4);" (assignment_expression "iVar11 = gnu_fnmatch(piVar7->pattern,pcVar12,4)" identifier = (call_expression "gnu_fnmatch(piVar7->pattern,pcVar12,4)" identifier (argument_list "(piVar7->pattern,pcVar12,4)" ( (field_expression "piVar7->pattern" identifier -> field_identifier) , identifier , number_literal )))) ;) (if_statement "if (iVar11 == 0) goto LAB_00019bf0;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019bf0;" goto statement_identifier ;)) })) (expression_statement "type = unknown;" (assignment_expression "type = unknown" identifier = identifier) ;) (expression_statement "bVar9 = pdVar15->d_type - 1;" (assignment_expression "bVar9 = pdVar15->d_type - 1" identifier = (binary_expression "pdVar15->d_type - 1" (field_expression "pdVar15->d_type" identifier -> field_identifier) - number_literal)) ;) (if_statement "if (bVar9 < 0xe) {\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }" if (parenthesized_expression "(bVar9 < 0xe)" ( (binary_expression "bVar9 < 0xe" identifier < number_literal) )) (compound_statement "{\n            type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);\n          }" { (expression_statement "type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4);" (assignment_expression "type = *(filetype *)(CSWTCH_706 + (uint)bVar9 * 4)" identifier = (pointer_expression "*(filetype *)(CSWTCH_706 + (uint)bVar9 * 4)" * (cast_expression "(filetype *)(CSWTCH_706 + (uint)bVar9 * 4)" ( (type_descriptor "filetype *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CSWTCH_706 + (uint)bVar9 * 4)" ( (binary_expression "CSWTCH_706 + (uint)bVar9 * 4" identifier + (binary_expression "(uint)bVar9 * 4" (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ))))) ;) })) (expression_statement "uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc);" (assignment_expression "uVar17 = gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc)" identifier = (call_expression "gobble_file(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc)" identifier (argument_list "(pcVar12,type,CONCAT44(in_stack_fffffcb8,name),false,\n                               (char *)in_stack_fffffcbc)" ( identifier , identifier , (call_expression "CONCAT44(in_stack_fffffcb8,name)" identifier (argument_list "(in_stack_fffffcb8,name)" ( identifier , identifier ))) , false , (cast_expression "(char *)in_stack_fffffcbc" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "n = uVar17 + n;" (assignment_expression "n = uVar17 + n" identifier = (binary_expression "uVar17 + n" identifier + identifier)) ;) (if_statement "if ((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)) {\n            sort_files();\n            print_current_files();\n            clear_files();\n          }" if (parenthesized_expression "((((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false))" ( (binary_expression "(((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              ) && (recursive == false)" (parenthesized_expression "(((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)\n              )" ( (binary_expression "((format == one_per_line) && (sort_type == sort_none)) && (print_block_size == false)" (parenthesized_expression "((format == one_per_line) && (sort_type == sort_none))" ( (binary_expression "(format == one_per_line) && (sort_type == sort_none)" (parenthesized_expression "(format == one_per_line)" ( (binary_expression "format == one_per_line" identifier == identifier) )) && (parenthesized_expression "(sort_type == sort_none)" ( (binary_expression "sort_type == sort_none" identifier == identifier) ))) )) && (parenthesized_expression "(print_block_size == false)" ( (binary_expression "print_block_size == false" identifier == false) ))) )) && (parenthesized_expression "(recursive == false)" ( (binary_expression "recursive == false" identifier == false) ))) )) (compound_statement "{\n            sort_files();\n            print_current_files();\n            clear_files();\n          }" { (expression_statement "sort_files();" (call_expression "sort_files()" identifier (argument_list "()" ( ))) ;) (expression_statement "print_current_files();" (call_expression "print_current_files()" identifier (argument_list "()" ( ))) ;) (expression_statement "clear_files();" (call_expression "clear_files()" identifier (argument_list "()" ( ))) ;) })) }))) (labeled_statement "LAB_00019bf0:\n        process_signals();" statement_identifier : (expression_statement "process_signals();" (call_expression "process_signals()" identifier (argument_list "()" ( ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar11 = dirfd(__dirp);" (assignment_expression "iVar11 = dirfd(__dirp)" identifier = (call_expression "dirfd(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar11 < 0) {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __xstat64(3,name,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }\n    else {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __xstat64(3,name,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }" { (expression_statement "in_stack_fffffcbc = (obstack *)&dir_stat;" (assignment_expression "in_stack_fffffcbc = (obstack *)&dir_stat" identifier = (cast_expression "(obstack *)&dir_stat" ( (type_descriptor "obstack *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&dir_stat" & identifier))) ;) (expression_statement "iVar11 = __xstat64(3,name,(stat64 *)in_stack_fffffcbc);" (assignment_expression "iVar11 = __xstat64(3,name,(stat64 *)in_stack_fffffcbc)" identifier = (call_expression "__xstat64(3,name,(stat64 *)in_stack_fffffcbc)" identifier (argument_list "(3,name,(stat64 *)in_stack_fffffcbc)" ( number_literal , identifier , (cast_expression "(stat64 *)in_stack_fffffcbc" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "uVar14 = (undefined4)dir_stat.st_dev;" (assignment_expression "uVar14 = (undefined4)dir_stat.st_dev" identifier = (cast_expression "(undefined4)dir_stat.st_dev" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "dir_stat.st_dev" identifier . field_identifier))) ;) (expression_statement "uVar3 = dir_stat.st_dev._4_4_;" (assignment_expression "uVar3 = dir_stat.st_dev._4_4_" identifier = (field_expression "dir_stat.st_dev._4_4_" (field_expression "dir_stat.st_dev" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uVar4 = (undefined4)dir_stat.st_ino;" (assignment_expression "uVar4 = (undefined4)dir_stat.st_ino" identifier = (cast_expression "(undefined4)dir_stat.st_ino" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "dir_stat.st_ino" identifier . field_identifier))) ;) (expression_statement "uVar5 = dir_stat.st_ino._4_4_;" (assignment_expression "uVar5 = dir_stat.st_ino._4_4_" identifier = (field_expression "dir_stat.st_ino._4_4_" (field_expression "dir_stat.st_ino" identifier . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }" else (compound_statement "{\n      in_stack_fffffcbc = (obstack *)&dir_stat;\n      iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc);\n      uVar14 = (undefined4)dir_stat.st_dev;\n      uVar3 = dir_stat.st_dev._4_4_;\n      uVar4 = (undefined4)dir_stat.st_ino;\n      uVar5 = dir_stat.st_ino._4_4_;\n    }" { (expression_statement "in_stack_fffffcbc = (obstack *)&dir_stat;" (assignment_expression "in_stack_fffffcbc = (obstack *)&dir_stat" identifier = (cast_expression "(obstack *)&dir_stat" ( (type_descriptor "obstack *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&dir_stat" & identifier))) ;) (expression_statement "iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc);" (assignment_expression "iVar11 = __fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc)" identifier = (call_expression "__fxstat64(3,iVar11,(stat64 *)in_stack_fffffcbc)" identifier (argument_list "(3,iVar11,(stat64 *)in_stack_fffffcbc)" ( number_literal , identifier , (cast_expression "(stat64 *)in_stack_fffffcbc" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "uVar14 = (undefined4)dir_stat.st_dev;" (assignment_expression "uVar14 = (undefined4)dir_stat.st_dev" identifier = (cast_expression "(undefined4)dir_stat.st_dev" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "dir_stat.st_dev" identifier . field_identifier))) ;) (expression_statement "uVar3 = dir_stat.st_dev._4_4_;" (assignment_expression "uVar3 = dir_stat.st_dev._4_4_" identifier = (field_expression "dir_stat.st_dev._4_4_" (field_expression "dir_stat.st_dev" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uVar4 = (undefined4)dir_stat.st_ino;" (assignment_expression "uVar4 = (undefined4)dir_stat.st_ino" identifier = (cast_expression "(undefined4)dir_stat.st_ino" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "dir_stat.st_ino" identifier . field_identifier))) ;) (expression_statement "uVar5 = dir_stat.st_ino._4_4_;" (assignment_expression "uVar5 = dir_stat.st_ino._4_4_" identifier = (field_expression "dir_stat.st_ino._4_4_" (field_expression "dir_stat.st_ino" identifier . field_identifier) . field_identifier)) ;) }))) (if_statement "if (iVar11 < 0) {\n      pcVar12 = (char *)dcgettext(0,"cannot determine device and inode of %s",5);\n      file_failure(command_line_arg,pcVar12,name);\n      closedir(__dirp);\n    }\n    else {\n      dir_stat.st_dev._0_4_ = uVar14;\n      dir_stat.st_dev._4_4_ = uVar3;\n      dir_stat.st_ino._0_4_ = uVar4;\n      dir_stat.st_ino._4_4_ = uVar5;\n      pcVar12 = (char *)xmalloc(0x10);\n      *(undefined4 *)pcVar12 = uVar4;\n      *(undefined4 *)(pcVar12 + 4) = uVar5;\n      *(undefined4 *)(pcVar12 + 8) = uVar14;\n      *(undefined4 *)(pcVar12 + 0xc) = uVar3;\n      in_stack_fffffcb8 = pcVar12;\n      pcVar13 = (char *)hash_insert(active_dir_set,pcVar12);\n      if (pcVar13 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n      if (pcVar12 == pcVar13) {\n        pcVar12 = dev_ino_obstack.next_free;\n        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }\n        dev_ino_obstack.next_free = pcVar12 + 0x10;\n        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;\n        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;\n        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;\n        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(pcVar12);\n      pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name);\n      uVar14 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar14,pcVar12);\n      closedir(__dirp);\n      exit_status = 2;\n    }" if (parenthesized_expression "(iVar11 < 0)" ( (binary_expression "iVar11 < 0" identifier < number_literal) )) (compound_statement "{\n      pcVar12 = (char *)dcgettext(0,"cannot determine device and inode of %s",5);\n      file_failure(command_line_arg,pcVar12,name);\n      closedir(__dirp);\n    }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"cannot determine device and inode of %s",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"cannot determine device and inode of %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"cannot determine device and inode of %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"cannot determine device and inode of %s",5)" identifier (argument_list "(0,"cannot determine device and inode of %s",5)" ( number_literal , (string_literal ""cannot determine device and inode of %s"" " string_content ") , number_literal ))))) ;) (expression_statement "file_failure(command_line_arg,pcVar12,name);" (call_expression "file_failure(command_line_arg,pcVar12,name)" identifier (argument_list "(command_line_arg,pcVar12,name)" ( identifier , identifier , identifier ))) ;) (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier ))) ;) }) (else_clause "else {\n      dir_stat.st_dev._0_4_ = uVar14;\n      dir_stat.st_dev._4_4_ = uVar3;\n      dir_stat.st_ino._0_4_ = uVar4;\n      dir_stat.st_ino._4_4_ = uVar5;\n      pcVar12 = (char *)xmalloc(0x10);\n      *(undefined4 *)pcVar12 = uVar4;\n      *(undefined4 *)(pcVar12 + 4) = uVar5;\n      *(undefined4 *)(pcVar12 + 8) = uVar14;\n      *(undefined4 *)(pcVar12 + 0xc) = uVar3;\n      in_stack_fffffcb8 = pcVar12;\n      pcVar13 = (char *)hash_insert(active_dir_set,pcVar12);\n      if (pcVar13 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n      if (pcVar12 == pcVar13) {\n        pcVar12 = dev_ino_obstack.next_free;\n        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }\n        dev_ino_obstack.next_free = pcVar12 + 0x10;\n        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;\n        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;\n        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;\n        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(pcVar12);\n      pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name);\n      uVar14 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar14,pcVar12);\n      closedir(__dirp);\n      exit_status = 2;\n    }" else (compound_statement "{\n      dir_stat.st_dev._0_4_ = uVar14;\n      dir_stat.st_dev._4_4_ = uVar3;\n      dir_stat.st_ino._0_4_ = uVar4;\n      dir_stat.st_ino._4_4_ = uVar5;\n      pcVar12 = (char *)xmalloc(0x10);\n      *(undefined4 *)pcVar12 = uVar4;\n      *(undefined4 *)(pcVar12 + 4) = uVar5;\n      *(undefined4 *)(pcVar12 + 8) = uVar14;\n      *(undefined4 *)(pcVar12 + 0xc) = uVar3;\n      in_stack_fffffcb8 = pcVar12;\n      pcVar13 = (char *)hash_insert(active_dir_set,pcVar12);\n      if (pcVar13 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }\n      if (pcVar12 == pcVar13) {\n        pcVar12 = dev_ino_obstack.next_free;\n        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }\n        dev_ino_obstack.next_free = pcVar12 + 0x10;\n        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;\n        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;\n        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;\n        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(pcVar12);\n      pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name);\n      uVar14 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar14,pcVar12);\n      closedir(__dirp);\n      exit_status = 2;\n    }" { (expression_statement "dir_stat.st_dev._0_4_ = uVar14;" (assignment_expression "dir_stat.st_dev._0_4_ = uVar14" (field_expression "dir_stat.st_dev._0_4_" (field_expression "dir_stat.st_dev" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "dir_stat.st_dev._4_4_ = uVar3;" (assignment_expression "dir_stat.st_dev._4_4_ = uVar3" (field_expression "dir_stat.st_dev._4_4_" (field_expression "dir_stat.st_dev" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "dir_stat.st_ino._0_4_ = uVar4;" (assignment_expression "dir_stat.st_ino._0_4_ = uVar4" (field_expression "dir_stat.st_ino._0_4_" (field_expression "dir_stat.st_ino" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "dir_stat.st_ino._4_4_ = uVar5;" (assignment_expression "dir_stat.st_ino._4_4_ = uVar5" (field_expression "dir_stat.st_ino._4_4_" (field_expression "dir_stat.st_ino" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "pcVar12 = (char *)xmalloc(0x10);" (assignment_expression "pcVar12 = (char *)xmalloc(0x10)" identifier = (cast_expression "(char *)xmalloc(0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "*(undefined4 *)pcVar12 = uVar4;" (assignment_expression "*(undefined4 *)pcVar12 = uVar4" (pointer_expression "*(undefined4 *)pcVar12" * (cast_expression "(undefined4 *)pcVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar12 + 4) = uVar5;" (assignment_expression "*(undefined4 *)(pcVar12 + 4) = uVar5" (pointer_expression "*(undefined4 *)(pcVar12 + 4)" * (cast_expression "(undefined4 *)(pcVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 4)" ( (binary_expression "pcVar12 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar12 + 8) = uVar14;" (assignment_expression "*(undefined4 *)(pcVar12 + 8) = uVar14" (pointer_expression "*(undefined4 *)(pcVar12 + 8)" * (cast_expression "(undefined4 *)(pcVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 8)" ( (binary_expression "pcVar12 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar12 + 0xc) = uVar3;" (assignment_expression "*(undefined4 *)(pcVar12 + 0xc) = uVar3" (pointer_expression "*(undefined4 *)(pcVar12 + 0xc)" * (cast_expression "(undefined4 *)(pcVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0xc)" ( (binary_expression "pcVar12 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "in_stack_fffffcb8 = pcVar12;" (assignment_expression "in_stack_fffffcb8 = pcVar12" identifier = identifier) ;) (expression_statement "pcVar13 = (char *)hash_insert(active_dir_set,pcVar12);" (assignment_expression "pcVar13 = (char *)hash_insert(active_dir_set,pcVar12)" identifier = (cast_expression "(char *)hash_insert(active_dir_set,pcVar12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "hash_insert(active_dir_set,pcVar12)" identifier (argument_list "(active_dir_set,pcVar12)" ( identifier , identifier ))))) ;) (if_statement "if (pcVar13 == (char *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }" if (parenthesized_expression "(pcVar13 == (char *)0x0)" ( (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        xalloc_die();\n      }" { comment (expression_statement "xalloc_die();" (call_expression "xalloc_die()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (pcVar12 == pcVar13) {\n        pcVar12 = dev_ino_obstack.next_free;\n        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }\n        dev_ino_obstack.next_free = pcVar12 + 0x10;\n        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;\n        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;\n        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;\n        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }" if (parenthesized_expression "(pcVar12 == pcVar13)" ( (binary_expression "pcVar12 == pcVar13" identifier == identifier) )) (compound_statement "{\n        pcVar12 = dev_ino_obstack.next_free;\n        if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }\n        dev_ino_obstack.next_free = pcVar12 + 0x10;\n        *(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;\n        *(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;\n        *(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;\n        *(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }" { (expression_statement "pcVar12 = dev_ino_obstack.next_free;" (assignment_expression "pcVar12 = dev_ino_obstack.next_free" identifier = (field_expression "dev_ino_obstack.next_free" identifier . field_identifier)) ;) (if_statement "if ((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }" if (parenthesized_expression "((uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10)" ( (binary_expression "(uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10" (call_expression "(uint)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free)" ( (binary_expression "(int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free" (cast_expression "(int)dev_ino_obstack.chunk_limit" ( (type_descriptor "int" primitive_type) ) (field_expression "dev_ino_obstack.chunk_limit" identifier . field_identifier)) - (cast_expression "(int)dev_ino_obstack.next_free" ( (type_descriptor "int" primitive_type) ) (field_expression "dev_ino_obstack.next_free" identifier . field_identifier))) ))) < number_literal) )) (compound_statement "{\n          in_stack_fffffcb8 = (char *)0x10;\n          _obstack_newchunk(&dev_ino_obstack,0x10);\n          pcVar12 = dev_ino_obstack.next_free;\n        }" { (expression_statement "in_stack_fffffcb8 = (char *)0x10;" (assignment_expression "in_stack_fffffcb8 = (char *)0x10" identifier = (cast_expression "(char *)0x10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "_obstack_newchunk(&dev_ino_obstack,0x10);" (call_expression "_obstack_newchunk(&dev_ino_obstack,0x10)" identifier (argument_list "(&dev_ino_obstack,0x10)" ( (pointer_expression "&dev_ino_obstack" & identifier) , number_literal ))) ;) (expression_statement "pcVar12 = dev_ino_obstack.next_free;" (assignment_expression "pcVar12 = dev_ino_obstack.next_free" identifier = (field_expression "dev_ino_obstack.next_free" identifier . field_identifier)) ;) })) (expression_statement "dev_ino_obstack.next_free = pcVar12 + 0x10;" (assignment_expression "dev_ino_obstack.next_free = pcVar12 + 0x10" (field_expression "dev_ino_obstack.next_free" identifier . field_identifier) = (binary_expression "pcVar12 + 0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev;" (assignment_expression "*(undefined4 *)(pcVar12 + 8) = (undefined4)dir_stat.st_dev" (pointer_expression "*(undefined4 *)(pcVar12 + 8)" * (cast_expression "(undefined4 *)(pcVar12 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 8)" ( (binary_expression "pcVar12 + 8" identifier + number_literal) )))) = (cast_expression "(undefined4)dir_stat.st_dev" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "dir_stat.st_dev" identifier . field_identifier))) ;) (expression_statement "*(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_;" (assignment_expression "*(undefined4 *)(pcVar12 + 0xc) = dir_stat.st_dev._4_4_" (pointer_expression "*(undefined4 *)(pcVar12 + 0xc)" * (cast_expression "(undefined4 *)(pcVar12 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0xc)" ( (binary_expression "pcVar12 + 0xc" identifier + number_literal) )))) = (field_expression "dir_stat.st_dev._4_4_" (field_expression "dir_stat.st_dev" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino;" (assignment_expression "*(undefined4 *)pcVar12 = (undefined4)dir_stat.st_ino" (pointer_expression "*(undefined4 *)pcVar12" * (cast_expression "(undefined4 *)pcVar12" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(undefined4)dir_stat.st_ino" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "dir_stat.st_ino" identifier . field_identifier))) ;) (expression_statement "*(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_;" (assignment_expression "*(undefined4 *)(pcVar12 + 4) = dir_stat.st_ino._4_4_" (pointer_expression "*(undefined4 *)(pcVar12 + 4)" * (cast_expression "(undefined4 *)(pcVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 4)" ( (binary_expression "pcVar12 + 4" identifier + number_literal) )))) = (field_expression "dir_stat.st_ino._4_4_" (field_expression "dir_stat.st_ino" identifier . field_identifier) . field_identifier)) ;) (goto_statement "goto LAB_00019a8f;" goto statement_identifier ;) })) (expression_statement "free(pcVar12);" (call_expression "free(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) (expression_statement "pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name);" (assignment_expression "pcVar12 = quotearg_n_style_colon(0,shell_escape_quoting_style,name)" identifier = (call_expression "quotearg_n_style_colon(0,shell_escape_quoting_style,name)" identifier (argument_list "(0,shell_escape_quoting_style,name)" ( number_literal , identifier , identifier )))) ;) (expression_statement "uVar14 = dcgettext(0,"%s: not listing already-listed directory",5);" (assignment_expression "uVar14 = dcgettext(0,"%s: not listing already-listed directory",5)" identifier = (call_expression "dcgettext(0,"%s: not listing already-listed directory",5)" identifier (argument_list "(0,"%s: not listing already-listed directory",5)" ( number_literal , (string_literal ""%s: not listing already-listed directory"" " string_content ") , number_literal )))) ;) (expression_statement "error(0,0,uVar14,pcVar12);" (call_expression "error(0,0,uVar14,pcVar12)" identifier (argument_list "(0,0,uVar14,pcVar12)" ( number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier ))) ;) (expression_statement "exit_status = 2;" (assignment_expression "exit_status = 2" identifier = number_literal) ;) }))) }))) (goto_statement "goto LAB_00019a02;" goto statement_identifier ;) (labeled_statement "LAB_00019ca5:\n  iVar11 = closedir(__dirp);" statement_identifier : (expression_statement "iVar11 = closedir(__dirp);" (assignment_expression "iVar11 = closedir(__dirp)" identifier = (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;)) (if_statement "if (iVar11 != 0) {\n    pcVar12 = (char *)dcgettext(0,"closing directory %s",5);\n    file_failure(command_line_arg,pcVar12,name);\n  }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar12 = (char *)dcgettext(0,"closing directory %s",5);\n    file_failure(command_line_arg,pcVar12,name);\n  }" { (expression_statement "pcVar12 = (char *)dcgettext(0,"closing directory %s",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"closing directory %s",5)" identifier = (cast_expression "(char *)dcgettext(0,"closing directory %s",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"closing directory %s",5)" identifier (argument_list "(0,"closing directory %s",5)" ( number_literal , (string_literal ""closing directory %s"" " string_content ") , number_literal ))))) ;) (expression_statement "file_failure(command_line_arg,pcVar12,name);" (call_expression "file_failure(command_line_arg,pcVar12,name)" identifier (argument_list "(command_line_arg,pcVar12,name)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "sort_files();" (call_expression "sort_files()" identifier (argument_list "()" ( ))) ;) (if_statement "if (recursive != false) {\n    extract_dirs_from_files(name,false);\n  }" if (parenthesized_expression "(recursive != false)" ( (binary_expression "recursive != false" identifier != false) )) (compound_statement "{\n    extract_dirs_from_files(name,false);\n  }" { (expression_statement "extract_dirs_from_files(name,false);" (call_expression "extract_dirs_from_files(name,false)" identifier (argument_list "(name,false)" ( identifier , false ))) ;) })) (expression_statement "puVar8 = PTR_stdout_0003afcc;" (assignment_expression "puVar8 = PTR_stdout_0003afcc" identifier = identifier) ;) (if_statement "if ((format == long_format) || (print_block_size != false)) {\n    if (dired != false) {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      dired_pos = dired_pos + 2;\n    }\n    pcVar12 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar12,*(FILE **)puVar8);\n    sVar16 = strlen(pcVar12);\n    dired_pos = dired_pos + sVar16;\n    p_Var2 = *(_IO_FILE **)puVar8;\n    pcVar12 = p_Var2->_IO_write_ptr;\n    if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = ' ';\n    }\n    else {\n      __overflow(p_Var2,0x20);\n    }\n    dired_pos = dired_pos + 1;\n    pcVar12 = human_readable(n,buf,human_output_opts,0x200,\n                             CONCAT44(output_block_size._4_4_,(undefined4)output_block_size));\n    fputs_unlocked(pcVar12,*(FILE **)puVar8);\n    sVar16 = strlen(pcVar12);\n    dired_pos = dired_pos + sVar16;\n    p_Var2 = *(_IO_FILE **)puVar8;\n    pcVar12 = p_Var2->_IO_write_ptr;\n    if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = '\n';\n    }\n    else {\n      __overflow(p_Var2,10);\n    }\n    dired_pos = dired_pos + 1;\n  }" if (parenthesized_expression "((format == long_format) || (print_block_size != false))" ( (binary_expression "(format == long_format) || (print_block_size != false)" (parenthesized_expression "(format == long_format)" ( (binary_expression "format == long_format" identifier == identifier) )) || (parenthesized_expression "(print_block_size != false)" ( (binary_expression "print_block_size != false" identifier != false) ))) )) (compound_statement "{\n    if (dired != false) {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      dired_pos = dired_pos + 2;\n    }\n    pcVar12 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar12,*(FILE **)puVar8);\n    sVar16 = strlen(pcVar12);\n    dired_pos = dired_pos + sVar16;\n    p_Var2 = *(_IO_FILE **)puVar8;\n    pcVar12 = p_Var2->_IO_write_ptr;\n    if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = ' ';\n    }\n    else {\n      __overflow(p_Var2,0x20);\n    }\n    dired_pos = dired_pos + 1;\n    pcVar12 = human_readable(n,buf,human_output_opts,0x200,\n                             CONCAT44(output_block_size._4_4_,(undefined4)output_block_size));\n    fputs_unlocked(pcVar12,*(FILE **)puVar8);\n    sVar16 = strlen(pcVar12);\n    dired_pos = dired_pos + sVar16;\n    p_Var2 = *(_IO_FILE **)puVar8;\n    pcVar12 = p_Var2->_IO_write_ptr;\n    if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = '\n';\n    }\n    else {\n      __overflow(p_Var2,10);\n    }\n    dired_pos = dired_pos + 1;\n  }" { (if_statement "if (dired != false) {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      dired_pos = dired_pos + 2;\n    }" if (parenthesized_expression "(dired != false)" ( (binary_expression "dired != false" identifier != false) )) (compound_statement "{\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      dired_pos = dired_pos + 2;\n    }" { (expression_statement "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);" (call_expression "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc)" identifier (argument_list "(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc)" ( (pointer_expression "&DAT_0002d9aa" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)PTR_stdout_0003afcc" * (cast_expression "(FILE **)PTR_stdout_0003afcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "dired_pos = dired_pos + 2;" (assignment_expression "dired_pos = dired_pos + 2" identifier = (binary_expression "dired_pos + 2" identifier + number_literal)) ;) })) (expression_statement "pcVar12 = (char *)dcgettext(0,"total",5);" (assignment_expression "pcVar12 = (char *)dcgettext(0,"total",5)" identifier = (cast_expression "(char *)dcgettext(0,"total",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"total",5)" identifier (argument_list "(0,"total",5)" ( number_literal , (string_literal ""total"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs_unlocked(pcVar12,*(FILE **)puVar8);" (call_expression "fputs_unlocked(pcVar12,*(FILE **)puVar8)" identifier (argument_list "(pcVar12,*(FILE **)puVar8)" ( identifier , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "sVar16 = strlen(pcVar12);" (assignment_expression "sVar16 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "dired_pos = dired_pos + sVar16;" (assignment_expression "dired_pos = dired_pos + sVar16" identifier = (binary_expression "dired_pos + sVar16" identifier + identifier)) ;) (expression_statement "p_Var2 = *(_IO_FILE **)puVar8;" (assignment_expression "p_Var2 = *(_IO_FILE **)puVar8" identifier = (pointer_expression "*(_IO_FILE **)puVar8" * (cast_expression "(_IO_FILE **)puVar8" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar12 = p_Var2->_IO_write_ptr;" (assignment_expression "pcVar12 = p_Var2->_IO_write_ptr" identifier = (field_expression "p_Var2->_IO_write_ptr" identifier -> field_identifier)) ;) (if_statement "if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = ' ';\n    }\n    else {\n      __overflow(p_Var2,0x20);\n    }" if (parenthesized_expression "(pcVar12 < p_Var2->_IO_write_end)" ( (binary_expression "pcVar12 < p_Var2->_IO_write_end" identifier < (field_expression "p_Var2->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = ' ';\n    }" { (expression_statement "p_Var2->_IO_write_ptr = pcVar12 + 1;" (assignment_expression "p_Var2->_IO_write_ptr = pcVar12 + 1" (field_expression "p_Var2->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar12 = ' ';" (assignment_expression "*pcVar12 = ' '" (pointer_expression "*pcVar12" * identifier) = (char_literal "' '" ' character ')) ;) }) (else_clause "else {\n      __overflow(p_Var2,0x20);\n    }" else (compound_statement "{\n      __overflow(p_Var2,0x20);\n    }" { (expression_statement "__overflow(p_Var2,0x20);" (call_expression "__overflow(p_Var2,0x20)" identifier (argument_list "(p_Var2,0x20)" ( identifier , number_literal ))) ;) }))) (expression_statement "dired_pos = dired_pos + 1;" (assignment_expression "dired_pos = dired_pos + 1" identifier = (binary_expression "dired_pos + 1" identifier + number_literal)) ;) (expression_statement "pcVar12 = human_readable(n,buf,human_output_opts,0x200,\n                             CONCAT44(output_block_size._4_4_,(undefined4)output_block_size));" (assignment_expression "pcVar12 = human_readable(n,buf,human_output_opts,0x200,\n                             CONCAT44(output_block_size._4_4_,(undefined4)output_block_size))" identifier = (call_expression "human_readable(n,buf,human_output_opts,0x200,\n                             CONCAT44(output_block_size._4_4_,(undefined4)output_block_size))" identifier (argument_list "(n,buf,human_output_opts,0x200,\n                             CONCAT44(output_block_size._4_4_,(undefined4)output_block_size))" ( identifier , identifier , identifier , number_literal , (call_expression "CONCAT44(output_block_size._4_4_,(undefined4)output_block_size)" identifier (argument_list "(output_block_size._4_4_,(undefined4)output_block_size)" ( (field_expression "output_block_size._4_4_" identifier . field_identifier) , (cast_expression "(undefined4)output_block_size" ( (type_descriptor "undefined4" type_identifier) ) identifier) ))) )))) ;) (expression_statement "fputs_unlocked(pcVar12,*(FILE **)puVar8);" (call_expression "fputs_unlocked(pcVar12,*(FILE **)puVar8)" identifier (argument_list "(pcVar12,*(FILE **)puVar8)" ( identifier , (pointer_expression "*(FILE **)puVar8" * (cast_expression "(FILE **)puVar8" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "sVar16 = strlen(pcVar12);" (assignment_expression "sVar16 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "dired_pos = dired_pos + sVar16;" (assignment_expression "dired_pos = dired_pos + sVar16" identifier = (binary_expression "dired_pos + sVar16" identifier + identifier)) ;) (expression_statement "p_Var2 = *(_IO_FILE **)puVar8;" (assignment_expression "p_Var2 = *(_IO_FILE **)puVar8" identifier = (pointer_expression "*(_IO_FILE **)puVar8" * (cast_expression "(_IO_FILE **)puVar8" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar12 = p_Var2->_IO_write_ptr;" (assignment_expression "pcVar12 = p_Var2->_IO_write_ptr" identifier = (field_expression "p_Var2->_IO_write_ptr" identifier -> field_identifier)) ;) (if_statement "if (pcVar12 < p_Var2->_IO_write_end) {\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = '\n';\n    }\n    else {\n      __overflow(p_Var2,10);\n    }" if (parenthesized_expression "(pcVar12 < p_Var2->_IO_write_end)" ( (binary_expression "pcVar12 < p_Var2->_IO_write_end" identifier < (field_expression "p_Var2->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n      p_Var2->_IO_write_ptr = pcVar12 + 1;\n      *pcVar12 = '\n';\n    }" { (expression_statement "p_Var2->_IO_write_ptr = pcVar12 + 1;" (assignment_expression "p_Var2->_IO_write_ptr = pcVar12 + 1" (field_expression "p_Var2->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar12 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar12 = '\n';" (assignment_expression "*pcVar12 = '\n'" (pointer_expression "*pcVar12" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n      __overflow(p_Var2,10);\n    }" else (compound_statement "{\n      __overflow(p_Var2,10);\n    }" { (expression_statement "__overflow(p_Var2,10);" (call_expression "__overflow(p_Var2,10)" identifier (argument_list "(p_Var2,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "dired_pos = dired_pos + 1;" (assignment_expression "dired_pos = dired_pos + 1" identifier = (binary_expression "dired_pos + 1" identifier + number_literal)) ;) })) (if_statement "if (cwd_n_used != 0) {\n    print_current_files();\n  }" if (parenthesized_expression "(cwd_n_used != 0)" ( (binary_expression "cwd_n_used != 0" identifier != number_literal) )) (compound_statement "{\n    print_current_files();\n  }" { (expression_statement "print_current_files();" (call_expression "print_current_files()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_00019a02:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" statement_identifier : (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void __regparm3 FUN_000198b0(char *param_1)\n\n{\n  _IO_FILE *p_Var1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  undefined *puVar5;\n  int *piVar6;\n  DIR *__dirp;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  dirent64 *pdVar12;\n  char *pcVar13;\n  size_t sVar14;\n  void *__ptr;\n  int in_GS_OFFSET;\n  longlong lVar15;\n  stat64 local_30c;\n  undefined1 local_2ac [652];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x198bb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar6 = __errno_location();\n  *piVar6 = 0;\n  __dirp = opendir(param_1);\n  if (__dirp == (DIR *)0x0) {\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }\n  else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }\n  goto LAB_00019a02;\nLAB_00019ca5:\n  iVar7 = closedir(__dirp);\n  if (iVar7 != 0) {\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }\n  FUN_00014d50();\n  if (DAT_0003c2ce != '\0') {\n    FUN_00014fd0();\n  }\n  puVar5 = PTR_stdout_0003afcc;\n  if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }\n  if (DAT_0003c358 != 0) {\n    FUN_000194f0();\n  }\nLAB_00019a02:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0002b190();\n}\n\n" (function_definition "void __regparm3 FUN_000198b0(char *param_1)\n\n{\n  _IO_FILE *p_Var1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  undefined *puVar5;\n  int *piVar6;\n  DIR *__dirp;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  dirent64 *pdVar12;\n  char *pcVar13;\n  size_t sVar14;\n  void *__ptr;\n  int in_GS_OFFSET;\n  longlong lVar15;\n  stat64 local_30c;\n  undefined1 local_2ac [652];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x198bb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar6 = __errno_location();\n  *piVar6 = 0;\n  __dirp = opendir(param_1);\n  if (__dirp == (DIR *)0x0) {\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }\n  else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }\n  goto LAB_00019a02;\nLAB_00019ca5:\n  iVar7 = closedir(__dirp);\n  if (iVar7 != 0) {\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }\n  FUN_00014d50();\n  if (DAT_0003c2ce != '\0') {\n    FUN_00014fd0();\n  }\n  puVar5 = PTR_stdout_0003afcc;\n  if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }\n  if (DAT_0003c358 != 0) {\n    FUN_000194f0();\n  }\nLAB_00019a02:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0002b190();\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000198b0(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  _IO_FILE *p_Var1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  undefined *puVar5;\n  int *piVar6;\n  DIR *__dirp;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  dirent64 *pdVar12;\n  char *pcVar13;\n  size_t sVar14;\n  void *__ptr;\n  int in_GS_OFFSET;\n  longlong lVar15;\n  stat64 local_30c;\n  undefined1 local_2ac [652];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x198bb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar6 = __errno_location();\n  *piVar6 = 0;\n  __dirp = opendir(param_1);\n  if (__dirp == (DIR *)0x0) {\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }\n  else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }\n  goto LAB_00019a02;\nLAB_00019ca5:\n  iVar7 = closedir(__dirp);\n  if (iVar7 != 0) {\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }\n  FUN_00014d50();\n  if (DAT_0003c2ce != '\0') {\n    FUN_00014fd0();\n  }\n  puVar5 = PTR_stdout_0003afcc;\n  if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }\n  if (DAT_0003c358 != 0) {\n    FUN_000194f0();\n  }\nLAB_00019a02:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0002b190();\n}" { (declaration "_IO_FILE *p_Var1;" type_identifier (pointer_declarator "*p_Var1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "longlong lVar4;" type_identifier identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "DIR *__dirp;" type_identifier (pointer_declarator "*__dirp" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "dirent64 *pdVar12;" type_identifier (pointer_declarator "*pdVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "size_t sVar14;" primitive_type identifier ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "longlong lVar15;" type_identifier identifier ;) (declaration "stat64 local_30c;" type_identifier identifier ;) (declaration "undefined1 local_2ac [652];" type_identifier (array_declarator "local_2ac [652]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x198bb;" (assignment_expression "uStack_14 = 0x198bb" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "__dirp = opendir(param_1);" (assignment_expression "__dirp = opendir(param_1)" identifier = (call_expression "opendir(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (__dirp == (DIR *)0x0) {\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }\n  else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }" 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)) )) (compound_statement "{\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }" { (expression_statement "dcgettext(0,"cannot open directory %s",5);" (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 "FUN_00015440();" (call_expression "FUN_00015440()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }" else (compound_statement "{\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }" { (if_statement "if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }" if (parenthesized_expression "(DAT_0003c364 == 0)" ( (binary_expression "DAT_0003c364 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }" { (labeled_statement "LAB_00019a8f:\n      FUN_00014b40();" statement_identifier : (expression_statement "FUN_00014b40();" (call_expression "FUN_00014b40()" identifier (argument_list "()" ( ))) ;)) (expression_statement "puVar5 = PTR_stdout_0003afcc;" (assignment_expression "puVar5 = PTR_stdout_0003afcc" identifier = identifier) ;) (if_statement "if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }" if (parenthesized_expression "((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0'))" ( (binary_expression "(DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')" (parenthesized_expression "(DAT_0003c2ce != '\0')" ( (binary_expression "DAT_0003c2ce != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(DAT_0003c2ac != '\0')" ( (binary_expression "DAT_0003c2ac != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }" { (if_statement "if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }" if (parenthesized_expression "(DAT_0003b1e8 == '\0')" ( (binary_expression "DAT_0003b1e8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }" { (expression_statement "p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;" (assignment_expression "p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc" identifier = (pointer_expression "*(_IO_FILE **)PTR_stdout_0003afcc" * (cast_expression "(_IO_FILE **)PTR_stdout_0003afcc" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar13 = p_Var1->_IO_write_ptr;" (assignment_expression "pcVar13 = p_Var1->_IO_write_ptr" identifier = (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier)) ;) (if_statement "if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }" if (parenthesized_expression "(pcVar13 < p_Var1->_IO_write_end)" ( (binary_expression "pcVar13 < p_Var1->_IO_write_end" identifier < (field_expression "p_Var1->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }" { (expression_statement "p_Var1->_IO_write_ptr = pcVar13 + 1;" (assignment_expression "p_Var1->_IO_write_ptr = pcVar13 + 1" (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar13 = '\n';" (assignment_expression "*pcVar13 = '\n'" (pointer_expression "*pcVar13" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n            __overflow(p_Var1,10);\n          }" else (compound_statement "{\n            __overflow(p_Var1,10);\n          }" { (expression_statement "__overflow(p_Var1,10);" (call_expression "__overflow(p_Var1,10)" identifier (argument_list "(p_Var1,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 1;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 1" identifier = (binary_expression "DAT_0003c1ec + 1" identifier + number_literal)) ;) })) (expression_statement "DAT_0003b1e8 = '\0';" (assignment_expression "DAT_0003b1e8 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }" if (parenthesized_expression "(DAT_0003c2e8 != '\0')" ( (binary_expression "DAT_0003c2e8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }" { (expression_statement "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);" (call_expression "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5)" identifier (argument_list "(&DAT_0002d9aa,1,2,*(FILE **)puVar5)" ( (pointer_expression "&DAT_0002d9aa" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)puVar5" * (cast_expression "(FILE **)puVar5" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 2;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 2" identifier = (binary_expression "DAT_0003c1ec + 2" identifier + number_literal)) ;) })) (expression_statement "__ptr = (void *)0x0;" (assignment_expression "__ptr = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }" if (parenthesized_expression "((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0))" ( (binary_expression "(DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)" (parenthesized_expression "(DAT_0003c2e1 != '\0')" ( (binary_expression "DAT_0003c2e1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)" ( (comma_expression "__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0" (assignment_expression "__ptr = (void *)FUN_0001b7b0(param_1,2)" identifier = (cast_expression "(void *)FUN_0001b7b0(param_1,2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001b7b0(param_1,2)" identifier (argument_list "(param_1,2)" ( identifier , number_literal ))))) , (binary_expression "__ptr == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }" { (expression_statement "dcgettext(0,"error canonicalizing %s",5);" (call_expression "dcgettext(0,"error canonicalizing %s",5)" identifier (argument_list "(0,"error canonicalizing %s",5)" ( number_literal , (string_literal ""error canonicalizing %s"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00015440();" (call_expression "FUN_00015440()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_00016280(0,1,&DAT_0003c180,__ptr);" (call_expression "FUN_00016280(0,1,&DAT_0003c180,__ptr)" identifier (argument_list "(0,1,&DAT_0003c180,__ptr)" ( number_literal , number_literal , (pointer_expression "&DAT_0003c180" & identifier) , identifier ))) ;) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);" (call_expression "fwrite_unlocked(":\n",1,2,*(FILE **)puVar5)" identifier (argument_list "(":\n",1,2,*(FILE **)puVar5)" ( (string_literal "":\n"" " string_content escape_sequence ") , number_literal , number_literal , (pointer_expression "*(FILE **)puVar5" * (cast_expression "(FILE **)puVar5" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 2;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 2" identifier = (binary_expression "DAT_0003c1ec + 2" identifier + number_literal)) ;) })) (expression_statement "lVar4 = 0;" (assignment_expression "lVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );" do (compound_statement "{\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      }" { (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" * identifier) = number_literal) ;) (expression_statement "pdVar12 = readdir64(__dirp);" (assignment_expression "pdVar12 = readdir64(__dirp)" identifier = (call_expression "readdir64(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }" if (parenthesized_expression "(pdVar12 == (dirent64 *)0x0)" ( (binary_expression "pdVar12 == (dirent64 *)0x0" identifier == (cast_expression "(dirent64 *)0x0" ( (type_descriptor "dirent64 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }" { (if_statement "if (*piVar6 == 0) goto LAB_00019ca5;" if (parenthesized_expression "(*piVar6 == 0)" ( (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" * identifier) == number_literal) )) (goto_statement "goto LAB_00019ca5;" goto statement_identifier ;)) (expression_statement "dcgettext(0,"reading directory %s",5);" (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 "FUN_00015440();" (call_expression "FUN_00015440()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*piVar6 != 0x4b) goto LAB_00019ca5;" if (parenthesized_expression "(*piVar6 != 0x4b)" ( (binary_expression "*piVar6 != 0x4b" (pointer_expression "*piVar6" * identifier) != number_literal) )) (goto_statement "goto LAB_00019ca5;" goto statement_identifier ;)) }) (else_clause "else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }" else (compound_statement "{\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }" { (expression_statement "puVar8 = DAT_0003c2c4;" (assignment_expression "puVar8 = DAT_0003c2c4" identifier = identifier) ;) (if_statement "if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }" if (parenthesized_expression "(DAT_0003c2c8 != 2)" ( (binary_expression "DAT_0003c2c8 != 2" identifier != number_literal) )) (compound_statement "{\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }" { (if_statement "if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" if (parenthesized_expression "(pdVar12->d_name[0] == '.')" ( (binary_expression "pdVar12->d_name[0] == '.'" (subscript_expression "pdVar12->d_name[0]" (field_expression "pdVar12->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) )) (compound_statement "{\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }" { (if_statement "if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;" if (parenthesized_expression "((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))" ( (binary_expression "(DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0')" (parenthesized_expression "(DAT_0003c2c8 == 0)" ( (binary_expression "DAT_0003c2c8 == 0" identifier == number_literal) )) || (parenthesized_expression "(pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0')" ( (binary_expression "pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'" (subscript_expression "pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1]" (field_expression "pdVar12->d_name" identifier -> field_identifier) [ (binary_expression "(pdVar12->d_name[1] == '.') + 1" (parenthesized_expression "(pdVar12->d_name[1] == '.')" ( (binary_expression "pdVar12->d_name[1] == '.'" (subscript_expression "pdVar12->d_name[1]" (field_expression "pdVar12->d_name" identifier -> field_identifier) [ number_literal ]) == (char_literal "'.'" ' character ')) )) + number_literal) ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00019bf0;" goto statement_identifier ;)) }) (else_clause "else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" else (compound_statement "{\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" { (expression_statement "puVar9 = DAT_0003c2c0;" (assignment_expression "puVar9 = DAT_0003c2c0" identifier = identifier) ;) (if_statement "if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }" if (parenthesized_expression "(DAT_0003c2c8 == 0)" ( (binary_expression "DAT_0003c2c8 == 0" identifier == number_literal) )) (compound_statement "{\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }" { (for_statement "for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }" for ( ; (comma_expression "puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0" (assignment_expression "puVar8 = DAT_0003c2c4" identifier = identifier) , (binary_expression "puVar9 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (assignment_expression "puVar9 = (undefined4 *)puVar9[1]" identifier = (cast_expression "(undefined4 *)puVar9[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar9[1]" identifier [ number_literal ]))) ) (compound_statement "{\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }" { (expression_statement "iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);" (assignment_expression "iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4)" identifier = (call_expression "FUN_00027930(*puVar9,pdVar12->d_name,4)" identifier (argument_list "(*puVar9,pdVar12->d_name,4)" ( (pointer_expression "*puVar9" * identifier) , (field_expression "pdVar12->d_name" identifier -> field_identifier) , number_literal )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00019bf0;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019bf0;" goto statement_identifier ;)) })) })) }))) })) (for_statement "for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }" for ( ; (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "puVar8 = (undefined4 *)puVar8[1]" identifier = (cast_expression "(undefined4 *)puVar8[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ]))) ) (compound_statement "{\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }" { (expression_statement "iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);" (assignment_expression "iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4)" identifier = (call_expression "FUN_00027930(*puVar8,pdVar12->d_name,4)" identifier (argument_list "(*puVar8,pdVar12->d_name,4)" ( (pointer_expression "*puVar8" * identifier) , (field_expression "pdVar12->d_name" identifier -> field_identifier) , number_literal )))) ;) (if_statement "if (iVar7 == 0) goto LAB_00019bf0;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00019bf0;" goto statement_identifier ;)) })) (expression_statement "lVar15 = FUN_00018090(param_1);" (assignment_expression "lVar15 = FUN_00018090(param_1)" identifier = (call_expression "FUN_00018090(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "lVar4 = lVar15 + lVar4;" (assignment_expression "lVar4 = lVar15 + lVar4" identifier = (binary_expression "lVar15 + lVar4" identifier + identifier)) ;) (if_statement "if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }" if (parenthesized_expression "((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0'))" ( (binary_expression "(((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')" (parenthesized_expression "(((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0'))" ( (binary_expression "((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')" (parenthesized_expression "((DAT_0003c308 == 1) && (DAT_0003c300 == -1))" ( (binary_expression "(DAT_0003c308 == 1) && (DAT_0003c300 == -1)" (parenthesized_expression "(DAT_0003c308 == 1)" ( (binary_expression "DAT_0003c308 == 1" identifier == number_literal) )) && (parenthesized_expression "(DAT_0003c300 == -1)" ( (binary_expression "DAT_0003c300 == -1" identifier == number_literal) ))) )) && (parenthesized_expression "(DAT_0003c2fc == '\0')" ( (binary_expression "DAT_0003c2fc == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(DAT_0003c2ce == '\0')" ( (binary_expression "DAT_0003c2ce == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }" { (expression_statement "FUN_00014d50();" (call_expression "FUN_00014d50()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_000194f0();" (call_expression "FUN_000194f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00014b40();" (call_expression "FUN_00014b40()" identifier (argument_list "()" ( ))) ;) })) }))) (labeled_statement "LAB_00019bf0:\n        FUN_00015cc0();" statement_identifier : (expression_statement "FUN_00015cc0();" (call_expression "FUN_00015cc0()" identifier (argument_list "()" ( ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar7 = dirfd(__dirp);" (assignment_expression "iVar7 = dirfd(__dirp)" identifier = (call_expression "dirfd(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;) (if_statement "if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" { (expression_statement "iVar7 = __xstat64(3,param_1,&local_30c);" (assignment_expression "iVar7 = __xstat64(3,param_1,&local_30c)" identifier = (call_expression "__xstat64(3,param_1,&local_30c)" identifier (argument_list "(3,param_1,&local_30c)" ( number_literal , identifier , (pointer_expression "&local_30c" & identifier) )))) ;) (expression_statement "uVar10 = (undefined4)local_30c.st_dev;" (assignment_expression "uVar10 = (undefined4)local_30c.st_dev" identifier = (cast_expression "(undefined4)local_30c.st_dev" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_dev" identifier . field_identifier))) ;) (expression_statement "uVar11 = local_30c.st_dev._4_4_;" (assignment_expression "uVar11 = local_30c.st_dev._4_4_" identifier = (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uVar2 = (undefined4)local_30c.st_ino;" (assignment_expression "uVar2 = (undefined4)local_30c.st_ino" identifier = (cast_expression "(undefined4)local_30c.st_ino" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_ino" identifier . field_identifier))) ;) (expression_statement "uVar3 = local_30c.st_ino._4_4_;" (assignment_expression "uVar3 = local_30c.st_ino._4_4_" identifier = (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" identifier . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" else (compound_statement "{\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" { (expression_statement "iVar7 = __fxstat64(3,iVar7,&local_30c);" (assignment_expression "iVar7 = __fxstat64(3,iVar7,&local_30c)" identifier = (call_expression "__fxstat64(3,iVar7,&local_30c)" identifier (argument_list "(3,iVar7,&local_30c)" ( number_literal , identifier , (pointer_expression "&local_30c" & identifier) )))) ;) (expression_statement "uVar10 = (undefined4)local_30c.st_dev;" (assignment_expression "uVar10 = (undefined4)local_30c.st_dev" identifier = (cast_expression "(undefined4)local_30c.st_dev" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_dev" identifier . field_identifier))) ;) (expression_statement "uVar11 = local_30c.st_dev._4_4_;" (assignment_expression "uVar11 = local_30c.st_dev._4_4_" identifier = (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uVar2 = (undefined4)local_30c.st_ino;" (assignment_expression "uVar2 = (undefined4)local_30c.st_ino" identifier = (cast_expression "(undefined4)local_30c.st_ino" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_ino" identifier . field_identifier))) ;) (expression_statement "uVar3 = local_30c.st_ino._4_4_;" (assignment_expression "uVar3 = local_30c.st_ino._4_4_" identifier = (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" identifier . field_identifier) . field_identifier)) ;) }))) (if_statement "if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }" { (expression_statement "dcgettext(0,"cannot determine device and inode of %s",5);" (call_expression "dcgettext(0,"cannot determine device and inode of %s",5)" identifier (argument_list "(0,"cannot determine device and inode of %s",5)" ( number_literal , (string_literal ""cannot determine device and inode of %s"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00015440();" (call_expression "FUN_00015440()" identifier (argument_list "()" ( ))) ;) (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier ))) ;) }) (else_clause "else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }" else (compound_statement "{\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }" { (expression_statement "local_30c.st_dev._0_4_ = uVar10;" (assignment_expression "local_30c.st_dev._0_4_ = uVar10" (field_expression "local_30c.st_dev._0_4_" (field_expression "local_30c.st_dev" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_30c.st_dev._4_4_ = uVar11;" (assignment_expression "local_30c.st_dev._4_4_ = uVar11" (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_30c.st_ino._0_4_ = uVar2;" (assignment_expression "local_30c.st_ino._0_4_ = uVar2" (field_expression "local_30c.st_ino._0_4_" (field_expression "local_30c.st_ino" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "local_30c.st_ino._4_4_ = uVar3;" (assignment_expression "local_30c.st_ino._4_4_ = uVar3" (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "puVar8 = (undefined4 *)FUN_00023f30(0x10);" (assignment_expression "puVar8 = (undefined4 *)FUN_00023f30(0x10)" identifier = (cast_expression "(undefined4 *)FUN_00023f30(0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00023f30(0x10)" identifier (argument_list "(0x10)" ( number_literal ))))) ;) (expression_statement "*puVar8 = uVar2;" (assignment_expression "*puVar8 = uVar2" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "puVar8[1] = uVar3;" (assignment_expression "puVar8[1] = uVar3" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[2] = uVar10;" (assignment_expression "puVar8[2] = uVar10" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar8[3] = uVar11;" (assignment_expression "puVar8[3] = uVar11" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);" (assignment_expression "puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8)" identifier = (cast_expression "(undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001dbc0(DAT_0003c364,puVar8)" identifier (argument_list "(DAT_0003c364,puVar8)" ( identifier , identifier ))))) ;) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }" if (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" ( (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n        FUN_00024230();\n      }" { (expression_statement "FUN_00024230();" (call_expression "FUN_00024230()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }" if (parenthesized_expression "(puVar8 == puVar9)" ( (binary_expression "puVar8 == puVar9" identifier == identifier) )) (compound_statement "{\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }" { (expression_statement "puVar8 = DAT_0003c14c;" (assignment_expression "puVar8 = DAT_0003c14c" identifier = identifier) ;) (if_statement "if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }" if (parenthesized_expression "((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10)" ( (binary_expression "(uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10" (call_expression "(uint)(DAT_0003c150 - (int)DAT_0003c14c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(DAT_0003c150 - (int)DAT_0003c14c)" ( (binary_expression "DAT_0003c150 - (int)DAT_0003c14c" identifier - (cast_expression "(int)DAT_0003c14c" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < number_literal) )) (compound_statement "{\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }" { (expression_statement "_obstack_newchunk(&DAT_0003c140,0x10);" (call_expression "_obstack_newchunk(&DAT_0003c140,0x10)" identifier (argument_list "(&DAT_0003c140,0x10)" ( (pointer_expression "&DAT_0003c140" & identifier) , number_literal ))) ;) (expression_statement "puVar8 = DAT_0003c14c;" (assignment_expression "puVar8 = DAT_0003c14c" identifier = identifier) ;) })) (expression_statement "DAT_0003c14c = puVar8 + 4;" (assignment_expression "DAT_0003c14c = puVar8 + 4" identifier = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) (expression_statement "puVar8[2] = (undefined4)local_30c.st_dev;" (assignment_expression "puVar8[2] = (undefined4)local_30c.st_dev" (subscript_expression "puVar8[2]" identifier [ number_literal ]) = (cast_expression "(undefined4)local_30c.st_dev" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_dev" identifier . field_identifier))) ;) (expression_statement "puVar8[3] = local_30c.st_dev._4_4_;" (assignment_expression "puVar8[3] = local_30c.st_dev._4_4_" (subscript_expression "puVar8[3]" identifier [ number_literal ]) = (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*puVar8 = (undefined4)local_30c.st_ino;" (assignment_expression "*puVar8 = (undefined4)local_30c.st_ino" (pointer_expression "*puVar8" * identifier) = (cast_expression "(undefined4)local_30c.st_ino" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_30c.st_ino" identifier . field_identifier))) ;) (expression_statement "puVar8[1] = local_30c.st_ino._4_4_;" (assignment_expression "puVar8[1] = local_30c.st_ino._4_4_" (subscript_expression "puVar8[1]" identifier [ number_literal ]) = (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" identifier . field_identifier) . field_identifier)) ;) (goto_statement "goto LAB_00019a8f;" goto statement_identifier ;) })) (expression_statement "free(puVar8);" (call_expression "free(puVar8)" identifier (argument_list "(puVar8)" ( identifier ))) ;) (expression_statement "uVar10 = FUN_000234e0(0,3,param_1);" (assignment_expression "uVar10 = FUN_000234e0(0,3,param_1)" identifier = (call_expression "FUN_000234e0(0,3,param_1)" identifier (argument_list "(0,3,param_1)" ( number_literal , number_literal , identifier )))) ;) (expression_statement "uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);" (assignment_expression "uVar11 = dcgettext(0,"%s: not listing already-listed directory",5)" identifier = (call_expression "dcgettext(0,"%s: not listing already-listed directory",5)" identifier (argument_list "(0,"%s: not listing already-listed directory",5)" ( number_literal , (string_literal ""%s: not listing already-listed directory"" " string_content ") , number_literal )))) ;) (expression_statement "error(0,0,uVar11,uVar10);" (call_expression "error(0,0,uVar11,uVar10)" identifier (argument_list "(0,0,uVar11,uVar10)" ( number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier ))) ;) (expression_statement "DAT_0003c1f8 = 2;" (assignment_expression "DAT_0003c1f8 = 2" identifier = number_literal) ;) }))) }))) (goto_statement "goto LAB_00019a02;" goto statement_identifier ;) (labeled_statement "LAB_00019ca5:\n  iVar7 = closedir(__dirp);" statement_identifier : (expression_statement "iVar7 = closedir(__dirp);" (assignment_expression "iVar7 = closedir(__dirp)" identifier = (call_expression "closedir(__dirp)" identifier (argument_list "(__dirp)" ( identifier )))) ;)) (if_statement "if (iVar7 != 0) {\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }" { (expression_statement "dcgettext(0,"closing directory %s",5);" (call_expression "dcgettext(0,"closing directory %s",5)" identifier (argument_list "(0,"closing directory %s",5)" ( number_literal , (string_literal ""closing directory %s"" " string_content ") , number_literal ))) ;) (expression_statement "FUN_00015440();" (call_expression "FUN_00015440()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_00014d50();" (call_expression "FUN_00014d50()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_0003c2ce != '\0') {\n    FUN_00014fd0();\n  }" if (parenthesized_expression "(DAT_0003c2ce != '\0')" ( (binary_expression "DAT_0003c2ce != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    FUN_00014fd0();\n  }" { (expression_statement "FUN_00014fd0();" (call_expression "FUN_00014fd0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar5 = PTR_stdout_0003afcc;" (assignment_expression "puVar5 = PTR_stdout_0003afcc" identifier = identifier) ;) (if_statement "if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }" if (parenthesized_expression "((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0'))" ( (binary_expression "(DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')" (parenthesized_expression "(DAT_0003c308 == 0)" ( (binary_expression "DAT_0003c308 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_0003c2fc != '\0')" ( (binary_expression "DAT_0003c2fc != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }" { (if_statement "if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }" if (parenthesized_expression "(DAT_0003c2e8 != '\0')" ( (binary_expression "DAT_0003c2e8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }" { (expression_statement "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);" (call_expression "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc)" identifier (argument_list "(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc)" ( (pointer_expression "&DAT_0002d9aa" & identifier) , number_literal , number_literal , (pointer_expression "*(FILE **)PTR_stdout_0003afcc" * (cast_expression "(FILE **)PTR_stdout_0003afcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 2;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 2" identifier = (binary_expression "DAT_0003c1ec + 2" identifier + number_literal)) ;) })) (expression_statement "pcVar13 = (char *)dcgettext(0,"total",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"total",5)" identifier = (cast_expression "(char *)dcgettext(0,"total",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"total",5)" identifier (argument_list "(0,"total",5)" ( number_literal , (string_literal ""total"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs_unlocked(pcVar13,*(FILE **)puVar5);" (call_expression "fputs_unlocked(pcVar13,*(FILE **)puVar5)" identifier (argument_list "(pcVar13,*(FILE **)puVar5)" ( identifier , (pointer_expression "*(FILE **)puVar5" * (cast_expression "(FILE **)puVar5" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "sVar14 = strlen(pcVar13);" (assignment_expression "sVar14 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + sVar14;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + sVar14" identifier = (binary_expression "DAT_0003c1ec + sVar14" identifier + identifier)) ;) (expression_statement "p_Var1 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var1 = *(_IO_FILE **)puVar5" identifier = (pointer_expression "*(_IO_FILE **)puVar5" * (cast_expression "(_IO_FILE **)puVar5" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar13 = p_Var1->_IO_write_ptr;" (assignment_expression "pcVar13 = p_Var1->_IO_write_ptr" identifier = (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier)) ;) (if_statement "if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }" if (parenthesized_expression "(pcVar13 < p_Var1->_IO_write_end)" ( (binary_expression "pcVar13 < p_Var1->_IO_write_end" identifier < (field_expression "p_Var1->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }" { (expression_statement "p_Var1->_IO_write_ptr = pcVar13 + 1;" (assignment_expression "p_Var1->_IO_write_ptr = pcVar13 + 1" (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar13 = ' ';" (assignment_expression "*pcVar13 = ' '" (pointer_expression "*pcVar13" * identifier) = (char_literal "' '" ' character ')) ;) }) (else_clause "else {\n      __overflow(p_Var1,0x20);\n    }" else (compound_statement "{\n      __overflow(p_Var1,0x20);\n    }" { (expression_statement "__overflow(p_Var1,0x20);" (call_expression "__overflow(p_Var1,0x20)" identifier (argument_list "(p_Var1,0x20)" ( identifier , number_literal ))) ;) }))) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 1;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 1" identifier = (binary_expression "DAT_0003c1ec + 1" identifier + number_literal)) ;) (expression_statement "pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);" (assignment_expression "pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" identifier = (cast_expression "(char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" identifier (argument_list "(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" ( identifier , identifier , identifier , number_literal , number_literal , identifier , identifier ))))) ;) (expression_statement "fputs_unlocked(pcVar13,*(FILE **)puVar5);" (call_expression "fputs_unlocked(pcVar13,*(FILE **)puVar5)" identifier (argument_list "(pcVar13,*(FILE **)puVar5)" ( identifier , (pointer_expression "*(FILE **)puVar5" * (cast_expression "(FILE **)puVar5" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "sVar14 = strlen(pcVar13);" (assignment_expression "sVar14 = strlen(pcVar13)" identifier = (call_expression "strlen(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + sVar14;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + sVar14" identifier = (binary_expression "DAT_0003c1ec + sVar14" identifier + identifier)) ;) (expression_statement "p_Var1 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var1 = *(_IO_FILE **)puVar5" identifier = (pointer_expression "*(_IO_FILE **)puVar5" * (cast_expression "(_IO_FILE **)puVar5" ( (type_descriptor "_IO_FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar13 = p_Var1->_IO_write_ptr;" (assignment_expression "pcVar13 = p_Var1->_IO_write_ptr" identifier = (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier)) ;) (if_statement "if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }" if (parenthesized_expression "(pcVar13 < p_Var1->_IO_write_end)" ( (binary_expression "pcVar13 < p_Var1->_IO_write_end" identifier < (field_expression "p_Var1->_IO_write_end" identifier -> field_identifier)) )) (compound_statement "{\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }" { (expression_statement "p_Var1->_IO_write_ptr = pcVar13 + 1;" (assignment_expression "p_Var1->_IO_write_ptr = pcVar13 + 1" (field_expression "p_Var1->_IO_write_ptr" identifier -> field_identifier) = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar13 = '\n';" (assignment_expression "*pcVar13 = '\n'" (pointer_expression "*pcVar13" * identifier) = (char_literal "'\n'" ' escape_sequence ')) ;) }) (else_clause "else {\n      __overflow(p_Var1,10);\n    }" else (compound_statement "{\n      __overflow(p_Var1,10);\n    }" { (expression_statement "__overflow(p_Var1,10);" (call_expression "__overflow(p_Var1,10)" identifier (argument_list "(p_Var1,10)" ( identifier , number_literal ))) ;) }))) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 1;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 1" identifier = (binary_expression "DAT_0003c1ec + 1" identifier + number_literal)) ;) })) (if_statement "if (DAT_0003c358 != 0) {\n    FUN_000194f0();\n  }" if (parenthesized_expression "(DAT_0003c358 != 0)" ( (binary_expression "DAT_0003c358 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_000194f0();\n  }" { (expression_statement "FUN_000194f0();" (call_expression "FUN_000194f0()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_00019a02:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "FUN_0002b190();" (call_expression "FUN_0002b190()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (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 (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (field_expression IDENT -> field_identifier)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (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 { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) == (char_literal ' character ')) )) + LIT) ]) == (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (for_statement for ( ; (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (field_expression IDENT -> field_identifier) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) })) }))) })) (for_statement for ( ; (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (field_expression IDENT -> field_identifier) , LIT )))) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (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 ( LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , 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 , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (goto_statement goto statement_identifier ;) (labeled_statement 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 (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (field_expression IDENT -> field_identifier)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , LIT , IDENT , IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (field_expression IDENT -> field_identifier)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void __regparm3 FUN_000198b0(char *param_1)\n\n{\n  _IO_FILE *p_Var1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  undefined *puVar5;\n  int *piVar6;\n  DIR *__dirp;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  dirent64 *pdVar12;\n  char *pcVar13;\n  size_t sVar14;\n  void *__ptr;\n  int in_GS_OFFSET;\n  longlong lVar15;\n  stat64 local_30c;\n  undefined1 local_2ac [652];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x198bb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar6 = __errno_location();\n  *piVar6 = 0;\n  __dirp = opendir(param_1);\n  if (__dirp == (DIR *)0x0) {\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }\n  else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }\n  goto LAB_00019a02;\nLAB_00019ca5:\n  iVar7 = closedir(__dirp);\n  if (iVar7 != 0) {\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }\n  FUN_00014d50();\n  if (DAT_0003c2ce != '\0') {\n    FUN_00014fd0();\n  }\n  puVar5 = PTR_stdout_0003afcc;\n  if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }\n  if (DAT_0003c358 != 0) {\n    FUN_000194f0();\n  }\nLAB_00019a02:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0002b190();\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000198b0(char *param_1)" (identifier "FUN_000198b0") (parameter_list "(char *param_1)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  _IO_FILE *p_Var1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  undefined *puVar5;\n  int *piVar6;\n  DIR *__dirp;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  dirent64 *pdVar12;\n  char *pcVar13;\n  size_t sVar14;\n  void *__ptr;\n  int in_GS_OFFSET;\n  longlong lVar15;\n  stat64 local_30c;\n  undefined1 local_2ac [652];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x198bb;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  piVar6 = __errno_location();\n  *piVar6 = 0;\n  __dirp = opendir(param_1);\n  if (__dirp == (DIR *)0x0) {\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }\n  else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }\n  goto LAB_00019a02;\nLAB_00019ca5:\n  iVar7 = closedir(__dirp);\n  if (iVar7 != 0) {\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }\n  FUN_00014d50();\n  if (DAT_0003c2ce != '\0') {\n    FUN_00014fd0();\n  }\n  puVar5 = PTR_stdout_0003afcc;\n  if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }\n  if (DAT_0003c358 != 0) {\n    FUN_000194f0();\n  }\nLAB_00019a02:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_0002b190();\n}" ({ "{") (declaration "_IO_FILE *p_Var1;" (type_identifier "_IO_FILE") (pointer_declarator "*p_Var1" (* "*") (identifier "p_Var1")) (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "longlong lVar4;" (type_identifier "longlong") (identifier "lVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "DIR *__dirp;" (type_identifier "DIR") (pointer_declarator "*__dirp" (* "*") (identifier "__dirp")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "dirent64 *pdVar12;" (type_identifier "dirent64") (pointer_declarator "*pdVar12" (* "*") (identifier "pdVar12")) (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "size_t sVar14;" (primitive_type "size_t") (identifier "sVar14") (; ";")) (declaration "void *__ptr;" (primitive_type "void") (pointer_declarator "*__ptr" (* "*") (identifier "__ptr")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "longlong lVar15;" (type_identifier "longlong") (identifier "lVar15") (; ";")) (declaration "stat64 local_30c;" (type_identifier "stat64") (identifier "local_30c") (; ";")) (declaration "undefined1 local_2ac [652];" (type_identifier "undefined1") (array_declarator "local_2ac [652]" (identifier "local_2ac") ([ "[") (number_literal "652") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x198bb;" (assignment_expression "uStack_14 = 0x198bb" (identifier "uStack_14") (= "=") (number_literal "0x198bb")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__dirp = opendir(param_1);" (assignment_expression "__dirp = opendir(param_1)" (identifier "__dirp") (= "=") (call_expression "opendir(param_1)" (identifier "opendir") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (__dirp == (DIR *)0x0) {\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }\n  else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }" (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"))) () ")")) (compound_statement "{\n    dcgettext(0,"cannot open directory %s",5);\n    FUN_00015440();\n  }" ({ "{") (expression_statement "dcgettext(0,"cannot open directory %s",5);" (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 "FUN_00015440();" (call_expression "FUN_00015440()" (identifier "FUN_00015440") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }" (else "else") (compound_statement "{\n    if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }\n    iVar7 = dirfd(__dirp);\n    if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }\n  }" ({ "{") (if_statement "if (DAT_0003c364 == 0) {\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }" (if "if") (parenthesized_expression "(DAT_0003c364 == 0)" (( "(") (binary_expression "DAT_0003c364 == 0" (identifier "DAT_0003c364") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00019a8f:\n      FUN_00014b40();\n      puVar5 = PTR_stdout_0003afcc;\n      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }\n      lVar4 = 0;\n      do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );\n    }" ({ "{") (labeled_statement "LAB_00019a8f:\n      FUN_00014b40();" (statement_identifier "LAB_00019a8f") (: ":") (expression_statement "FUN_00014b40();" (call_expression "FUN_00014b40()" (identifier "FUN_00014b40") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "puVar5 = PTR_stdout_0003afcc;" (assignment_expression "puVar5 = PTR_stdout_0003afcc" (identifier "puVar5") (= "=") (identifier "PTR_stdout_0003afcc")) (; ";")) (if_statement "if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }" (if "if") (parenthesized_expression "((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0'))" (( "(") (binary_expression "(DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')" (parenthesized_expression "(DAT_0003c2ce != '\0')" (( "(") (binary_expression "DAT_0003c2ce != '\0'" (identifier "DAT_0003c2ce") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(DAT_0003c2ac != '\0')" (( "(") (binary_expression "DAT_0003c2ac != '\0'" (identifier "DAT_0003c2ac") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }\n        DAT_0003b1e8 = '\0';\n        if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }\n        __ptr = (void *)0x0;\n        if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }\n        FUN_00016280(0,1,&DAT_0003c180,__ptr);\n        free(__ptr);\n        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);\n        DAT_0003c1ec = DAT_0003c1ec + 2;\n      }" ({ "{") (if_statement "if (DAT_0003b1e8 == '\0') {\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }" (if "if") (parenthesized_expression "(DAT_0003b1e8 == '\0')" (( "(") (binary_expression "DAT_0003b1e8 == '\0'" (identifier "DAT_0003b1e8") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;\n          pcVar13 = p_Var1->_IO_write_ptr;\n          if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }\n          DAT_0003c1ec = DAT_0003c1ec + 1;\n        }" ({ "{") (expression_statement "p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;" (assignment_expression "p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc" (identifier "p_Var1") (= "=") (pointer_expression "*(_IO_FILE **)PTR_stdout_0003afcc" (* "*") (cast_expression "(_IO_FILE **)PTR_stdout_0003afcc" (( "(") (type_descriptor "_IO_FILE **" (type_identifier "_IO_FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_0003afcc")))) (; ";")) (expression_statement "pcVar13 = p_Var1->_IO_write_ptr;" (assignment_expression "pcVar13 = p_Var1->_IO_write_ptr" (identifier "pcVar13") (= "=") (field_expression "p_Var1->_IO_write_ptr" (identifier "p_Var1") (-> "->") (field_identifier "_IO_write_ptr"))) (; ";")) (if_statement "if (pcVar13 < p_Var1->_IO_write_end) {\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }\n          else {\n            __overflow(p_Var1,10);\n          }" (if "if") (parenthesized_expression "(pcVar13 < p_Var1->_IO_write_end)" (( "(") (binary_expression "pcVar13 < p_Var1->_IO_write_end" (identifier "pcVar13") (< "<") (field_expression "p_Var1->_IO_write_end" (identifier "p_Var1") (-> "->") (field_identifier "_IO_write_end"))) () ")")) (compound_statement "{\n            p_Var1->_IO_write_ptr = pcVar13 + 1;\n            *pcVar13 = '\n';\n          }" ({ "{") (expression_statement "p_Var1->_IO_write_ptr = pcVar13 + 1;" (assignment_expression "p_Var1->_IO_write_ptr = pcVar13 + 1" (field_expression "p_Var1->_IO_write_ptr" (identifier "p_Var1") (-> "->") (field_identifier "_IO_write_ptr")) (= "=") (binary_expression "pcVar13 + 1" (identifier "pcVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar13 = '\n';" (assignment_expression "*pcVar13 = '\n'" (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) (= "=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n            __overflow(p_Var1,10);\n          }" (else "else") (compound_statement "{\n            __overflow(p_Var1,10);\n          }" ({ "{") (expression_statement "__overflow(p_Var1,10);" (call_expression "__overflow(p_Var1,10)" (identifier "__overflow") (argument_list "(p_Var1,10)" (( "(") (identifier "p_Var1") (, ",") (number_literal "10") () ")"))) (; ";")) (} "}")))) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 1;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 1" (identifier "DAT_0003c1ec") (= "=") (binary_expression "DAT_0003c1ec + 1" (identifier "DAT_0003c1ec") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "DAT_0003b1e8 = '\0';" (assignment_expression "DAT_0003b1e8 = '\0'" (identifier "DAT_0003b1e8") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (DAT_0003c2e8 != '\0') {\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }" (if "if") (parenthesized_expression "(DAT_0003c2e8 != '\0')" (( "(") (binary_expression "DAT_0003c2e8 != '\0'" (identifier "DAT_0003c2e8") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);\n          DAT_0003c1ec = DAT_0003c1ec + 2;\n        }" ({ "{") (expression_statement "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);" (call_expression "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5)" (identifier "fwrite_unlocked") (argument_list "(&DAT_0002d9aa,1,2,*(FILE **)puVar5)" (( "(") (pointer_expression "&DAT_0002d9aa" (& "&") (identifier "DAT_0002d9aa")) (, ",") (number_literal "1") (, ",") (number_literal "2") (, ",") (pointer_expression "*(FILE **)puVar5" (* "*") (cast_expression "(FILE **)puVar5" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5"))) () ")"))) (; ";")) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 2;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 2" (identifier "DAT_0003c1ec") (= "=") (binary_expression "DAT_0003c1ec + 2" (identifier "DAT_0003c1ec") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "__ptr = (void *)0x0;" (assignment_expression "__ptr = (void *)0x0" (identifier "__ptr") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }" (if "if") (parenthesized_expression "((DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0))" (( "(") (binary_expression "(DAT_0003c2e1 != '\0') &&\n           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)" (parenthesized_expression "(DAT_0003c2e1 != '\0')" (( "(") (binary_expression "DAT_0003c2e1 != '\0'" (identifier "DAT_0003c2e1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)" (( "(") (comma_expression "__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0" (assignment_expression "__ptr = (void *)FUN_0001b7b0(param_1,2)" (identifier "__ptr") (= "=") (cast_expression "(void *)FUN_0001b7b0(param_1,2)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001b7b0(param_1,2)" (identifier "FUN_0001b7b0") (argument_list "(param_1,2)" (( "(") (identifier "param_1") (, ",") (number_literal "2") () ")"))))) (, ",") (binary_expression "__ptr == (void *)0x0" (identifier "__ptr") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n          dcgettext(0,"error canonicalizing %s",5);\n          FUN_00015440();\n        }" ({ "{") (expression_statement "dcgettext(0,"error canonicalizing %s",5);" (call_expression "dcgettext(0,"error canonicalizing %s",5)" (identifier "dcgettext") (argument_list "(0,"error canonicalizing %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""error canonicalizing %s"" (" """) (string_content "error canonicalizing %s") (" """)) (, ",") (number_literal "5") () ")"))) (; ";")) (expression_statement "FUN_00015440();" (call_expression "FUN_00015440()" (identifier "FUN_00015440") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00016280(0,1,&DAT_0003c180,__ptr);" (call_expression "FUN_00016280(0,1,&DAT_0003c180,__ptr)" (identifier "FUN_00016280") (argument_list "(0,1,&DAT_0003c180,__ptr)" (( "(") (number_literal "0") (, ",") (number_literal "1") (, ",") (pointer_expression "&DAT_0003c180" (& "&") (identifier "DAT_0003c180")) (, ",") (identifier "__ptr") () ")"))) (; ";")) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" (identifier "free") (argument_list "(__ptr)" (( "(") (identifier "__ptr") () ")"))) (; ";")) (expression_statement "fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);" (call_expression "fwrite_unlocked(":\n",1,2,*(FILE **)puVar5)" (identifier "fwrite_unlocked") (argument_list "(":\n",1,2,*(FILE **)puVar5)" (( "(") (string_literal "":\n"" (" """) (string_content ":") (escape_sequence "\n") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "2") (, ",") (pointer_expression "*(FILE **)puVar5" (* "*") (cast_expression "(FILE **)puVar5" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5"))) () ")"))) (; ";")) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 2;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 2" (identifier "DAT_0003c1ec") (= "=") (binary_expression "DAT_0003c1ec + 2" (identifier "DAT_0003c1ec") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "lVar4 = 0;" (assignment_expression "lVar4 = 0" (identifier "lVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      } while( true );" (do "do") (compound_statement "{\n        *piVar6 = 0;\n        pdVar12 = readdir64(__dirp);\n        if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }\nLAB_00019bf0:\n        FUN_00015cc0();\n      }" ({ "{") (expression_statement "*piVar6 = 0;" (assignment_expression "*piVar6 = 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pdVar12 = readdir64(__dirp);" (assignment_expression "pdVar12 = readdir64(__dirp)" (identifier "pdVar12") (= "=") (call_expression "readdir64(__dirp)" (identifier "readdir64") (argument_list "(__dirp)" (( "(") (identifier "__dirp") () ")")))) (; ";")) (if_statement "if (pdVar12 == (dirent64 *)0x0) {\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }\n        else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }" (if "if") (parenthesized_expression "(pdVar12 == (dirent64 *)0x0)" (( "(") (binary_expression "pdVar12 == (dirent64 *)0x0" (identifier "pdVar12") (== "==") (cast_expression "(dirent64 *)0x0" (( "(") (type_descriptor "dirent64 *" (type_identifier "dirent64") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          if (*piVar6 == 0) goto LAB_00019ca5;\n          dcgettext(0,"reading directory %s",5);\n          FUN_00015440();\n          if (*piVar6 != 0x4b) goto LAB_00019ca5;\n        }" ({ "{") (if_statement "if (*piVar6 == 0) goto LAB_00019ca5;" (if "if") (parenthesized_expression "(*piVar6 == 0)" (( "(") (binary_expression "*piVar6 == 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019ca5;" (goto "goto") (statement_identifier "LAB_00019ca5") (; ";"))) (expression_statement "dcgettext(0,"reading directory %s",5);" (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 "FUN_00015440();" (call_expression "FUN_00015440()" (identifier "FUN_00015440") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*piVar6 != 0x4b) goto LAB_00019ca5;" (if "if") (parenthesized_expression "(*piVar6 != 0x4b)" (( "(") (binary_expression "*piVar6 != 0x4b" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (!= "!=") (number_literal "0x4b")) () ")")) (goto_statement "goto LAB_00019ca5;" (goto "goto") (statement_identifier "LAB_00019ca5") (; ";"))) (} "}")) (else_clause "else {\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }" (else "else") (compound_statement "{\n          puVar8 = DAT_0003c2c4;\n          if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }\n          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }\n          lVar15 = FUN_00018090(param_1);\n          lVar4 = lVar15 + lVar4;\n          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }\n        }" ({ "{") (expression_statement "puVar8 = DAT_0003c2c4;" (assignment_expression "puVar8 = DAT_0003c2c4" (identifier "puVar8") (= "=") (identifier "DAT_0003c2c4")) (; ";")) (if_statement "if (DAT_0003c2c8 != 2) {\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }" (if "if") (parenthesized_expression "(DAT_0003c2c8 != 2)" (( "(") (binary_expression "DAT_0003c2c8 != 2" (identifier "DAT_0003c2c8") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n            if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }\n          }" ({ "{") (if_statement "if (pdVar12->d_name[0] == '.') {\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }\n            else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" (if "if") (parenthesized_expression "(pdVar12->d_name[0] == '.')" (( "(") (binary_expression "pdVar12->d_name[0] == '.'" (subscript_expression "pdVar12->d_name[0]" (field_expression "pdVar12->d_name" (identifier "pdVar12") (-> "->") (field_identifier "d_name")) ([ "[") (number_literal "0") (] "]")) (== "==") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (compound_statement "{\n              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;\n            }" ({ "{") (if_statement "if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))\n              goto LAB_00019bf0;" (if "if") (parenthesized_expression "((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))" (( "(") (binary_expression "(DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0')" (parenthesized_expression "(DAT_0003c2c8 == 0)" (( "(") (binary_expression "DAT_0003c2c8 == 0" (identifier "DAT_0003c2c8") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0')" (( "(") (binary_expression "pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'" (subscript_expression "pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1]" (field_expression "pdVar12->d_name" (identifier "pdVar12") (-> "->") (field_identifier "d_name")) ([ "[") (binary_expression "(pdVar12->d_name[1] == '.') + 1" (parenthesized_expression "(pdVar12->d_name[1] == '.')" (( "(") (binary_expression "pdVar12->d_name[1] == '.'" (subscript_expression "pdVar12->d_name[1]" (field_expression "pdVar12->d_name" (identifier "pdVar12") (-> "->") (field_identifier "d_name")) ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (+ "+") (number_literal "1")) (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_00019bf0;" (goto "goto") (statement_identifier "LAB_00019bf0") (; ";"))) (} "}")) (else_clause "else {\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" (else "else") (compound_statement "{\n              puVar9 = DAT_0003c2c0;\n              if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }\n            }" ({ "{") (expression_statement "puVar9 = DAT_0003c2c0;" (assignment_expression "puVar9 = DAT_0003c2c0" (identifier "puVar9") (= "=") (identifier "DAT_0003c2c0")) (; ";")) (if_statement "if (DAT_0003c2c8 == 0) {\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }" (if "if") (parenthesized_expression "(DAT_0003c2c8 == 0)" (( "(") (binary_expression "DAT_0003c2c8 == 0" (identifier "DAT_0003c2c8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }\n              }" ({ "{") (for_statement "for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;\n                    puVar9 = (undefined4 *)puVar9[1]) {\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }" (for "for") (( "(") (; ";") (comma_expression "puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0" (assignment_expression "puVar8 = DAT_0003c2c4" (identifier "puVar8") (= "=") (identifier "DAT_0003c2c4")) (, ",") (binary_expression "puVar9 != (undefined4 *)0x0" (identifier "puVar9") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";") (assignment_expression "puVar9 = (undefined4 *)puVar9[1]" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)puVar9[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]")))) () ")") (compound_statement "{\n                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);\n                  if (iVar7 == 0) goto LAB_00019bf0;\n                }" ({ "{") (expression_statement "iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);" (assignment_expression "iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4)" (identifier "iVar7") (= "=") (call_expression "FUN_00027930(*puVar9,pdVar12->d_name,4)" (identifier "FUN_00027930") (argument_list "(*puVar9,pdVar12->d_name,4)" (( "(") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (, ",") (field_expression "pdVar12->d_name" (identifier "pdVar12") (-> "->") (field_identifier "d_name")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_00019bf0;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019bf0;" (goto "goto") (statement_identifier "LAB_00019bf0") (; ";"))) (} "}"))) (} "}"))) (} "}")))) (} "}"))) (for_statement "for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }" (for "for") (( "(") (; ";") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";") (assignment_expression "puVar8 = (undefined4 *)puVar8[1]" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)puVar8[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")))) () ")") (compound_statement "{\n            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);\n            if (iVar7 == 0) goto LAB_00019bf0;\n          }" ({ "{") (expression_statement "iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);" (assignment_expression "iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4)" (identifier "iVar7") (= "=") (call_expression "FUN_00027930(*puVar8,pdVar12->d_name,4)" (identifier "FUN_00027930") (argument_list "(*puVar8,pdVar12->d_name,4)" (( "(") (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (, ",") (field_expression "pdVar12->d_name" (identifier "pdVar12") (-> "->") (field_identifier "d_name")) (, ",") (number_literal "4") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_00019bf0;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019bf0;" (goto "goto") (statement_identifier "LAB_00019bf0") (; ";"))) (} "}"))) (expression_statement "lVar15 = FUN_00018090(param_1);" (assignment_expression "lVar15 = FUN_00018090(param_1)" (identifier "lVar15") (= "=") (call_expression "FUN_00018090(param_1)" (identifier "FUN_00018090") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "lVar4 = lVar15 + lVar4;" (assignment_expression "lVar4 = lVar15 + lVar4" (identifier "lVar4") (= "=") (binary_expression "lVar15 + lVar4" (identifier "lVar15") (+ "+") (identifier "lVar4"))) (; ";")) (if_statement "if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')) {\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }" (if "if") (parenthesized_expression "((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0'))" (( "(") (binary_expression "(((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&\n             (DAT_0003c2ce == '\0')" (parenthesized_expression "(((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0'))" (( "(") (binary_expression "((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')" (parenthesized_expression "((DAT_0003c308 == 1) && (DAT_0003c300 == -1))" (( "(") (binary_expression "(DAT_0003c308 == 1) && (DAT_0003c300 == -1)" (parenthesized_expression "(DAT_0003c308 == 1)" (( "(") (binary_expression "DAT_0003c308 == 1" (identifier "DAT_0003c308") (== "==") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "(DAT_0003c300 == -1)" (( "(") (binary_expression "DAT_0003c300 == -1" (identifier "DAT_0003c300") (== "==") (number_literal "-1")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_0003c2fc == '\0')" (( "(") (binary_expression "DAT_0003c2fc == '\0'" (identifier "DAT_0003c2fc") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_0003c2ce == '\0')" (( "(") (binary_expression "DAT_0003c2ce == '\0'" (identifier "DAT_0003c2ce") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            FUN_00014d50();\n            FUN_000194f0();\n            FUN_00014b40();\n          }" ({ "{") (expression_statement "FUN_00014d50();" (call_expression "FUN_00014d50()" (identifier "FUN_00014d50") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_000194f0();" (call_expression "FUN_000194f0()" (identifier "FUN_000194f0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00014b40();" (call_expression "FUN_00014b40()" (identifier "FUN_00014b40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00019bf0:\n        FUN_00015cc0();" (statement_identifier "LAB_00019bf0") (: ":") (expression_statement "FUN_00015cc0();" (call_expression "FUN_00015cc0()" (identifier "FUN_00015cc0") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "iVar7 = dirfd(__dirp);" (assignment_expression "iVar7 = dirfd(__dirp)" (identifier "iVar7") (= "=") (call_expression "dirfd(__dirp)" (identifier "dirfd") (argument_list "(__dirp)" (( "(") (identifier "__dirp") () ")")))) (; ";")) (if_statement "if (iVar7 < 0) {\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }\n    else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      iVar7 = __xstat64(3,param_1,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" ({ "{") (expression_statement "iVar7 = __xstat64(3,param_1,&local_30c);" (assignment_expression "iVar7 = __xstat64(3,param_1,&local_30c)" (identifier "iVar7") (= "=") (call_expression "__xstat64(3,param_1,&local_30c)" (identifier "__xstat64") (argument_list "(3,param_1,&local_30c)" (( "(") (number_literal "3") (, ",") (identifier "param_1") (, ",") (pointer_expression "&local_30c" (& "&") (identifier "local_30c")) () ")")))) (; ";")) (expression_statement "uVar10 = (undefined4)local_30c.st_dev;" (assignment_expression "uVar10 = (undefined4)local_30c.st_dev" (identifier "uVar10") (= "=") (cast_expression "(undefined4)local_30c.st_dev" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (field_expression "local_30c.st_dev" (identifier "local_30c") (. ".") (field_identifier "st_dev")))) (; ";")) (expression_statement "uVar11 = local_30c.st_dev._4_4_;" (assignment_expression "uVar11 = local_30c.st_dev._4_4_" (identifier "uVar11") (= "=") (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" (identifier "local_30c") (. ".") (field_identifier "st_dev")) (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "uVar2 = (undefined4)local_30c.st_ino;" (assignment_expression "uVar2 = (undefined4)local_30c.st_ino" (identifier "uVar2") (= "=") (cast_expression "(undefined4)local_30c.st_ino" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (field_expression "local_30c.st_ino" (identifier "local_30c") (. ".") (field_identifier "st_ino")))) (; ";")) (expression_statement "uVar3 = local_30c.st_ino._4_4_;" (assignment_expression "uVar3 = local_30c.st_ino._4_4_" (identifier "uVar3") (= "=") (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" (identifier "local_30c") (. ".") (field_identifier "st_ino")) (. ".") (field_identifier "_4_4_"))) (; ";")) (} "}")) (else_clause "else {\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" (else "else") (compound_statement "{\n      iVar7 = __fxstat64(3,iVar7,&local_30c);\n      uVar10 = (undefined4)local_30c.st_dev;\n      uVar11 = local_30c.st_dev._4_4_;\n      uVar2 = (undefined4)local_30c.st_ino;\n      uVar3 = local_30c.st_ino._4_4_;\n    }" ({ "{") (expression_statement "iVar7 = __fxstat64(3,iVar7,&local_30c);" (assignment_expression "iVar7 = __fxstat64(3,iVar7,&local_30c)" (identifier "iVar7") (= "=") (call_expression "__fxstat64(3,iVar7,&local_30c)" (identifier "__fxstat64") (argument_list "(3,iVar7,&local_30c)" (( "(") (number_literal "3") (, ",") (identifier "iVar7") (, ",") (pointer_expression "&local_30c" (& "&") (identifier "local_30c")) () ")")))) (; ";")) (expression_statement "uVar10 = (undefined4)local_30c.st_dev;" (assignment_expression "uVar10 = (undefined4)local_30c.st_dev" (identifier "uVar10") (= "=") (cast_expression "(undefined4)local_30c.st_dev" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (field_expression "local_30c.st_dev" (identifier "local_30c") (. ".") (field_identifier "st_dev")))) (; ";")) (expression_statement "uVar11 = local_30c.st_dev._4_4_;" (assignment_expression "uVar11 = local_30c.st_dev._4_4_" (identifier "uVar11") (= "=") (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" (identifier "local_30c") (. ".") (field_identifier "st_dev")) (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "uVar2 = (undefined4)local_30c.st_ino;" (assignment_expression "uVar2 = (undefined4)local_30c.st_ino" (identifier "uVar2") (= "=") (cast_expression "(undefined4)local_30c.st_ino" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (field_expression "local_30c.st_ino" (identifier "local_30c") (. ".") (field_identifier "st_ino")))) (; ";")) (expression_statement "uVar3 = local_30c.st_ino._4_4_;" (assignment_expression "uVar3 = local_30c.st_ino._4_4_" (identifier "uVar3") (= "=") (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" (identifier "local_30c") (. ".") (field_identifier "st_ino")) (. ".") (field_identifier "_4_4_"))) (; ";")) (} "}")))) (if_statement "if (iVar7 < 0) {\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }\n    else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      dcgettext(0,"cannot determine device and inode of %s",5);\n      FUN_00015440();\n      closedir(__dirp);\n    }" ({ "{") (expression_statement "dcgettext(0,"cannot determine device and inode of %s",5);" (call_expression "dcgettext(0,"cannot determine device and inode of %s",5)" (identifier "dcgettext") (argument_list "(0,"cannot determine device and inode of %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""cannot determine device and inode of %s"" (" """) (string_content "cannot determine device and inode of %s") (" """)) (, ",") (number_literal "5") () ")"))) (; ";")) (expression_statement "FUN_00015440();" (call_expression "FUN_00015440()" (identifier "FUN_00015440") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" (identifier "closedir") (argument_list "(__dirp)" (( "(") (identifier "__dirp") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }" (else "else") (compound_statement "{\n      local_30c.st_dev._0_4_ = uVar10;\n      local_30c.st_dev._4_4_ = uVar11;\n      local_30c.st_ino._0_4_ = uVar2;\n      local_30c.st_ino._4_4_ = uVar3;\n      puVar8 = (undefined4 *)FUN_00023f30(0x10);\n      *puVar8 = uVar2;\n      puVar8[1] = uVar3;\n      puVar8[2] = uVar10;\n      puVar8[3] = uVar11;\n      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);\n      if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }\n      if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }\n      free(puVar8);\n      uVar10 = FUN_000234e0(0,3,param_1);\n      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);\n      error(0,0,uVar11,uVar10);\n      closedir(__dirp);\n      DAT_0003c1f8 = 2;\n    }" ({ "{") (expression_statement "local_30c.st_dev._0_4_ = uVar10;" (assignment_expression "local_30c.st_dev._0_4_ = uVar10" (field_expression "local_30c.st_dev._0_4_" (field_expression "local_30c.st_dev" (identifier "local_30c") (. ".") (field_identifier "st_dev")) (. ".") (field_identifier "_0_4_")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "local_30c.st_dev._4_4_ = uVar11;" (assignment_expression "local_30c.st_dev._4_4_ = uVar11" (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" (identifier "local_30c") (. ".") (field_identifier "st_dev")) (. ".") (field_identifier "_4_4_")) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "local_30c.st_ino._0_4_ = uVar2;" (assignment_expression "local_30c.st_ino._0_4_ = uVar2" (field_expression "local_30c.st_ino._0_4_" (field_expression "local_30c.st_ino" (identifier "local_30c") (. ".") (field_identifier "st_ino")) (. ".") (field_identifier "_0_4_")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "local_30c.st_ino._4_4_ = uVar3;" (assignment_expression "local_30c.st_ino._4_4_ = uVar3" (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" (identifier "local_30c") (. ".") (field_identifier "st_ino")) (. ".") (field_identifier "_4_4_")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puVar8 = (undefined4 *)FUN_00023f30(0x10);" (assignment_expression "puVar8 = (undefined4 *)FUN_00023f30(0x10)" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)FUN_00023f30(0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00023f30(0x10)" (identifier "FUN_00023f30") (argument_list "(0x10)" (( "(") (number_literal "0x10") () ")"))))) (; ";")) (expression_statement "*puVar8 = uVar2;" (assignment_expression "*puVar8 = uVar2" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar8[1] = uVar3;" (assignment_expression "puVar8[1] = uVar3" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puVar8[2] = uVar10;" (assignment_expression "puVar8[2] = uVar10" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar8[3] = uVar11;" (assignment_expression "puVar8[3] = uVar11" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);" (assignment_expression "puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001dbc0(DAT_0003c364,puVar8)" (identifier "FUN_0001dbc0") (argument_list "(DAT_0003c364,puVar8)" (( "(") (identifier "DAT_0003c364") (, ",") (identifier "puVar8") () ")"))))) (; ";")) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n                    \n        FUN_00024230();\n      }" (if "if") (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar9 == (undefined4 *)0x0" (identifier "puVar9") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n        FUN_00024230();\n      }" ({ "{") (expression_statement "FUN_00024230();" (call_expression "FUN_00024230()" (identifier "FUN_00024230") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (puVar8 == puVar9) {\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }" (if "if") (parenthesized_expression "(puVar8 == puVar9)" (( "(") (binary_expression "puVar8 == puVar9" (identifier "puVar8") (== "==") (identifier "puVar9")) () ")")) (compound_statement "{\n        puVar8 = DAT_0003c14c;\n        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }\n        DAT_0003c14c = puVar8 + 4;\n        puVar8[2] = (undefined4)local_30c.st_dev;\n        puVar8[3] = local_30c.st_dev._4_4_;\n        *puVar8 = (undefined4)local_30c.st_ino;\n        puVar8[1] = local_30c.st_ino._4_4_;\n        goto LAB_00019a8f;\n      }" ({ "{") (expression_statement "puVar8 = DAT_0003c14c;" (assignment_expression "puVar8 = DAT_0003c14c" (identifier "puVar8") (= "=") (identifier "DAT_0003c14c")) (; ";")) (if_statement "if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }" (if "if") (parenthesized_expression "((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10)" (( "(") (binary_expression "(uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10" (call_expression "(uint)(DAT_0003c150 - (int)DAT_0003c14c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(DAT_0003c150 - (int)DAT_0003c14c)" (( "(") (binary_expression "DAT_0003c150 - (int)DAT_0003c14c" (identifier "DAT_0003c150") (- "-") (cast_expression "(int)DAT_0003c14c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_0003c14c"))) () ")"))) (< "<") (number_literal "0x10")) () ")")) (compound_statement "{\n          _obstack_newchunk(&DAT_0003c140,0x10);\n          puVar8 = DAT_0003c14c;\n        }" ({ "{") (expression_statement "_obstack_newchunk(&DAT_0003c140,0x10);" (call_expression "_obstack_newchunk(&DAT_0003c140,0x10)" (identifier "_obstack_newchunk") (argument_list "(&DAT_0003c140,0x10)" (( "(") (pointer_expression "&DAT_0003c140" (& "&") (identifier "DAT_0003c140")) (, ",") (number_literal "0x10") () ")"))) (; ";")) (expression_statement "puVar8 = DAT_0003c14c;" (assignment_expression "puVar8 = DAT_0003c14c" (identifier "puVar8") (= "=") (identifier "DAT_0003c14c")) (; ";")) (} "}"))) (expression_statement "DAT_0003c14c = puVar8 + 4;" (assignment_expression "DAT_0003c14c = puVar8 + 4" (identifier "DAT_0003c14c") (= "=") (binary_expression "puVar8 + 4" (identifier "puVar8") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar8[2] = (undefined4)local_30c.st_dev;" (assignment_expression "puVar8[2] = (undefined4)local_30c.st_dev" (subscript_expression "puVar8[2]" (identifier "puVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(undefined4)local_30c.st_dev" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (field_expression "local_30c.st_dev" (identifier "local_30c") (. ".") (field_identifier "st_dev")))) (; ";")) (expression_statement "puVar8[3] = local_30c.st_dev._4_4_;" (assignment_expression "puVar8[3] = local_30c.st_dev._4_4_" (subscript_expression "puVar8[3]" (identifier "puVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (field_expression "local_30c.st_dev._4_4_" (field_expression "local_30c.st_dev" (identifier "local_30c") (. ".") (field_identifier "st_dev")) (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "*puVar8 = (undefined4)local_30c.st_ino;" (assignment_expression "*puVar8 = (undefined4)local_30c.st_ino" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (cast_expression "(undefined4)local_30c.st_ino" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (field_expression "local_30c.st_ino" (identifier "local_30c") (. ".") (field_identifier "st_ino")))) (; ";")) (expression_statement "puVar8[1] = local_30c.st_ino._4_4_;" (assignment_expression "puVar8[1] = local_30c.st_ino._4_4_" (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (field_expression "local_30c.st_ino._4_4_" (field_expression "local_30c.st_ino" (identifier "local_30c") (. ".") (field_identifier "st_ino")) (. ".") (field_identifier "_4_4_"))) (; ";")) (goto_statement "goto LAB_00019a8f;" (goto "goto") (statement_identifier "LAB_00019a8f") (; ";")) (} "}"))) (expression_statement "free(puVar8);" (call_expression "free(puVar8)" (identifier "free") (argument_list "(puVar8)" (( "(") (identifier "puVar8") () ")"))) (; ";")) (expression_statement "uVar10 = FUN_000234e0(0,3,param_1);" (assignment_expression "uVar10 = FUN_000234e0(0,3,param_1)" (identifier "uVar10") (= "=") (call_expression "FUN_000234e0(0,3,param_1)" (identifier "FUN_000234e0") (argument_list "(0,3,param_1)" (( "(") (number_literal "0") (, ",") (number_literal "3") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);" (assignment_expression "uVar11 = dcgettext(0,"%s: not listing already-listed directory",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,"%s: not listing already-listed directory",5)" (identifier "dcgettext") (argument_list "(0,"%s: not listing already-listed directory",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s: not listing already-listed directory"" (" """) (string_content "%s: not listing already-listed directory") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(0,0,uVar11,uVar10);" (call_expression "error(0,0,uVar11,uVar10)" (identifier "error") (argument_list "(0,0,uVar11,uVar10)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "uVar11") (, ",") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "closedir(__dirp);" (call_expression "closedir(__dirp)" (identifier "closedir") (argument_list "(__dirp)" (( "(") (identifier "__dirp") () ")"))) (; ";")) (expression_statement "DAT_0003c1f8 = 2;" (assignment_expression "DAT_0003c1f8 = 2" (identifier "DAT_0003c1f8") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto LAB_00019a02;" (goto "goto") (statement_identifier "LAB_00019a02") (; ";")) (labeled_statement "LAB_00019ca5:\n  iVar7 = closedir(__dirp);" (statement_identifier "LAB_00019ca5") (: ":") (expression_statement "iVar7 = closedir(__dirp);" (assignment_expression "iVar7 = closedir(__dirp)" (identifier "iVar7") (= "=") (call_expression "closedir(__dirp)" (identifier "closedir") (argument_list "(__dirp)" (( "(") (identifier "__dirp") () ")")))) (; ";"))) (if_statement "if (iVar7 != 0) {\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    dcgettext(0,"closing directory %s",5);\n    FUN_00015440();\n  }" ({ "{") (expression_statement "dcgettext(0,"closing directory %s",5);" (call_expression "dcgettext(0,"closing directory %s",5)" (identifier "dcgettext") (argument_list "(0,"closing directory %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""closing directory %s"" (" """) (string_content "closing directory %s") (" """)) (, ",") (number_literal "5") () ")"))) (; ";")) (expression_statement "FUN_00015440();" (call_expression "FUN_00015440()" (identifier "FUN_00015440") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00014d50();" (call_expression "FUN_00014d50()" (identifier "FUN_00014d50") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (DAT_0003c2ce != '\0') {\n    FUN_00014fd0();\n  }" (if "if") (parenthesized_expression "(DAT_0003c2ce != '\0')" (( "(") (binary_expression "DAT_0003c2ce != '\0'" (identifier "DAT_0003c2ce") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    FUN_00014fd0();\n  }" ({ "{") (expression_statement "FUN_00014fd0();" (call_expression "FUN_00014fd0()" (identifier "FUN_00014fd0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar5 = PTR_stdout_0003afcc;" (assignment_expression "puVar5 = PTR_stdout_0003afcc" (identifier "puVar5") (= "=") (identifier "PTR_stdout_0003afcc")) (; ";")) (if_statement "if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }" (if "if") (parenthesized_expression "((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0'))" (( "(") (binary_expression "(DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')" (parenthesized_expression "(DAT_0003c308 == 0)" (( "(") (binary_expression "DAT_0003c308 == 0" (identifier "DAT_0003c308") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_0003c2fc != '\0')" (( "(") (binary_expression "DAT_0003c2fc != '\0'" (identifier "DAT_0003c2fc") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }\n    pcVar13 = (char *)dcgettext(0,"total",5);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);\n    fputs_unlocked(pcVar13,*(FILE **)puVar5);\n    sVar14 = strlen(pcVar13);\n    DAT_0003c1ec = DAT_0003c1ec + sVar14;\n    p_Var1 = *(_IO_FILE **)puVar5;\n    pcVar13 = p_Var1->_IO_write_ptr;\n    if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }\n    DAT_0003c1ec = DAT_0003c1ec + 1;\n  }" ({ "{") (if_statement "if (DAT_0003c2e8 != '\0') {\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }" (if "if") (parenthesized_expression "(DAT_0003c2e8 != '\0')" (( "(") (binary_expression "DAT_0003c2e8 != '\0'" (identifier "DAT_0003c2e8") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);\n      DAT_0003c1ec = DAT_0003c1ec + 2;\n    }" ({ "{") (expression_statement "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);" (call_expression "fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc)" (identifier "fwrite_unlocked") (argument_list "(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc)" (( "(") (pointer_expression "&DAT_0002d9aa" (& "&") (identifier "DAT_0002d9aa")) (, ",") (number_literal "1") (, ",") (number_literal "2") (, ",") (pointer_expression "*(FILE **)PTR_stdout_0003afcc" (* "*") (cast_expression "(FILE **)PTR_stdout_0003afcc" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_0003afcc"))) () ")"))) (; ";")) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 2;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 2" (identifier "DAT_0003c1ec") (= "=") (binary_expression "DAT_0003c1ec + 2" (identifier "DAT_0003c1ec") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "pcVar13 = (char *)dcgettext(0,"total",5);" (assignment_expression "pcVar13 = (char *)dcgettext(0,"total",5)" (identifier "pcVar13") (= "=") (cast_expression "(char *)dcgettext(0,"total",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"total",5)" (identifier "dcgettext") (argument_list "(0,"total",5)" (( "(") (number_literal "0") (, ",") (string_literal ""total"" (" """) (string_content "total") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fputs_unlocked(pcVar13,*(FILE **)puVar5);" (call_expression "fputs_unlocked(pcVar13,*(FILE **)puVar5)" (identifier "fputs_unlocked") (argument_list "(pcVar13,*(FILE **)puVar5)" (( "(") (identifier "pcVar13") (, ",") (pointer_expression "*(FILE **)puVar5" (* "*") (cast_expression "(FILE **)puVar5" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5"))) () ")"))) (; ";")) (expression_statement "sVar14 = strlen(pcVar13);" (assignment_expression "sVar14 = strlen(pcVar13)" (identifier "sVar14") (= "=") (call_expression "strlen(pcVar13)" (identifier "strlen") (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")")))) (; ";")) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + sVar14;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + sVar14" (identifier "DAT_0003c1ec") (= "=") (binary_expression "DAT_0003c1ec + sVar14" (identifier "DAT_0003c1ec") (+ "+") (identifier "sVar14"))) (; ";")) (expression_statement "p_Var1 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var1 = *(_IO_FILE **)puVar5" (identifier "p_Var1") (= "=") (pointer_expression "*(_IO_FILE **)puVar5" (* "*") (cast_expression "(_IO_FILE **)puVar5" (( "(") (type_descriptor "_IO_FILE **" (type_identifier "_IO_FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "pcVar13 = p_Var1->_IO_write_ptr;" (assignment_expression "pcVar13 = p_Var1->_IO_write_ptr" (identifier "pcVar13") (= "=") (field_expression "p_Var1->_IO_write_ptr" (identifier "p_Var1") (-> "->") (field_identifier "_IO_write_ptr"))) (; ";")) (if_statement "if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }\n    else {\n      __overflow(p_Var1,0x20);\n    }" (if "if") (parenthesized_expression "(pcVar13 < p_Var1->_IO_write_end)" (( "(") (binary_expression "pcVar13 < p_Var1->_IO_write_end" (identifier "pcVar13") (< "<") (field_expression "p_Var1->_IO_write_end" (identifier "p_Var1") (-> "->") (field_identifier "_IO_write_end"))) () ")")) (compound_statement "{\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = ' ';\n    }" ({ "{") (expression_statement "p_Var1->_IO_write_ptr = pcVar13 + 1;" (assignment_expression "p_Var1->_IO_write_ptr = pcVar13 + 1" (field_expression "p_Var1->_IO_write_ptr" (identifier "p_Var1") (-> "->") (field_identifier "_IO_write_ptr")) (= "=") (binary_expression "pcVar13 + 1" (identifier "pcVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar13 = ' ';" (assignment_expression "*pcVar13 = ' '" (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) (= "=") (char_literal "' '" (' "'") (character " ") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n      __overflow(p_Var1,0x20);\n    }" (else "else") (compound_statement "{\n      __overflow(p_Var1,0x20);\n    }" ({ "{") (expression_statement "__overflow(p_Var1,0x20);" (call_expression "__overflow(p_Var1,0x20)" (identifier "__overflow") (argument_list "(p_Var1,0x20)" (( "(") (identifier "p_Var1") (, ",") (number_literal "0x20") () ")"))) (; ";")) (} "}")))) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 1;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 1" (identifier "DAT_0003c1ec") (= "=") (binary_expression "DAT_0003c1ec + 1" (identifier "DAT_0003c1ec") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);" (assignment_expression "pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" (identifier "pcVar13") (= "=") (cast_expression "(char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" (identifier "FUN_0001df30") (argument_list "(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4)" (( "(") (identifier "lVar4") (, ",") (identifier "local_2ac") (, ",") (identifier "DAT_0003c2f8") (, ",") (number_literal "0x200") (, ",") (number_literal "0") (, ",") (identifier "DAT_0003c2f0") (, ",") (identifier "DAT_0003c2f4") () ")"))))) (; ";")) (expression_statement "fputs_unlocked(pcVar13,*(FILE **)puVar5);" (call_expression "fputs_unlocked(pcVar13,*(FILE **)puVar5)" (identifier "fputs_unlocked") (argument_list "(pcVar13,*(FILE **)puVar5)" (( "(") (identifier "pcVar13") (, ",") (pointer_expression "*(FILE **)puVar5" (* "*") (cast_expression "(FILE **)puVar5" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5"))) () ")"))) (; ";")) (expression_statement "sVar14 = strlen(pcVar13);" (assignment_expression "sVar14 = strlen(pcVar13)" (identifier "sVar14") (= "=") (call_expression "strlen(pcVar13)" (identifier "strlen") (argument_list "(pcVar13)" (( "(") (identifier "pcVar13") () ")")))) (; ";")) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + sVar14;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + sVar14" (identifier "DAT_0003c1ec") (= "=") (binary_expression "DAT_0003c1ec + sVar14" (identifier "DAT_0003c1ec") (+ "+") (identifier "sVar14"))) (; ";")) (expression_statement "p_Var1 = *(_IO_FILE **)puVar5;" (assignment_expression "p_Var1 = *(_IO_FILE **)puVar5" (identifier "p_Var1") (= "=") (pointer_expression "*(_IO_FILE **)puVar5" (* "*") (cast_expression "(_IO_FILE **)puVar5" (( "(") (type_descriptor "_IO_FILE **" (type_identifier "_IO_FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "pcVar13 = p_Var1->_IO_write_ptr;" (assignment_expression "pcVar13 = p_Var1->_IO_write_ptr" (identifier "pcVar13") (= "=") (field_expression "p_Var1->_IO_write_ptr" (identifier "p_Var1") (-> "->") (field_identifier "_IO_write_ptr"))) (; ";")) (if_statement "if (pcVar13 < p_Var1->_IO_write_end) {\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }\n    else {\n      __overflow(p_Var1,10);\n    }" (if "if") (parenthesized_expression "(pcVar13 < p_Var1->_IO_write_end)" (( "(") (binary_expression "pcVar13 < p_Var1->_IO_write_end" (identifier "pcVar13") (< "<") (field_expression "p_Var1->_IO_write_end" (identifier "p_Var1") (-> "->") (field_identifier "_IO_write_end"))) () ")")) (compound_statement "{\n      p_Var1->_IO_write_ptr = pcVar13 + 1;\n      *pcVar13 = '\n';\n    }" ({ "{") (expression_statement "p_Var1->_IO_write_ptr = pcVar13 + 1;" (assignment_expression "p_Var1->_IO_write_ptr = pcVar13 + 1" (field_expression "p_Var1->_IO_write_ptr" (identifier "p_Var1") (-> "->") (field_identifier "_IO_write_ptr")) (= "=") (binary_expression "pcVar13 + 1" (identifier "pcVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar13 = '\n';" (assignment_expression "*pcVar13 = '\n'" (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) (= "=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n      __overflow(p_Var1,10);\n    }" (else "else") (compound_statement "{\n      __overflow(p_Var1,10);\n    }" ({ "{") (expression_statement "__overflow(p_Var1,10);" (call_expression "__overflow(p_Var1,10)" (identifier "__overflow") (argument_list "(p_Var1,10)" (( "(") (identifier "p_Var1") (, ",") (number_literal "10") () ")"))) (; ";")) (} "}")))) (expression_statement "DAT_0003c1ec = DAT_0003c1ec + 1;" (assignment_expression "DAT_0003c1ec = DAT_0003c1ec + 1" (identifier "DAT_0003c1ec") (= "=") (binary_expression "DAT_0003c1ec + 1" (identifier "DAT_0003c1ec") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (DAT_0003c358 != 0) {\n    FUN_000194f0();\n  }" (if "if") (parenthesized_expression "(DAT_0003c358 != 0)" (( "(") (binary_expression "DAT_0003c358 != 0" (identifier "DAT_0003c358") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_000194f0();\n  }" ({ "{") (expression_statement "FUN_000194f0();" (call_expression "FUN_000194f0()" (identifier "FUN_000194f0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00019a02:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" (statement_identifier "LAB_00019a02") (: ":") (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "FUN_0002b190();" (call_expression "FUN_0002b190()" (identifier "FUN_0002b190") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void __regparm3 function_1(char *name,char *var_18,type_1 command_line_arg)

{
  int var_62;
  type_2 *p_Var2;
  type_3 var_35;
  type_4 uVar3;
  type_4 uVar4;
  type_4 uVar5;
  type_5 *var_26;
  type_5 *var_29;
  type_6 *puVar8;
  type_7 var_30;
  int *piVar10;
  type_8 *var_4;
  int var_28;
  char *var_11;
  char *var_50;
  type_4 uVar14;
  type_9 *var_22;
  size_t var_59;
  type_10 type;
  int var_1;
  type_3 var_34;
  char *in_stack_fffffcb8;
  type_11 *in_stack_fffffcbc;
  type_12 dir_stat;
  char buf [652];
  
  var_62 = *(int *)(var_1 + 0x14);
  piVar10 = var_2();
  *piVar10 = 0;
  var_4 = var_3(name);
  if (var_4 == (type_8 *)0x0) {
    var_11 = (char *)var_5(0,"cannot open directory %s",5);
    var_6(command_line_arg,var_11,name);
  }
  else {
    if (var_7 == (type_13 *)0x0) {
LAB_00019a8f:
      var_8();
      puVar8 = PTR_stdout_0003afcc;
      if ((var_9 != false) || (var_10 != false)) {
        if (function_1::first == false) {
          p_Var2 = *(type_2 **)PTR_stdout_0003afcc;
          var_11 = p_Var2->_IO_write_ptr;
          if (var_11 < p_Var2->_IO_write_end) {
            p_Var2->_IO_write_ptr = var_11 + 1;
            *var_11 = '\n';
          }
          else {
            var_12(p_Var2,10);
          }
          var_13 = var_13 + 1;
        }
        print_dir::first = false;
        if (var_14 != false) {
          var_15(&DAT_0002d9aa,1,2,*(type_14 **)puVar8);
          var_13 = var_13 + 2;
        }
        var_11 = (char *)0x0;
        if ((var_16 != false) &&
           (var_11 = var_17(name,CAN_MISSING), var_11 == (char *)0x0)) {
          var_50 = (char *)var_5(0,"error canonicalizing %s",5);
          var_6(command_line_arg,var_50,name);
        }
        if (var_18 == (char *)0x0) {
          var_18 = name;
        }
        in_stack_fffffcbc = &subdired_obstack;
        in_stack_fffffcb8 = (char *)0x1;
        var_19(var_18,dirname_quoting_options,-1,(type_15 *)0x0,true,&subdired_obstack,var_11
                  );
        var_20(var_11);
        var_15(":\n",1,2,*(type_14 **)puVar8);
        var_13 = var_13 + 2;
      }
      var_35 = 0;
      do {
        *piVar10 = 0;
        var_22 = var_21(var_4);
        if (var_22 == (type_9 *)0x0) {
          if (*piVar10 == 0) goto LAB_00019ca5;
          in_stack_fffffcbc = (type_11 *)0x5;
          in_stack_fffffcb8 = "reading directory %s";
          var_11 = (char *)var_5(0);
          var_6(command_line_arg,var_11,name);
          if (*piVar10 != 0x4b) goto LAB_00019ca5;
        }
        else {
          var_11 = var_22->d_name;
          var_29 = ignore_patterns;
          if (var_23 != var_24) {
            if (var_22->d_name[0] == '.') {
              if ((var_23 == var_25) ||
                 (var_22->d_name[(var_22->d_name[1] == '.') + 1] == '\0')) goto LAB_00019bf0;
            }
            else {
              var_26 = hide_patterns;
              if (var_23 == var_25) {
                for (; var_29 = ignore_patterns, var_26 != (type_5 *)0x0;
                    var_26 = var_26->next) {
                  in_stack_fffffcbc = (type_11 *)0x4;
                  in_stack_fffffcb8 = var_11;
                  var_28 = var_27(var_26->pattern,var_11,4);
                  if (var_28 == 0) goto LAB_00019bf0;
                }
              }
            }
          }
          for (; var_29 != (type_5 *)0x0; var_29 = var_29->next) {
            in_stack_fffffcbc = (type_11 *)0x4;
            in_stack_fffffcb8 = var_11;
            var_28 = var_27(var_29->pattern,var_11,4);
            if (var_28 == 0) goto LAB_00019bf0;
          }
          type = unknown;
          var_30 = var_22->d_type - 1;
          if (var_30 < 0xe) {
            type = *(type_10 *)(var_31 + (type_16)var_30 * 4);
          }
          var_34 = var_32(var_11,type,var_33(in_stack_fffffcb8,name),false,
                               (char *)in_stack_fffffcbc);
          var_35 = var_34 + var_35;
          if ((((var_36 == var_37) && (var_38 == var_39)) && (var_40 == false)
              ) && (var_9 == false)) {
            var_41();
            var_42();
            var_8();
          }
        }
LAB_00019bf0:
        var_43();
      } while( true );
    }
    var_28 = var_44(var_4);
    if (var_28 < 0) {
      in_stack_fffffcbc = (type_11 *)&dir_stat;
      var_28 = var_45(3,name,(type_17 *)in_stack_fffffcbc);
      uVar14 = (type_4)dir_stat.st_dev;
      uVar3 = dir_stat.st_dev._4_4_;
      uVar4 = (type_4)dir_stat.st_ino;
      uVar5 = dir_stat.st_ino._4_4_;
    }
    else {
      in_stack_fffffcbc = (type_11 *)&dir_stat;
      var_28 = var_46(3,var_28,(type_17 *)in_stack_fffffcbc);
      uVar14 = (type_4)dir_stat.st_dev;
      uVar3 = dir_stat.st_dev._4_4_;
      uVar4 = (type_4)dir_stat.st_ino;
      uVar5 = dir_stat.st_ino._4_4_;
    }
    if (var_28 < 0) {
      var_11 = (char *)var_5(0,"cannot determine device and inode of %s",5);
      var_6(command_line_arg,var_11,name);
      var_47(var_4);
    }
    else {
      dir_stat.st_dev._0_4_ = uVar14;
      dir_stat.st_dev._4_4_ = uVar3;
      dir_stat.st_ino._0_4_ = uVar4;
      dir_stat.st_ino._4_4_ = uVar5;
      var_11 = (char *)var_48(0x10);
      *(type_4 *)var_11 = uVar4;
      *(type_4 *)(var_11 + 4) = uVar5;
      *(type_4 *)(var_11 + 8) = uVar14;
      *(type_4 *)(var_11 + 0xc) = uVar3;
      in_stack_fffffcb8 = var_11;
      var_50 = (char *)var_49(var_7,var_11);
      if (var_50 == (char *)0x0) {
                    /* WARNING: Subroutine does not return */
        var_51();
      }
      if (var_11 == var_50) {
        var_11 = dev_ino_obstack.next_free;
        if ((type_16)((int)dev_ino_obstack.chunk_limit - (int)dev_ino_obstack.next_free) < 0x10) {
          in_stack_fffffcb8 = (char *)0x10;
          var_52(&dev_ino_obstack,0x10);
          var_11 = dev_ino_obstack.next_free;
        }
        dev_ino_obstack.next_free = var_11 + 0x10;
        *(type_4 *)(var_11 + 8) = (type_4)dir_stat.st_dev;
        *(type_4 *)(var_11 + 0xc) = dir_stat.st_dev._4_4_;
        *(type_4 *)var_11 = (type_4)dir_stat.st_ino;
        *(type_4 *)(var_11 + 4) = dir_stat.st_ino._4_4_;
        goto LAB_00019a8f;
      }
      var_20(var_11);
      var_11 = var_53(0,shell_escape_quoting_style,name);
      uVar14 = var_5(0,"%s: not listing already-listed directory",5);
      var_54(0,0,uVar14,var_11);
      var_47(var_4);
      exit_status = 2;
    }
  }
  goto LAB_00019a02;
LAB_00019ca5:
  var_28 = var_47(var_4);
  if (var_28 != 0) {
    var_11 = (char *)var_5(0,"closing directory %s",5);
    var_6(command_line_arg,var_11,name);
  }
  var_41();
  if (var_9 != false) {
    var_55(name,false);
  }
  puVar8 = PTR_stdout_0003afcc;
  if ((var_36 == var_56) || (var_40 != false)) {
    if (var_14 != false) {
      var_15(&DAT_0002d9aa,1,2,*(type_14 **)PTR_stdout_0003afcc);
      var_13 = var_13 + 2;
    }
    var_11 = (char *)var_5(0,"total",5);
    var_57(var_11,*(type_14 **)puVar8);
    var_59 = var_58(var_11);
    var_13 = var_13 + var_59;
    p_Var2 = *(type_2 **)puVar8;
    var_11 = p_Var2->_IO_write_ptr;
    if (var_11 < p_Var2->_IO_write_end) {
      p_Var2->_IO_write_ptr = var_11 + 1;
      *var_11 = ' ';
    }
    else {
      var_12(p_Var2,0x20);
    }
    var_13 = var_13 + 1;
    var_11 = var_60(var_35,buf,human_output_opts,0x200,
                             var_33(output_block_size._4_4_,(type_4)output_block_size));
    var_57(var_11,*(type_14 **)puVar8);
    var_59 = var_58(var_11);
    var_13 = var_13 + var_59;
    p_Var2 = *(type_2 **)puVar8;
    var_11 = p_Var2->_IO_write_ptr;
    if (var_11 < p_Var2->_IO_write_end) {
      p_Var2->_IO_write_ptr = var_11 + 1;
      *var_11 = '\n';
    }
    else {
      var_12(p_Var2,10);
    }
    var_13 = var_13 + 1;
  }
  if (var_61 != 0) {
    var_42();
  }
LAB_00019a02:
  if (var_62 == *(int *)(var_1 + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_63();
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void __regparm3 MASKED(char *param_1)

{
  _IO_FILE *p_Var1;
  undefined4 uVar2;
  undefined4 uVar3;
  longlong lVar4;
  undefined *puVar5;
  int *piVar6;
  DIR *__dirp;
  int iVar7;
  undefined4 *puVar8;
  undefined4 *puVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  dirent64 *pdVar12;
  char *pcVar13;
  size_t sVar14;
  void *__ptr;
  int in_GS_OFFSET;
  longlong lVar15;
  stat64 local_30c;
  undefined1 local_2ac [652];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x198bb;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  piVar6 = __errno_location();
  *piVar6 = 0;
  __dirp = opendir(param_1);
  if (__dirp == (DIR *)0x0) {
    dcgettext(0,"cannot open directory %s",5);
    FUN_00015440();
  }
  else {
    if (DAT_0003c364 == 0) {
LAB_00019a8f:
      FUN_00014b40();
      puVar5 = PTR_stdout_0003afcc;
      if ((DAT_0003c2ce != '\0') || (DAT_0003c2ac != '\0')) {
        if (DAT_0003b1e8 == '\0') {
          p_Var1 = *(_IO_FILE **)PTR_stdout_0003afcc;
          pcVar13 = p_Var1->_IO_write_ptr;
          if (pcVar13 < p_Var1->_IO_write_end) {
            p_Var1->_IO_write_ptr = pcVar13 + 1;
            *pcVar13 = '\n';
          }
          else {
            __overflow(p_Var1,10);
          }
          DAT_0003c1ec = DAT_0003c1ec + 1;
        }
        DAT_0003b1e8 = '\0';
        if (DAT_0003c2e8 != '\0') {
          fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)puVar5);
          DAT_0003c1ec = DAT_0003c1ec + 2;
        }
        __ptr = (void *)0x0;
        if ((DAT_0003c2e1 != '\0') &&
           (__ptr = (void *)FUN_0001b7b0(param_1,2), __ptr == (void *)0x0)) {
          dcgettext(0,"error canonicalizing %s",5);
          FUN_00015440();
        }
        FUN_00016280(0,1,&DAT_0003c180,__ptr);
        free(__ptr);
        fwrite_unlocked(":\n",1,2,*(FILE **)puVar5);
        DAT_0003c1ec = DAT_0003c1ec + 2;
      }
      lVar4 = 0;
      do {
        *piVar6 = 0;
        pdVar12 = readdir64(__dirp);
        if (pdVar12 == (dirent64 *)0x0) {
          if (*piVar6 == 0) goto LAB_00019ca5;
          dcgettext(0,"reading directory %s",5);
          FUN_00015440();
          if (*piVar6 != 0x4b) goto LAB_00019ca5;
        }
        else {
          puVar8 = DAT_0003c2c4;
          if (DAT_0003c2c8 != 2) {
            if (pdVar12->d_name[0] == '.') {
              if ((DAT_0003c2c8 == 0) || (pdVar12->d_name[(pdVar12->d_name[1] == '.') + 1] == '\0'))
              goto LAB_00019bf0;
            }
            else {
              puVar9 = DAT_0003c2c0;
              if (DAT_0003c2c8 == 0) {
                for (; puVar8 = DAT_0003c2c4, puVar9 != (undefined4 *)0x0;
                    puVar9 = (undefined4 *)puVar9[1]) {
                  iVar7 = FUN_00027930(*puVar9,pdVar12->d_name,4);
                  if (iVar7 == 0) goto LAB_00019bf0;
                }
              }
            }
          }
          for (; puVar8 != (undefined4 *)0x0; puVar8 = (undefined4 *)puVar8[1]) {
            iVar7 = FUN_00027930(*puVar8,pdVar12->d_name,4);
            if (iVar7 == 0) goto LAB_00019bf0;
          }
          lVar15 = FUN_00018090(param_1);
          lVar4 = lVar15 + lVar4;
          if ((((DAT_0003c308 == 1) && (DAT_0003c300 == -1)) && (DAT_0003c2fc == '\0')) &&
             (DAT_0003c2ce == '\0')) {
            FUN_00014d50();
            FUN_000194f0();
            FUN_00014b40();
          }
        }
LAB_00019bf0:
        FUN_00015cc0();
      } while( true );
    }
    iVar7 = dirfd(__dirp);
    if (iVar7 < 0) {
      iVar7 = __xstat64(3,param_1,&local_30c);
      uVar10 = (undefined4)local_30c.st_dev;
      uVar11 = local_30c.st_dev._4_4_;
      uVar2 = (undefined4)local_30c.st_ino;
      uVar3 = local_30c.st_ino._4_4_;
    }
    else {
      iVar7 = __fxstat64(3,iVar7,&local_30c);
      uVar10 = (undefined4)local_30c.st_dev;
      uVar11 = local_30c.st_dev._4_4_;
      uVar2 = (undefined4)local_30c.st_ino;
      uVar3 = local_30c.st_ino._4_4_;
    }
    if (iVar7 < 0) {
      dcgettext(0,"cannot determine device and inode of %s",5);
      FUN_00015440();
      closedir(__dirp);
    }
    else {
      local_30c.st_dev._0_4_ = uVar10;
      local_30c.st_dev._4_4_ = uVar11;
      local_30c.st_ino._0_4_ = uVar2;
      local_30c.st_ino._4_4_ = uVar3;
      puVar8 = (undefined4 *)FUN_00023f30(0x10);
      *puVar8 = uVar2;
      puVar8[1] = uVar3;
      puVar8[2] = uVar10;
      puVar8[3] = uVar11;
      puVar9 = (undefined4 *)FUN_0001dbc0(DAT_0003c364,puVar8);
      if (puVar9 == (undefined4 *)0x0) {
                    /* WARNING: Subroutine does not return */
        FUN_00024230();
      }
      if (puVar8 == puVar9) {
        puVar8 = DAT_0003c14c;
        if ((uint)(DAT_0003c150 - (int)DAT_0003c14c) < 0x10) {
          _obstack_newchunk(&DAT_0003c140,0x10);
          puVar8 = DAT_0003c14c;
        }
        DAT_0003c14c = puVar8 + 4;
        puVar8[2] = (undefined4)local_30c.st_dev;
        puVar8[3] = local_30c.st_dev._4_4_;
        *puVar8 = (undefined4)local_30c.st_ino;
        puVar8[1] = local_30c.st_ino._4_4_;
        goto LAB_00019a8f;
      }
      free(puVar8);
      uVar10 = FUN_000234e0(0,3,param_1);
      uVar11 = dcgettext(0,"%s: not listing already-listed directory",5);
      error(0,0,uVar11,uVar10);
      closedir(__dirp);
      DAT_0003c1f8 = 2;
    }
  }
  goto LAB_00019a02;
LAB_00019ca5:
  iVar7 = closedir(__dirp);
  if (iVar7 != 0) {
    dcgettext(0,"closing directory %s",5);
    FUN_00015440();
  }
  FUN_00014d50();
  if (DAT_0003c2ce != '\0') {
    FUN_00014fd0();
  }
  puVar5 = PTR_stdout_0003afcc;
  if ((DAT_0003c308 == 0) || (DAT_0003c2fc != '\0')) {
    if (DAT_0003c2e8 != '\0') {
      fwrite_unlocked(&DAT_0002d9aa,1,2,*(FILE **)PTR_stdout_0003afcc);
      DAT_0003c1ec = DAT_0003c1ec + 2;
    }
    pcVar13 = (char *)dcgettext(0,"total",5);
    fputs_unlocked(pcVar13,*(FILE **)puVar5);
    sVar14 = strlen(pcVar13);
    DAT_0003c1ec = DAT_0003c1ec + sVar14;
    p_Var1 = *(_IO_FILE **)puVar5;
    pcVar13 = p_Var1->_IO_write_ptr;
    if (pcVar13 < p_Var1->_IO_write_end) {
      p_Var1->_IO_write_ptr = pcVar13 + 1;
      *pcVar13 = ' ';
    }
    else {
      __overflow(p_Var1,0x20);
    }
    DAT_0003c1ec = DAT_0003c1ec + 1;
    pcVar13 = (char *)FUN_0001df30(lVar4,local_2ac,DAT_0003c2f8,0x200,0,DAT_0003c2f0,DAT_0003c2f4);
    fputs_unlocked(pcVar13,*(FILE **)puVar5);
    sVar14 = strlen(pcVar13);
    DAT_0003c1ec = DAT_0003c1ec + sVar14;
    p_Var1 = *(_IO_FILE **)puVar5;
    pcVar13 = p_Var1->_IO_write_ptr;
    if (pcVar13 < p_Var1->_IO_write_end) {
      p_Var1->_IO_write_ptr = pcVar13 + 1;
      *pcVar13 = '\n';
    }
    else {
      __overflow(p_Var1,10);
    }
    DAT_0003c1ec = DAT_0003c1ec + 1;
  }
  if (DAT_0003c358 != 0) {
    FUN_000194f0();
  }
LAB_00019a02:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002b190();
}

