
_Bool chown_files(char **files,int bit_flags,uid_t uid,gid_t gid,uid_t required_uid,
                 gid_t required_gid,Chown_option *chopt)

{
  FTS *sp;
  _Bool _Var3;
  FTSENT *ent;
  int *piVar1;
  undefined4 uVar2;
  _Bool _Var4;
  int iVar5;
  
  if ((((required_uid & required_gid) == 0xffffffff) && (chopt->affect_symlink_referent == false))
     && (chopt->verbosity == V_off)) {
    bit_flags = bit_flags | 8;
  }
  _Var4 = true;
  sp = xfts_open(files,bit_flags,(_func_int_FTSENT_ptr_ptr_FTSENT_ptr_ptr *)0x0);
  while (ent = fts_read(sp), ent != (FTSENT *)0x0) {
    _Var3 = change_file_owner(sp,ent,uid,gid,required_uid,required_gid,chopt);
    _Var4 = (_Bool)(_Var4 & _Var3);
  }
  piVar1 = (int *)(*(code *)PTR___errno_location_00033330)();
  iVar5 = *piVar1;
  if (iVar5 != 0) {
    if (chopt->force_silent == false) {
      uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);
      (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);
      _Var4 = false;
    }
    else {
      _Var4 = false;
    }
  }
  iVar5 = fts_close(sp);
  if (iVar5 != 0) {
    iVar5 = *piVar1;
    uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);
    (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);
    return false;
  }
  return _Var4;
}



uint chown_files(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,
                uint param_6,int *param_7)

{
  undefined4 uVar1;
  uint uVar2;
  int iVar3;
  int *piVar4;
  undefined4 uVar5;
  uint uVar6;
  
  if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))
  {
    param_2 = param_2 | 8;
  }
  uVar6 = 1;
  uVar1 = xfts_open(param_1,param_2,0);
  while (iVar3 = fts_read(uVar1), iVar3 != 0) {
    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);
    uVar6 = uVar6 & uVar2;
  }
  piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();
  iVar3 = *piVar4;
  if (iVar3 != 0) {
    if (*(char *)((int)param_7 + 0xd) == '\0') {
      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);
      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);
      uVar6 = 0;
    }
    else {
      uVar6 = 0;
    }
  }
  iVar3 = fts_close(uVar1);
  if (iVar3 != 0) {
    iVar3 = *piVar4;
    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);
    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);
    return 0;
  }
  return uVar6;
}


lui gp,0x2
addiu gp,gp,0x7024
addu gp,gp,t9
addiu sp,sp,-0x50
li v0,-0x1
sw s6,0x44(sp)
sw s5,0x40(sp)
sw gp,0x20(sp)
sw s7,0x48(sp)
sw s4,0x3c(sp)
or s4,a3,zero
sw s3,0x38(sp)
or s3,a2,zero
sw ra,0x4c(sp)
sw s2,0x34(sp)
sw s1,0x30(sp)
sw s0,0x2c(sp)
lw s5,0x60(sp)
lw s6,0x64(sp)
and v1,s5,s6
beq v1,v0,0x00014274
_lw s7,0x68(sp)
lw t9,-0x7f58(gp)
or a2,zero,zero
bal 0x00017620
_li s1,0x1
lw gp,0x20(sp)
or s0,v0,zero
lw s2,-0x7fcc(gp)
b 0x00014144
_addiu s2,s2,0x3160
sw s7,0x18(sp)
or t9,s2,zero
sw s6,0x14(sp)
bal 0x00013160
_sw s5,0x10(sp)
lw gp,0x20(sp)
and s1,s1,v0
lw t9,-0x7f64(gp)
bal 0x0001a3b8
_or a0,s0,zero
or a3,s4,zero
lw gp,0x20(sp)
or a2,s3,zero
or a0,s0,zero
bne v0,zero,0x00014128
_or a1,v0,zero
lw t9,-0x7da0(gp)
jalr t9
_nop
lw s3,0x0(v0)
or s2,v0,zero
beq s3,zero,0x00014194
_lw gp,0x20(sp)
lbu s1,0xd(s7)
beq s1,zero,0x00014240
_lw a1,-0x7fc8(gp)
or s1,zero,zero
lw t9,-0x7f54(gp)
bal 0x0001a16c
_or a0,s0,zero
bne v0,zero,0x000141d8
_lw gp,0x20(sp)
lw ra,0x4c(sp)
or v0,s1,zero
lw s7,0x48(sp)
lw s6,0x44(sp)
lw s5,0x40(sp)
lw s4,0x3c(sp)
lw s3,0x38(sp)
lw s2,0x34(sp)
lw s1,0x30(sp)
lw s0,0x2c(sp)
jr ra
_addiu sp,sp,0x50
lw a1,-0x7fc8(gp)
li a2,0x5
lw t9,-0x7d20(gp)
or a0,zero,zero
lw s0,0x0(s2)
or s1,zero,zero
jalr t9
_addiu a1,a1,0xf3c
or a0,zero,zero
lw gp,0x20(sp)
or a2,v0,zero
lw t9,-0x7d54(gp)
jalr t9
_or a1,s0,zero
or v0,s1,zero
lw ra,0x4c(sp)
lw s7,0x48(sp)
lw s6,0x44(sp)
lw s5,0x40(sp)
lw s4,0x3c(sp)
lw s3,0x38(sp)
lw s2,0x34(sp)
lw s1,0x30(sp)
lw s0,0x2c(sp)
jr ra
_addiu sp,sp,0x50
li a2,0x5
lw t9,-0x7d20(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0xf2c
or a0,zero,zero
lw gp,0x20(sp)
or a2,v0,zero
lw t9,-0x7d54(gp)
jalr t9
_or a1,s3,zero
b 0x00014194
_lw gp,0x20(sp)
lbu v0,0xc(s7)
bne v0,zero,0x00014108
_lw t9,-0x7f58(gp)
lw v1,0x0(s7)
li v0,0x2
bne v1,v0,0x0001410c
_or a2,zero,zero
b 0x00014108
_ori a1,a1,0x8
(translation_unit "uint chown_files(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,\n                uint param_6,int *param_7)\n\n{\n  undefined4 uVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  \n  if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))\n  {\n    param_2 = param_2 | 8;\n  }\n  uVar6 = 1;\n  uVar1 = xfts_open(param_1,param_2,0);\n  while (iVar3 = fts_read(uVar1), iVar3 != 0) {\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }\n  piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();\n  iVar3 = *piVar4;\n  if (iVar3 != 0) {\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }\n  iVar3 = fts_close(uVar1);\n  if (iVar3 != 0) {\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }\n  return uVar6;\n}\n\n" (function_definition "uint chown_files(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,\n                uint param_6,int *param_7)\n\n{\n  undefined4 uVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  \n  if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))\n  {\n    param_2 = param_2 | 8;\n  }\n  uVar6 = 1;\n  uVar1 = xfts_open(param_1,param_2,0);\n  while (iVar3 = fts_read(uVar1), iVar3 != 0) {\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }\n  piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();\n  iVar3 = *piVar4;\n  if (iVar3 != 0) {\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }\n  iVar3 = fts_close(uVar1);\n  if (iVar3 != 0) {\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }\n  return uVar6;\n}" type_identifier (function_declarator "chown_files(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,\n                uint param_6,int *param_7)" identifier (parameter_list "(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,\n                uint param_6,int *param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uint param_6" type_identifier identifier) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  undefined4 uVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  \n  if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))\n  {\n    param_2 = param_2 | 8;\n  }\n  uVar6 = 1;\n  uVar1 = xfts_open(param_1,param_2,0);\n  while (iVar3 = fts_read(uVar1), iVar3 != 0) {\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }\n  piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();\n  iVar3 = *piVar4;\n  if (iVar3 != 0) {\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }\n  iVar3 = fts_close(uVar1);\n  if (iVar3 != 0) {\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }\n  return uVar6;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (if_statement "if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))\n  {\n    param_2 = param_2 | 8;\n  }" if (parenthesized_expression "((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))" ( (binary_expression "(((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2)" (parenthesized_expression "(((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0'))" ( (binary_expression "((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')" (parenthesized_expression "((param_5 & param_6) == 0xffffffff)" ( (binary_expression "(param_5 & param_6) == 0xffffffff" (parenthesized_expression "(param_5 & param_6)" ( (binary_expression "param_5 & param_6" identifier & identifier) )) == number_literal) )) && (parenthesized_expression "(*(char *)(param_7 + 3) == '\0')" ( (binary_expression "*(char *)(param_7 + 3) == '\0'" (pointer_expression "*(char *)(param_7 + 3)" * (cast_expression "(char *)(param_7 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 3)" ( (binary_expression "param_7 + 3" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(*param_7 == 2)" ( (binary_expression "*param_7 == 2" (pointer_expression "*param_7" * identifier) == number_literal) ))) )) (compound_statement "{\n    param_2 = param_2 | 8;\n  }" { (expression_statement "param_2 = param_2 | 8;" (assignment_expression "param_2 = param_2 | 8" identifier = (binary_expression "param_2 | 8" identifier | number_literal)) ;) })) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "uVar1 = xfts_open(param_1,param_2,0);" (assignment_expression "uVar1 = xfts_open(param_1,param_2,0)" identifier = (call_expression "xfts_open(param_1,param_2,0)" identifier (argument_list "(param_1,param_2,0)" ( identifier , identifier , number_literal )))) ;) (while_statement "while (iVar3 = fts_read(uVar1), iVar3 != 0) {\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }" while (parenthesized_expression "(iVar3 = fts_read(uVar1), iVar3 != 0)" ( (comma_expression "iVar3 = fts_read(uVar1), iVar3 != 0" (assignment_expression "iVar3 = fts_read(uVar1)" identifier = (call_expression "fts_read(uVar1)" identifier (argument_list "(uVar1)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) )) (compound_statement "{\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }" { (expression_statement "uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);" (assignment_expression "uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7)" identifier = (call_expression "FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7)" identifier (argument_list "(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar6 = uVar6 & uVar2;" (assignment_expression "uVar6 = uVar6 & uVar2" identifier = (binary_expression "uVar6 & uVar2" identifier & identifier)) ;) })) (expression_statement "piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();" (assignment_expression "piVar4 = (int *)(*(code *)PTR___errno_location_00033330)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033330)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033330)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033330)" ( (pointer_expression "*(code *)PTR___errno_location_00033330" * (cast_expression "(code *)PTR___errno_location_00033330" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = *piVar4;" (assignment_expression "iVar3 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (iVar3 != 0) {\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }" { (if_statement "if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }" if (parenthesized_expression "(*(char *)((int)param_7 + 0xd) == '\0')" ( (binary_expression "*(char *)((int)param_7 + 0xd) == '\0'" (pointer_expression "*(char *)((int)param_7 + 0xd)" * (cast_expression "(char *)((int)param_7 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_7 + 0xd)" ( (binary_expression "(int)param_7 + 0xd" (cast_expression "(int)param_7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }" { (expression_statement "uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);" (assignment_expression "uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000333b0)" ( (pointer_expression "*(code *)PTR_dcgettext_000333b0" * (cast_expression "(code *)PTR_dcgettext_000333b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_fdopendir_00033108 + 0xf2c,5)" ( number_literal , (binary_expression "PTR_fdopendir_00033108 + 0xf2c" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_error_0003337c)(0,iVar3,uVar5);" (call_expression "(*(code *)PTR_error_0003337c)(0,iVar3,uVar5)" (parenthesized_expression "(*(code *)PTR_error_0003337c)" ( (pointer_expression "*(code *)PTR_error_0003337c" * (cast_expression "(code *)PTR_error_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,iVar3,uVar5)" ( number_literal , identifier , identifier ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar6 = 0;\n    }" else (compound_statement "{\n      uVar6 = 0;\n    }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }))) })) (expression_statement "iVar3 = fts_close(uVar1);" (assignment_expression "iVar3 = fts_close(uVar1)" identifier = (call_expression "fts_close(uVar1)" identifier (argument_list "(uVar1)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }" { (expression_statement "iVar3 = *piVar4;" (assignment_expression "iVar3 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);" (assignment_expression "uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000333b0)" ( (pointer_expression "*(code *)PTR_dcgettext_000333b0" * (cast_expression "(code *)PTR_dcgettext_000333b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_fdopendir_00033108 + 0xf3c,5)" ( number_literal , (binary_expression "PTR_fdopendir_00033108 + 0xf3c" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_error_0003337c)(0,iVar3,uVar1);" (call_expression "(*(code *)PTR_error_0003337c)(0,iVar3,uVar1)" (parenthesized_expression "(*(code *)PTR_error_0003337c)" ( (pointer_expression "*(code *)PTR_error_0003337c" * (cast_expression "(code *)PTR_error_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,iVar3,uVar1)" ( number_literal , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return uVar6;" return identifier ;) })))
(translation_unit "_Bool chown_files(char **files,int bit_flags,uid_t uid,gid_t gid,uid_t required_uid,\n                 gid_t required_gid,Chown_option *chopt)\n\n{\n  FTS *sp;\n  _Bool _Var3;\n  FTSENT *ent;\n  int *piVar1;\n  undefined4 uVar2;\n  _Bool _Var4;\n  int iVar5;\n  \n  if ((((required_uid & required_gid) == 0xffffffff) && (chopt->affect_symlink_referent == false))\n     && (chopt->verbosity == V_off)) {\n    bit_flags = bit_flags | 8;\n  }\n  _Var4 = true;\n  sp = xfts_open(files,bit_flags,(_func_int_FTSENT_ptr_ptr_FTSENT_ptr_ptr *)0x0);\n  while (ent = fts_read(sp), ent != (FTSENT *)0x0) {\n    _Var3 = change_file_owner(sp,ent,uid,gid,required_uid,required_gid,chopt);\n    _Var4 = (_Bool)(_Var4 & _Var3);\n  }\n  piVar1 = (int *)(*(code *)PTR___errno_location_00033330)();\n  iVar5 = *piVar1;\n  if (iVar5 != 0) {\n    if (chopt->force_silent == false) {\n      uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n      _Var4 = false;\n    }\n    else {\n      _Var4 = false;\n    }\n  }\n  iVar5 = fts_close(sp);\n  if (iVar5 != 0) {\n    iVar5 = *piVar1;\n    uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n    return false;\n  }\n  return _Var4;\n}\n\n" (function_definition "_Bool chown_files(char **files,int bit_flags,uid_t uid,gid_t gid,uid_t required_uid,\n                 gid_t required_gid,Chown_option *chopt)\n\n{\n  FTS *sp;\n  _Bool _Var3;\n  FTSENT *ent;\n  int *piVar1;\n  undefined4 uVar2;\n  _Bool _Var4;\n  int iVar5;\n  \n  if ((((required_uid & required_gid) == 0xffffffff) && (chopt->affect_symlink_referent == false))\n     && (chopt->verbosity == V_off)) {\n    bit_flags = bit_flags | 8;\n  }\n  _Var4 = true;\n  sp = xfts_open(files,bit_flags,(_func_int_FTSENT_ptr_ptr_FTSENT_ptr_ptr *)0x0);\n  while (ent = fts_read(sp), ent != (FTSENT *)0x0) {\n    _Var3 = change_file_owner(sp,ent,uid,gid,required_uid,required_gid,chopt);\n    _Var4 = (_Bool)(_Var4 & _Var3);\n  }\n  piVar1 = (int *)(*(code *)PTR___errno_location_00033330)();\n  iVar5 = *piVar1;\n  if (iVar5 != 0) {\n    if (chopt->force_silent == false) {\n      uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n      _Var4 = false;\n    }\n    else {\n      _Var4 = false;\n    }\n  }\n  iVar5 = fts_close(sp);\n  if (iVar5 != 0) {\n    iVar5 = *piVar1;\n    uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n    return false;\n  }\n  return _Var4;\n}" type_identifier (function_declarator "chown_files(char **files,int bit_flags,uid_t uid,gid_t gid,uid_t required_uid,\n                 gid_t required_gid,Chown_option *chopt)" identifier (parameter_list "(char **files,int bit_flags,uid_t uid,gid_t gid,uid_t required_uid,\n                 gid_t required_gid,Chown_option *chopt)" ( (parameter_declaration "char **files" primitive_type (pointer_declarator "**files" * (pointer_declarator "*files" * identifier))) , (parameter_declaration "int bit_flags" primitive_type identifier) , (parameter_declaration "uid_t uid" type_identifier identifier) , (parameter_declaration "gid_t gid" type_identifier identifier) , (parameter_declaration "uid_t required_uid" type_identifier identifier) , (parameter_declaration "gid_t required_gid" type_identifier identifier) , (parameter_declaration "Chown_option *chopt" type_identifier (pointer_declarator "*chopt" * identifier)) ))) (compound_statement "{\n  FTS *sp;\n  _Bool _Var3;\n  FTSENT *ent;\n  int *piVar1;\n  undefined4 uVar2;\n  _Bool _Var4;\n  int iVar5;\n  \n  if ((((required_uid & required_gid) == 0xffffffff) && (chopt->affect_symlink_referent == false))\n     && (chopt->verbosity == V_off)) {\n    bit_flags = bit_flags | 8;\n  }\n  _Var4 = true;\n  sp = xfts_open(files,bit_flags,(_func_int_FTSENT_ptr_ptr_FTSENT_ptr_ptr *)0x0);\n  while (ent = fts_read(sp), ent != (FTSENT *)0x0) {\n    _Var3 = change_file_owner(sp,ent,uid,gid,required_uid,required_gid,chopt);\n    _Var4 = (_Bool)(_Var4 & _Var3);\n  }\n  piVar1 = (int *)(*(code *)PTR___errno_location_00033330)();\n  iVar5 = *piVar1;\n  if (iVar5 != 0) {\n    if (chopt->force_silent == false) {\n      uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n      _Var4 = false;\n    }\n    else {\n      _Var4 = false;\n    }\n  }\n  iVar5 = fts_close(sp);\n  if (iVar5 != 0) {\n    iVar5 = *piVar1;\n    uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n    return false;\n  }\n  return _Var4;\n}" { (declaration "FTS *sp;" type_identifier (pointer_declarator "*sp" * identifier) ;) (declaration "_Bool _Var3;" type_identifier identifier ;) (declaration "FTSENT *ent;" type_identifier (pointer_declarator "*ent" * identifier) ;) (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "_Bool _Var4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (if_statement "if ((((required_uid & required_gid) == 0xffffffff) && (chopt->affect_symlink_referent == false))\n     && (chopt->verbosity == V_off)) {\n    bit_flags = bit_flags | 8;\n  }" if (parenthesized_expression "((((required_uid & required_gid) == 0xffffffff) && (chopt->affect_symlink_referent == false))\n     && (chopt->verbosity == V_off))" ( (binary_expression "(((required_uid & required_gid) == 0xffffffff) && (chopt->affect_symlink_referent == false))\n     && (chopt->verbosity == V_off)" (parenthesized_expression "(((required_uid & required_gid) == 0xffffffff) && (chopt->affect_symlink_referent == false))" ( (binary_expression "((required_uid & required_gid) == 0xffffffff) && (chopt->affect_symlink_referent == false)" (parenthesized_expression "((required_uid & required_gid) == 0xffffffff)" ( (binary_expression "(required_uid & required_gid) == 0xffffffff" (parenthesized_expression "(required_uid & required_gid)" ( (binary_expression "required_uid & required_gid" identifier & identifier) )) == number_literal) )) && (parenthesized_expression "(chopt->affect_symlink_referent == false)" ( (binary_expression "chopt->affect_symlink_referent == false" (field_expression "chopt->affect_symlink_referent" identifier -> field_identifier) == false) ))) )) && (parenthesized_expression "(chopt->verbosity == V_off)" ( (binary_expression "chopt->verbosity == V_off" (field_expression "chopt->verbosity" identifier -> field_identifier) == identifier) ))) )) (compound_statement "{\n    bit_flags = bit_flags | 8;\n  }" { (expression_statement "bit_flags = bit_flags | 8;" (assignment_expression "bit_flags = bit_flags | 8" identifier = (binary_expression "bit_flags | 8" identifier | number_literal)) ;) })) (expression_statement "_Var4 = true;" (assignment_expression "_Var4 = true" identifier = true) ;) (expression_statement "sp = xfts_open(files,bit_flags,(_func_int_FTSENT_ptr_ptr_FTSENT_ptr_ptr *)0x0);" (assignment_expression "sp = xfts_open(files,bit_flags,(_func_int_FTSENT_ptr_ptr_FTSENT_ptr_ptr *)0x0)" identifier = (call_expression "xfts_open(files,bit_flags,(_func_int_FTSENT_ptr_ptr_FTSENT_ptr_ptr *)0x0)" identifier (argument_list "(files,bit_flags,(_func_int_FTSENT_ptr_ptr_FTSENT_ptr_ptr *)0x0)" ( identifier , identifier , (cast_expression "(_func_int_FTSENT_ptr_ptr_FTSENT_ptr_ptr *)0x0" ( (type_descriptor "_func_int_FTSENT_ptr_ptr_FTSENT_ptr_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (while_statement "while (ent = fts_read(sp), ent != (FTSENT *)0x0) {\n    _Var3 = change_file_owner(sp,ent,uid,gid,required_uid,required_gid,chopt);\n    _Var4 = (_Bool)(_Var4 & _Var3);\n  }" while (parenthesized_expression "(ent = fts_read(sp), ent != (FTSENT *)0x0)" ( (comma_expression "ent = fts_read(sp), ent != (FTSENT *)0x0" (assignment_expression "ent = fts_read(sp)" identifier = (call_expression "fts_read(sp)" identifier (argument_list "(sp)" ( identifier )))) , (binary_expression "ent != (FTSENT *)0x0" identifier != (cast_expression "(FTSENT *)0x0" ( (type_descriptor "FTSENT *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n    _Var3 = change_file_owner(sp,ent,uid,gid,required_uid,required_gid,chopt);\n    _Var4 = (_Bool)(_Var4 & _Var3);\n  }" { (expression_statement "_Var3 = change_file_owner(sp,ent,uid,gid,required_uid,required_gid,chopt);" (assignment_expression "_Var3 = change_file_owner(sp,ent,uid,gid,required_uid,required_gid,chopt)" identifier = (call_expression "change_file_owner(sp,ent,uid,gid,required_uid,required_gid,chopt)" identifier (argument_list "(sp,ent,uid,gid,required_uid,required_gid,chopt)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "_Var4 = (_Bool)(_Var4 & _Var3);" (assignment_expression "_Var4 = (_Bool)(_Var4 & _Var3)" identifier = (call_expression "(_Bool)(_Var4 & _Var3)" (parenthesized_expression "(_Bool)" ( identifier )) (argument_list "(_Var4 & _Var3)" ( (binary_expression "_Var4 & _Var3" identifier & identifier) )))) ;) })) (expression_statement "piVar1 = (int *)(*(code *)PTR___errno_location_00033330)();" (assignment_expression "piVar1 = (int *)(*(code *)PTR___errno_location_00033330)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033330)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033330)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033330)" ( (pointer_expression "*(code *)PTR___errno_location_00033330" * (cast_expression "(code *)PTR___errno_location_00033330" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar5 = *piVar1;" (assignment_expression "iVar5 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if (iVar5 != 0) {\n    if (chopt->force_silent == false) {\n      uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n      _Var4 = false;\n    }\n    else {\n      _Var4 = false;\n    }\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    if (chopt->force_silent == false) {\n      uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n      _Var4 = false;\n    }\n    else {\n      _Var4 = false;\n    }\n  }" { (if_statement "if (chopt->force_silent == false) {\n      uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n      _Var4 = false;\n    }\n    else {\n      _Var4 = false;\n    }" if (parenthesized_expression "(chopt->force_silent == false)" ( (binary_expression "chopt->force_silent == false" (field_expression "chopt->force_silent" identifier -> field_identifier) == false) )) (compound_statement "{\n      uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n      _Var4 = false;\n    }" { (expression_statement "uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);" (assignment_expression "uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000333b0)" ( (pointer_expression "*(code *)PTR_dcgettext_000333b0" * (cast_expression "(code *)PTR_dcgettext_000333b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_fdopendir_00033108 + 0xf2c,5)" ( number_literal , (binary_expression "PTR_fdopendir_00033108 + 0xf2c" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_error_0003337c)(0,iVar5,uVar2);" (call_expression "(*(code *)PTR_error_0003337c)(0,iVar5,uVar2)" (parenthesized_expression "(*(code *)PTR_error_0003337c)" ( (pointer_expression "*(code *)PTR_error_0003337c" * (cast_expression "(code *)PTR_error_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,iVar5,uVar2)" ( number_literal , identifier , identifier ))) ;) (expression_statement "_Var4 = false;" (assignment_expression "_Var4 = false" identifier = false) ;) }) (else_clause "else {\n      _Var4 = false;\n    }" else (compound_statement "{\n      _Var4 = false;\n    }" { (expression_statement "_Var4 = false;" (assignment_expression "_Var4 = false" identifier = false) ;) }))) })) (expression_statement "iVar5 = fts_close(sp);" (assignment_expression "iVar5 = fts_close(sp)" identifier = (call_expression "fts_close(sp)" identifier (argument_list "(sp)" ( identifier )))) ;) (if_statement "if (iVar5 != 0) {\n    iVar5 = *piVar1;\n    uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n    return false;\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar5 = *piVar1;\n    uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar5,uVar2);\n    return false;\n  }" { (expression_statement "iVar5 = *piVar1;" (assignment_expression "iVar5 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);" (assignment_expression "uVar2 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000333b0)" ( (pointer_expression "*(code *)PTR_dcgettext_000333b0" * (cast_expression "(code *)PTR_dcgettext_000333b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_fdopendir_00033108 + 0xf3c,5)" ( number_literal , (binary_expression "PTR_fdopendir_00033108 + 0xf3c" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_error_0003337c)(0,iVar5,uVar2);" (call_expression "(*(code *)PTR_error_0003337c)(0,iVar5,uVar2)" (parenthesized_expression "(*(code *)PTR_error_0003337c)" ( (pointer_expression "*(code *)PTR_error_0003337c" * (cast_expression "(code *)PTR_error_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,iVar5,uVar2)" ( number_literal , identifier , identifier ))) ;) (return_statement "return false;" return false ;) })) (return_statement "return _Var4;" return identifier ;) })))
(translation_unit "uint chown_files(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,\n                uint param_6,int *param_7)\n\n{\n  undefined4 uVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  \n  if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))\n  {\n    param_2 = param_2 | 8;\n  }\n  uVar6 = 1;\n  uVar1 = xfts_open(param_1,param_2,0);\n  while (iVar3 = fts_read(uVar1), iVar3 != 0) {\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }\n  piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();\n  iVar3 = *piVar4;\n  if (iVar3 != 0) {\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }\n  iVar3 = fts_close(uVar1);\n  if (iVar3 != 0) {\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }\n  return uVar6;\n}\n\n" (function_definition "uint chown_files(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,\n                uint param_6,int *param_7)\n\n{\n  undefined4 uVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  \n  if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))\n  {\n    param_2 = param_2 | 8;\n  }\n  uVar6 = 1;\n  uVar1 = xfts_open(param_1,param_2,0);\n  while (iVar3 = fts_read(uVar1), iVar3 != 0) {\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }\n  piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();\n  iVar3 = *piVar4;\n  if (iVar3 != 0) {\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }\n  iVar3 = fts_close(uVar1);\n  if (iVar3 != 0) {\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }\n  return uVar6;\n}" type_identifier (function_declarator "chown_files(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,\n                uint param_6,int *param_7)" identifier (parameter_list "(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,\n                uint param_6,int *param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uint param_6" type_identifier identifier) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  undefined4 uVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  \n  if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))\n  {\n    param_2 = param_2 | 8;\n  }\n  uVar6 = 1;\n  uVar1 = xfts_open(param_1,param_2,0);\n  while (iVar3 = fts_read(uVar1), iVar3 != 0) {\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }\n  piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();\n  iVar3 = *piVar4;\n  if (iVar3 != 0) {\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }\n  iVar3 = fts_close(uVar1);\n  if (iVar3 != 0) {\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }\n  return uVar6;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (if_statement "if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))\n  {\n    param_2 = param_2 | 8;\n  }" if (parenthesized_expression "((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))" ( (binary_expression "(((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2)" (parenthesized_expression "(((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0'))" ( (binary_expression "((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')" (parenthesized_expression "((param_5 & param_6) == 0xffffffff)" ( (binary_expression "(param_5 & param_6) == 0xffffffff" (parenthesized_expression "(param_5 & param_6)" ( (binary_expression "param_5 & param_6" identifier & identifier) )) == number_literal) )) && (parenthesized_expression "(*(char *)(param_7 + 3) == '\0')" ( (binary_expression "*(char *)(param_7 + 3) == '\0'" (pointer_expression "*(char *)(param_7 + 3)" * (cast_expression "(char *)(param_7 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 3)" ( (binary_expression "param_7 + 3" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(*param_7 == 2)" ( (binary_expression "*param_7 == 2" (pointer_expression "*param_7" * identifier) == number_literal) ))) )) (compound_statement "{\n    param_2 = param_2 | 8;\n  }" { (expression_statement "param_2 = param_2 | 8;" (assignment_expression "param_2 = param_2 | 8" identifier = (binary_expression "param_2 | 8" identifier | number_literal)) ;) })) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "uVar1 = xfts_open(param_1,param_2,0);" (assignment_expression "uVar1 = xfts_open(param_1,param_2,0)" identifier = (call_expression "xfts_open(param_1,param_2,0)" identifier (argument_list "(param_1,param_2,0)" ( identifier , identifier , number_literal )))) ;) (while_statement "while (iVar3 = fts_read(uVar1), iVar3 != 0) {\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }" while (parenthesized_expression "(iVar3 = fts_read(uVar1), iVar3 != 0)" ( (comma_expression "iVar3 = fts_read(uVar1), iVar3 != 0" (assignment_expression "iVar3 = fts_read(uVar1)" identifier = (call_expression "fts_read(uVar1)" identifier (argument_list "(uVar1)" ( identifier )))) , (binary_expression "iVar3 != 0" identifier != number_literal)) )) (compound_statement "{\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }" { (expression_statement "uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);" (assignment_expression "uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7)" identifier = (call_expression "FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7)" identifier (argument_list "(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "uVar6 = uVar6 & uVar2;" (assignment_expression "uVar6 = uVar6 & uVar2" identifier = (binary_expression "uVar6 & uVar2" identifier & identifier)) ;) })) (expression_statement "piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();" (assignment_expression "piVar4 = (int *)(*(code *)PTR___errno_location_00033330)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033330)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033330)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033330)" ( (pointer_expression "*(code *)PTR___errno_location_00033330" * (cast_expression "(code *)PTR___errno_location_00033330" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = *piVar4;" (assignment_expression "iVar3 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (iVar3 != 0) {\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }" { (if_statement "if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }" if (parenthesized_expression "(*(char *)((int)param_7 + 0xd) == '\0')" ( (binary_expression "*(char *)((int)param_7 + 0xd) == '\0'" (pointer_expression "*(char *)((int)param_7 + 0xd)" * (cast_expression "(char *)((int)param_7 + 0xd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_7 + 0xd)" ( (binary_expression "(int)param_7 + 0xd" (cast_expression "(int)param_7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }" { (expression_statement "uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);" (assignment_expression "uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000333b0)" ( (pointer_expression "*(code *)PTR_dcgettext_000333b0" * (cast_expression "(code *)PTR_dcgettext_000333b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_fdopendir_00033108 + 0xf2c,5)" ( number_literal , (binary_expression "PTR_fdopendir_00033108 + 0xf2c" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_error_0003337c)(0,iVar3,uVar5);" (call_expression "(*(code *)PTR_error_0003337c)(0,iVar3,uVar5)" (parenthesized_expression "(*(code *)PTR_error_0003337c)" ( (pointer_expression "*(code *)PTR_error_0003337c" * (cast_expression "(code *)PTR_error_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,iVar3,uVar5)" ( number_literal , identifier , identifier ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar6 = 0;\n    }" else (compound_statement "{\n      uVar6 = 0;\n    }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }))) })) (expression_statement "iVar3 = fts_close(uVar1);" (assignment_expression "iVar3 = fts_close(uVar1)" identifier = (call_expression "fts_close(uVar1)" identifier (argument_list "(uVar1)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }" { (expression_statement "iVar3 = *piVar4;" (assignment_expression "iVar3 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);" (assignment_expression "uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000333b0)" ( (pointer_expression "*(code *)PTR_dcgettext_000333b0" * (cast_expression "(code *)PTR_dcgettext_000333b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_fdopendir_00033108 + 0xf3c,5)" ( number_literal , (binary_expression "PTR_fdopendir_00033108 + 0xf3c" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_error_0003337c)(0,iVar3,uVar1);" (call_expression "(*(code *)PTR_error_0003337c)(0,iVar3,uVar1)" (parenthesized_expression "(*(code *)PTR_error_0003337c)" ( (pointer_expression "*(code *)PTR_error_0003337c" * (cast_expression "(code *)PTR_error_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,iVar3,uVar1)" ( number_literal , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return uVar6;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) (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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (return_statement return IDENT ;) })))
(function_definition "uint chown_files(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,\n                uint param_6,int *param_7)\n\n{\n  undefined4 uVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  \n  if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))\n  {\n    param_2 = param_2 | 8;\n  }\n  uVar6 = 1;\n  uVar1 = xfts_open(param_1,param_2,0);\n  while (iVar3 = fts_read(uVar1), iVar3 != 0) {\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }\n  piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();\n  iVar3 = *piVar4;\n  if (iVar3 != 0) {\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }\n  iVar3 = fts_close(uVar1);\n  if (iVar3 != 0) {\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }\n  return uVar6;\n}" (type_identifier "uint") (function_declarator "chown_files(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,\n                uint param_6,int *param_7)" (identifier "chown_files") (parameter_list "(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,\n                uint param_6,int *param_7)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) (, ",") (parameter_declaration "uint param_6" (type_identifier "uint") (identifier "param_6")) (, ",") (parameter_declaration "int *param_7" (primitive_type "int") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  uint uVar2;\n  int iVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  \n  if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))\n  {\n    param_2 = param_2 | 8;\n  }\n  uVar6 = 1;\n  uVar1 = xfts_open(param_1,param_2,0);\n  while (iVar3 = fts_read(uVar1), iVar3 != 0) {\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }\n  piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();\n  iVar3 = *piVar4;\n  if (iVar3 != 0) {\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }\n  iVar3 = fts_close(uVar1);\n  if (iVar3 != 0) {\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }\n  return uVar6;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (if_statement "if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))\n  {\n    param_2 = param_2 | 8;\n  }" (if "if") (parenthesized_expression "((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))" (( "(") (binary_expression "(((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2)" (parenthesized_expression "(((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0'))" (( "(") (binary_expression "((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')" (parenthesized_expression "((param_5 & param_6) == 0xffffffff)" (( "(") (binary_expression "(param_5 & param_6) == 0xffffffff" (parenthesized_expression "(param_5 & param_6)" (( "(") (binary_expression "param_5 & param_6" (identifier "param_5") (& "&") (identifier "param_6")) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_7 + 3) == '\0')" (( "(") (binary_expression "*(char *)(param_7 + 3) == '\0'" (pointer_expression "*(char *)(param_7 + 3)" (* "*") (cast_expression "(char *)(param_7 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 3)" (( "(") (binary_expression "param_7 + 3" (identifier "param_7") (+ "+") (number_literal "3")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*param_7 == 2)" (( "(") (binary_expression "*param_7 == 2" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (== "==") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n    param_2 = param_2 | 8;\n  }" ({ "{") (expression_statement "param_2 = param_2 | 8;" (assignment_expression "param_2 = param_2 | 8" (identifier "param_2") (= "=") (binary_expression "param_2 | 8" (identifier "param_2") (| "|") (number_literal "8"))) (; ";")) (} "}"))) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar1 = xfts_open(param_1,param_2,0);" (assignment_expression "uVar1 = xfts_open(param_1,param_2,0)" (identifier "uVar1") (= "=") (call_expression "xfts_open(param_1,param_2,0)" (identifier "xfts_open") (argument_list "(param_1,param_2,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (number_literal "0") () ")")))) (; ";")) (while_statement "while (iVar3 = fts_read(uVar1), iVar3 != 0) {\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }" (while "while") (parenthesized_expression "(iVar3 = fts_read(uVar1), iVar3 != 0)" (( "(") (comma_expression "iVar3 = fts_read(uVar1), iVar3 != 0" (assignment_expression "iVar3 = fts_read(uVar1)" (identifier "iVar3") (= "=") (call_expression "fts_read(uVar1)" (identifier "fts_read") (argument_list "(uVar1)" (( "(") (identifier "uVar1") () ")")))) (, ",") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);\n    uVar6 = uVar6 & uVar2;\n  }" ({ "{") (expression_statement "uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);" (assignment_expression "uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7)" (identifier "uVar2") (= "=") (call_expression "FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7)" (identifier "FUN_00013160") (argument_list "(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7)" (( "(") (identifier "uVar1") (, ",") (identifier "iVar3") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") () ")")))) (; ";")) (expression_statement "uVar6 = uVar6 & uVar2;" (assignment_expression "uVar6 = uVar6 & uVar2" (identifier "uVar6") (= "=") (binary_expression "uVar6 & uVar2" (identifier "uVar6") (& "&") (identifier "uVar2"))) (; ";")) (} "}"))) (expression_statement "piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();" (assignment_expression "piVar4 = (int *)(*(code *)PTR___errno_location_00033330)()" (identifier "piVar4") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_00033330)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00033330)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033330)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00033330" (* "*") (cast_expression "(code *)PTR___errno_location_00033330" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00033330"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar3 = *piVar4;" (assignment_expression "iVar3 = *piVar4" (identifier "iVar3") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (if_statement "if (iVar3 != 0) {\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }\n  }" ({ "{") (if_statement "if (*(char *)((int)param_7 + 0xd) == '\0') {\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }\n    else {\n      uVar6 = 0;\n    }" (if "if") (parenthesized_expression "(*(char *)((int)param_7 + 0xd) == '\0')" (( "(") (binary_expression "*(char *)((int)param_7 + 0xd) == '\0'" (pointer_expression "*(char *)((int)param_7 + 0xd)" (* "*") (cast_expression "(char *)((int)param_7 + 0xd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_7 + 0xd)" (( "(") (binary_expression "(int)param_7 + 0xd" (cast_expression "(int)param_7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_7")) (+ "+") (number_literal "0xd")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);\n      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);\n      uVar6 = 0;\n    }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);" (assignment_expression "uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000333b0)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000333b0" (* "*") (cast_expression "(code *)PTR_dcgettext_000333b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000333b0"))) () ")")) (argument_list "(0,PTR_fdopendir_00033108 + 0xf2c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_fdopendir_00033108 + 0xf2c" (identifier "PTR_fdopendir_00033108") (+ "+") (number_literal "0xf2c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_0003337c)(0,iVar3,uVar5);" (call_expression "(*(code *)PTR_error_0003337c)(0,iVar3,uVar5)" (parenthesized_expression "(*(code *)PTR_error_0003337c)" (( "(") (pointer_expression "*(code *)PTR_error_0003337c" (* "*") (cast_expression "(code *)PTR_error_0003337c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_0003337c"))) () ")")) (argument_list "(0,iVar3,uVar5)" (( "(") (number_literal "0") (, ",") (identifier "iVar3") (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      uVar6 = 0;\n    }" (else "else") (compound_statement "{\n      uVar6 = 0;\n    }" ({ "{") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar3 = fts_close(uVar1);" (assignment_expression "iVar3 = fts_close(uVar1)" (identifier "iVar3") (= "=") (call_expression "fts_close(uVar1)" (identifier "fts_close") (argument_list "(uVar1)" (( "(") (identifier "uVar1") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = *piVar4;\n    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);\n    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);\n    return 0;\n  }" ({ "{") (expression_statement "iVar3 = *piVar4;" (assignment_expression "iVar3 = *piVar4" (identifier "iVar3") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (expression_statement "uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);" (assignment_expression "uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000333b0)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000333b0" (* "*") (cast_expression "(code *)PTR_dcgettext_000333b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000333b0"))) () ")")) (argument_list "(0,PTR_fdopendir_00033108 + 0xf3c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_fdopendir_00033108 + 0xf3c" (identifier "PTR_fdopendir_00033108") (+ "+") (number_literal "0xf3c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_0003337c)(0,iVar3,uVar1);" (call_expression "(*(code *)PTR_error_0003337c)(0,iVar3,uVar1)" (parenthesized_expression "(*(code *)PTR_error_0003337c)" (( "(") (pointer_expression "*(code *)PTR_error_0003337c" (* "*") (cast_expression "(code *)PTR_error_0003337c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_0003337c"))) () ")")) (argument_list "(0,iVar3,uVar1)" (( "(") (number_literal "0") (, ",") (identifier "iVar3") (, ",") (identifier "uVar1") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}")))

type_1 function_1(char **files,int var_4,type_2 uid,type_3 gid,type_2 var_1,
                 type_3 var_2,type_4 *chopt)

{
  type_5 *sp;
  type_1 var_10;
  type_6 *var_7;
  int *piVar1;
  type_7 uVar2;
  type_1 var_9;
  int var_11;
  
  if ((((var_1 & var_2) == 0xffffffff) && (chopt->affect_symlink_referent == false))
     && (chopt->verbosity == var_3)) {
    var_4 = var_4 | 8;
  }
  var_9 = true;
  sp = var_5(files,var_4,(type_8 *)0x0);
  while (var_7 = var_6(sp), var_7 != (type_6 *)0x0) {
    var_10 = var_8(sp,var_7,uid,gid,var_1,var_2,chopt);
    var_9 = (type_1)(var_9 & var_10);
  }
  piVar1 = (int *)(*(type_9 *)PTR___errno_location_00033330)();
  var_11 = *piVar1;
  if (var_11 != 0) {
    if (chopt->force_silent == false) {
      uVar2 = (*(type_9 *)PTR_dcgettext_000333b0)(0,var_12 + 0xf2c,5);
      (*(type_9 *)PTR_error_0003337c)(0,var_11,uVar2);
      var_9 = false;
    }
    else {
      var_9 = false;
    }
  }
  var_11 = var_13(sp);
  if (var_11 != 0) {
    var_11 = *piVar1;
    uVar2 = (*(type_9 *)PTR_dcgettext_000333b0)(0,var_12 + 0xf3c,5);
    (*(type_9 *)PTR_error_0003337c)(0,var_11,uVar2);
    return false;
  }
  return var_9;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (identifier))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (return_statement (number_literal)))) (return_statement (identifier)))))

uint MASKED(undefined4 param_1,uint param_2,undefined4 param_3,undefined4 param_4,uint param_5,
                uint param_6,int *param_7)

{
  undefined4 uVar1;
  uint uVar2;
  int iVar3;
  int *piVar4;
  undefined4 uVar5;
  uint uVar6;
  
  if ((((param_5 & param_6) == 0xffffffff) && (*(char *)(param_7 + 3) == '\0')) && (*param_7 == 2))
  {
    param_2 = param_2 | 8;
  }
  uVar6 = 1;
  uVar1 = xfts_open(param_1,param_2,0);
  while (iVar3 = fts_read(uVar1), iVar3 != 0) {
    uVar2 = FUN_00013160(uVar1,iVar3,param_3,param_4,param_5,param_6,param_7);
    uVar6 = uVar6 & uVar2;
  }
  piVar4 = (int *)(*(code *)PTR___errno_location_00033330)();
  iVar3 = *piVar4;
  if (iVar3 != 0) {
    if (*(char *)((int)param_7 + 0xd) == '\0') {
      uVar5 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf2c,5);
      (*(code *)PTR_error_0003337c)(0,iVar3,uVar5);
      uVar6 = 0;
    }
    else {
      uVar6 = 0;
    }
  }
  iVar3 = fts_close(uVar1);
  if (iVar3 != 0) {
    iVar3 = *piVar4;
    uVar1 = (*(code *)PTR_dcgettext_000333b0)(0,PTR_fdopendir_00033108 + 0xf3c,5);
    (*(code *)PTR_error_0003337c)(0,iVar3,uVar1);
    return 0;
  }
  return uVar6;
}

