
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

_Bool make_dir_parents(char *dir,savewd *wd,_func_int_char_ptr_char_ptr_void_ptr *make_ancestor,
                      void *options,mode_t mode,_func_void_char_ptr_void_ptr *announce,
                      mode_t mode_bits,uid_t owner,gid_t group,_Bool preserve_existing)

{
  bool bVar1;
  undefined *puVar2;
  ptrdiff_t pVar3;
  uint uVar4;
  int iVar5;
  int *piVar6;
  char *pcVar7;
  _Bool _Var9;
  undefined4 *puVar8;
  int iVar10;
  undefined *puVar11;
  char *unaff_s1;
  int unaff_s7;
  stat st;
  
  puVar2 = PTR___stack_chk_guard_00033430;
  iVar10 = *(int *)PTR___stack_chk_guard_00033430;
  pcVar7 = dir;
  if ((*dir == '/') || (wd->state != DT_DIR)) {
    if (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001687c;
LAB_0001671c:
    pVar3 = mkancesdirs(dir,wd,make_ancestor,options);
    if (pVar3 < 0) {
      if (pVar3 != -1) goto LAB_000168f0;
      piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();
      unaff_s7 = *piVar6;
      goto LAB_000167f4;
    }
    uVar4 = mode_bits & 0xc00 | mode & 0x200;
    unaff_s1 = dir + pVar3;
    if ((owner & group) != 0xffffffff) goto LAB_00016764;
LAB_000168a4:
    if (uVar4 != 0) {
      bVar1 = true;
      uVar4 = mode & 0xffffffed;
      iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);
      goto joined_r0x00016938;
    }
    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,mode);
    if (iVar5 == 0) {
      (*announce)(dir,options);
      unaff_s7 = 0;
      if ((mode_bits & mode & 0x1ff) != 0) goto LAB_00016aa8;
      goto LAB_000168f0;
    }
    bVar1 = true;
  }
  else {
    unaff_s7 = (wd->val).fd;
    if (unaff_s7 != 0) goto LAB_000167f4;
    if (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001671c;
LAB_0001687c:
    uVar4 = mode_bits & 0xc00 | mode & 0x200;
    unaff_s1 = dir;
    if ((owner & group) == 0xffffffff) goto LAB_000168a4;
LAB_00016764:
    bVar1 = false;
    uVar4 = mode & 0xffffffc0;
    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);
joined_r0x00016938:
    if (iVar5 == 0) {
      (*announce)(dir,options);
      iVar5 = 3;
      unaff_s7 = 0;
      goto LAB_00016984;
    }
  }
  piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();
  unaff_s7 = *piVar6;
  if (!preserve_existing) {
    uVar4 = 0xffffffff;
    iVar5 = 2;
    goto LAB_00016984;
  }
  _Var9 = true;
  if (unaff_s7 == 0) goto LAB_00016840;
  if ((((unaff_s7 != 2) && (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)) &&
      (iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st), iVar5 == 0)) &&
     (_Var9 = true, (st.st_mode & 0xf000) == 0x4000)) goto LAB_00016840;
LAB_000167f4:
  dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);
  pcVar7 = quote(pcVar7);
  (*(code *)PTR_error_000333d4)(0,unaff_s7,dir,pcVar7);
  _Var9 = false;
LAB_00016840:
  do {
    while( true ) {
      if (iVar10 == *(int *)puVar2) {
        return _Var9;
      }
      (*(code *)PTR___stack_chk_fail_00033414)();
LAB_00016aa8:
      iVar5 = 3;
      bVar1 = true;
      pcVar7 = dir;
      uVar4 = mode;
LAB_00016984:
      iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st);
      dir = pcVar7;
      if (-2 < iVar5) break;
LAB_000168f0:
      _Var9 = true;
    }
    if (iVar5 == 0) {
      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;
    }
    iVar5 = dirchownmod(st.st_dev,unaff_s1,uVar4,owner,group,mode,mode_bits);
    if (iVar5 == 0) goto LAB_000168f0;
    if (unaff_s7 == 0) {
      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();
      unaff_s1 = (char *)*puVar8;
    }
    else {
      if ((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))
      goto LAB_000167f4;
      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();
      unaff_s1 = (char *)*puVar8;
      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;
    }
    if (bVar1) {
      puVar11 = PTR_LAB_00033108 + 0x1bd4;
    }
    else {
      puVar11 = PTR_LAB_00033108 + 0x1bf4;
    }
    dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar11,5);
    pcVar7 = quote(pcVar7);
    (*(code *)PTR_error_000333d4)(0,unaff_s1,dir,pcVar7);
    _Var9 = false;
  } while( true );
}



undefined4
make_dir_parents(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,
                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  uint uVar4;
  int *piVar5;
  undefined4 uVar6;
  undefined4 *puVar7;
  undefined *puVar8;
  char *pcVar9;
  char *unaff_s1;
  int unaff_s7;
  undefined4 local_d0 [6];
  uint local_b8;
  int local_2c;
  
  puVar2 = PTR___stack_chk_guard_00033430;
  local_2c = *(int *)PTR___stack_chk_guard_00033430;
  pcVar9 = param_1;
  if ((*param_1 == '/') || (*param_2 != 4)) {
    if (param_3 == 0) goto LAB_0001687c;
LAB_0001671c:
    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);
    if (iVar3 < 0) {
      if (iVar3 != -1) goto LAB_000168f0;
      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();
      unaff_s7 = *piVar5;
      goto LAB_000167f4;
    }
    uVar4 = param_7 & 0xc00 | param_5 & 0x200;
    unaff_s1 = param_1 + iVar3;
    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;
LAB_000168a4:
    if (uVar4 != 0) {
      bVar1 = true;
      uVar4 = param_5 & 0xffffffed;
      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);
      goto joined_r0x00016938;
    }
    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);
    if (iVar3 == 0) {
      (*param_6)(param_1,param_4);
      unaff_s7 = 0;
      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;
      goto LAB_000168f0;
    }
    bVar1 = true;
  }
  else {
    unaff_s7 = param_2[1];
    if (unaff_s7 != 0) goto LAB_000167f4;
    if (param_3 != 0) goto LAB_0001671c;
LAB_0001687c:
    uVar4 = param_7 & 0xc00 | param_5 & 0x200;
    unaff_s1 = param_1;
    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;
LAB_00016764:
    bVar1 = false;
    uVar4 = param_5 & 0xffffffc0;
    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);
joined_r0x00016938:
    if (iVar3 == 0) {
      (*param_6)(param_1,param_4);
      uVar6 = 3;
      unaff_s7 = 0;
      goto LAB_00016984;
    }
  }
  piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();
  unaff_s7 = *piVar5;
  if (param_10 == '\0') {
    uVar4 = 0xffffffff;
    uVar6 = 2;
    goto LAB_00016984;
  }
  uVar6 = 1;
  if (unaff_s7 == 0) goto LAB_00016840;
  if ((((unaff_s7 != 2) && (param_3 != 0)) &&
      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&
     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;
LAB_000167f4:
  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);
  uVar6 = quote(pcVar9);
  (*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);
  uVar6 = 0;
LAB_00016840:
  do {
    while( true ) {
      if (local_2c == *(int *)puVar2) {
        return uVar6;
      }
      (*(code *)PTR___stack_chk_fail_00033414)();
LAB_00016aa8:
      uVar6 = 3;
      bVar1 = true;
      pcVar9 = param_1;
      uVar4 = param_5;
LAB_00016984:
      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);
      param_1 = pcVar9;
      if (-2 < iVar3) break;
LAB_000168f0:
      uVar6 = 1;
    }
    if (iVar3 == 0) {
      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;
    }
    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);
    if (iVar3 == 0) goto LAB_000168f0;
    if (unaff_s7 == 0) {
      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();
      unaff_s1 = (char *)*puVar7;
    }
    else {
      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;
      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();
      unaff_s1 = (char *)*puVar7;
      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;
    }
    if (bVar1) {
      puVar8 = PTR_LAB_00033108 + 0x1bd4;
    }
    else {
      puVar8 = PTR_LAB_00033108 + 0x1bf4;
    }
    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);
    uVar6 = quote(pcVar9);
    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);
    uVar6 = 0;
  } while( true );
}


lui gp,0x2
addiu gp,gp,0x4a40
addu gp,gp,t9
addiu sp,sp,-0x100
li v0,0x2f
sw s8,0xf8(sp)
sw s6,0xf0(sp)
or s6,a3,zero
sw s4,0xe8(sp)
or s4,a1,zero
sw s3,0xe4(sp)
or s3,a2,zero
sw s2,0xe0(sp)
sw s0,0xd8(sp)
or s0,a0,zero
sw gp,0x20(sp)
sw ra,0xfc(sp)
sw s7,0xf4(sp)
sw s5,0xec(sp)
sw s1,0xdc(sp)
lw s2,-0x7ca0(gp)
lb v1,0x0(a0)
lw a0,0x114(sp)
lbu s8,0x127(sp)
sw a0,0x28(sp)
lw a0,0x0(s2)
sw a0,0xd4(sp)
beq v1,v0,0x00016710
_li v0,0x4
lw v1,0x0(a1)
beq v1,v0,0x000168f8
_nop
beq s3,zero,0x0001687c
_lw v0,0x118(sp)
lw t9,-0x7ee0(gp)
or a3,s6,zero
or a2,s3,zero
or a1,s4,zero
bal 0x0001fec0
_or a0,s0,zero
bltz v0,0x0001695c
_lw gp,0x20(sp)
addu s1,s0,v0
lw v0,0x118(sp)
lw a1,0x11c(sp)
li a0,-0x1
lw a2,0x120(sp)
andi v1,v0,0xc00
lw v0,0x110(sp)
and a1,a1,a2
andi v0,v0,0x200
beq a1,a0,0x000168a4
_or v0,v1,v0
lw v0,0x110(sp)
li s5,-0x40
lw t9,-0x7d54(gp)
or a0,s1,zero
sw zero,0x2c(sp)
and s5,v0,s5
jalr t9
_or a1,s5,zero
lw gp,0x20(sp)
beq v0,zero,0x00016940
_or s7,v0,zero
lw t9,-0x7d58(gp)
jalr t9
_nop
lw gp,0x20(sp)
beq s8,zero,0x0001697c
_lw s7,0x0(v0)
beq s7,zero,0x00016840
_li v0,0x1
li v0,0x2
beq s7,v0,0x000167f4
_lw a1,-0x7fc8(gp)
beq s3,zero,0x000167f4
_lw t9,-0x7dd8(gp)
addiu a2,sp,0x30
li a0,0x3
jalr t9
_or a1,s1,zero
bne v0,zero,0x000167f0
_lw gp,0x20(sp)
lw v0,0x48(sp)
li a0,0x4000
andi v0,v0,0xf000
beq v0,a0,0x00016840
_li v0,0x1
lw a1,-0x7fc8(gp)
li a2,0x5
lw t9,-0x7cb8(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x1c20
or a0,s0,zero
lw gp,0x20(sp)
lw t9,-0x7f78(gp)
bal 0x00019670
_or s0,v0,zero
or a0,zero,zero
lw gp,0x20(sp)
or a3,v0,zero
or a2,s0,zero
lw t9,-0x7cfc(gp)
jalr t9
_or a1,s7,zero
or v0,zero,zero
lw gp,0x20(sp)
lw a0,0xd4(sp)
lw v1,0x0(s2)
bne a0,v1,0x00016a9c
_lw ra,0xfc(sp)
lw s8,0xf8(sp)
lw s7,0xf4(sp)
lw s6,0xf0(sp)
lw s5,0xec(sp)
lw s4,0xe8(sp)
lw s3,0xe4(sp)
lw s2,0xe0(sp)
lw s1,0xdc(sp)
lw s0,0xd8(sp)
jr ra
_addiu sp,sp,0x100
li a0,-0x1
lw a1,0x11c(sp)
or s1,s0,zero
lw a2,0x120(sp)
andi v1,v0,0xc00
lw v0,0x110(sp)
and a1,a1,a2
andi v0,v0,0x200
bne a1,a0,0x00016764
_or v0,v1,v0
bne v0,zero,0x00016914
_li v0,0x1
lw t9,-0x7d54(gp)
or a0,s1,zero
jalr t9
_lw a1,0x110(sp)
lw gp,0x20(sp)
bne v0,zero,0x00016abc
_or s7,v0,zero
lw t9,0x28(sp)
or a1,s6,zero
jalr t9
_or a0,s0,zero
lw v0,0x118(sp)
lw v1,0x110(sp)
and v0,v0,v1
andi v0,v0,0x1ff
bne v0,zero,0x00016aa8
_lw gp,0x20(sp)
b 0x00016840
_li v0,0x1
lw s7,0x4(a1)
bne s7,zero,0x000167f4
_lw a1,-0x7fc8(gp)
bne s3,zero,0x0001671c
_lw t9,-0x7ee0(gp)
b 0x0001687c
_lw v0,0x118(sp)
lw t9,-0x7d54(gp)
li s5,-0x13
sw v0,0x2c(sp)
or a0,s1,zero
lw v0,0x110(sp)
and s5,v0,s5
jalr t9
_or a1,s5,zero
lw gp,0x20(sp)
bne v0,zero,0x00016790
_or s7,v0,zero
lw t9,0x28(sp)
or a1,s6,zero
jalr t9
_or a0,s0,zero
li a2,0x3
b 0x00016984
_lw gp,0x20(sp)
li v1,-0x1
bne v0,v1,0x000168f0
_lw t9,-0x7d58(gp)
jalr t9
_nop
lw gp,0x20(sp)
b 0x000167f0
_lw s7,0x0(v0)
li s5,-0x1
li a2,0x2
lw t9,-0x7edc(gp)
addiu a3,sp,0x30
or a0,s4,zero
bal 0x000199b8
_or a1,s1,zero
slti a0,v0,-0x1
bne a0,zero,0x000168f0
_lw gp,0x20(sp)
bne v0,zero,0x000169b4
_lw v0,0x118(sp)
lw s1,-0x7fc8(gp)
addiu s1,s1,0x1bd0
or a2,s5,zero
lw t9,-0x7ed8(gp)
or a1,s1,zero
lw a3,0x11c(sp)
lw a0,0x30(sp)
sw v0,0x18(sp)
lw v0,0x110(sp)
sw v0,0x14(sp)
lw v0,0x120(sp)
bal 0x000200b0
_sw v0,0x10(sp)
beq v0,zero,0x000168f0
_lw gp,0x20(sp)
beq s7,zero,0x00016a78
_li v0,0x2
beq s7,v0,0x000167f4
_lw a1,-0x7fc8(gp)
beq s3,zero,0x000167f4
_lw t9,-0x7d58(gp)
jalr t9
_nop
li a0,0x14
lw s1,0x0(v0)
beq s1,a0,0x000167f0
_lw gp,0x20(sp)
lw v0,0x2c(sp)
bne v0,zero,0x00016a90
_nop
lw a1,-0x7fc8(gp)
addiu a1,a1,0x1bf4
lw t9,-0x7cb8(gp)
li a2,0x5
jalr t9
_or a0,zero,zero
or a0,s0,zero
lw gp,0x20(sp)
lw t9,-0x7f78(gp)
bal 0x00019670
_or s0,v0,zero
or a0,zero,zero
lw gp,0x20(sp)
or a3,v0,zero
or a2,s0,zero
lw t9,-0x7cfc(gp)
jalr t9
_or a1,s1,zero
or v0,zero,zero
b 0x00016840
_lw gp,0x20(sp)
lw t9,-0x7d58(gp)
jalr t9
_nop
lw gp,0x20(sp)
b 0x00016a18
_lw s1,0x0(v0)
lw a1,-0x7fc8(gp)
b 0x00016a2c
_addiu a1,a1,0x1bd4
lw t9,-0x7cbc(gp)
jalr t9
_nop
li v0,0x1
lw s5,0x110(sp)
li a2,0x3
b 0x00016984
_sw v0,0x2c(sp)
li v0,0x1
b 0x00016790
_sw v0,0x2c(sp)
(translation_unit "undefined4\nmake_dir_parents(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,\n                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  char *unaff_s1;\n  int unaff_s7;\n  undefined4 local_d0 [6];\n  uint local_b8;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  pcVar9 = param_1;\n  if ((*param_1 == '/') || (*param_2 != 4)) {\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }\n  piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n  unaff_s7 = *piVar5;\n  if (param_10 == '\0') {\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }\n  uVar6 = 1;\n  if (unaff_s7 == 0) goto LAB_00016840;\n  if ((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;\nLAB_000167f4:\n  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);\n  uVar6 = quote(pcVar9);\n  (*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);\n  uVar6 = 0;\nLAB_00016840:\n  do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );\n}\n\n" (function_definition "undefined4\nmake_dir_parents(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,\n                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  char *unaff_s1;\n  int unaff_s7;\n  undefined4 local_d0 [6];\n  uint local_b8;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  pcVar9 = param_1;\n  if ((*param_1 == '/') || (*param_2 != 4)) {\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }\n  piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n  unaff_s7 = *piVar5;\n  if (param_10 == '\0') {\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }\n  uVar6 = 1;\n  if (unaff_s7 == 0) goto LAB_00016840;\n  if ((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;\nLAB_000167f4:\n  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);\n  uVar6 = quote(pcVar9);\n  (*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);\n  uVar6 = 0;\nLAB_00016840:\n  do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );\n}" type_identifier (function_declarator "make_dir_parents(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,\n                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)" identifier (parameter_list "(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,\n                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "code *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "uint param_7" type_identifier identifier) , (parameter_declaration "uint param_8" type_identifier identifier) , (parameter_declaration "uint param_9" type_identifier identifier) , (parameter_declaration "char param_10" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  char *unaff_s1;\n  int unaff_s7;\n  undefined4 local_d0 [6];\n  uint local_b8;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  pcVar9 = param_1;\n  if ((*param_1 == '/') || (*param_2 != 4)) {\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }\n  piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n  unaff_s7 = *piVar5;\n  if (param_10 == '\0') {\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }\n  uVar6 = 1;\n  if (unaff_s7 == 0) goto LAB_00016840;\n  if ((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;\nLAB_000167f4:\n  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);\n  uVar6 = quote(pcVar9);\n  (*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);\n  uVar6 = 0;\nLAB_00016840:\n  do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "char *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int unaff_s7;" primitive_type identifier ;) (declaration "undefined4 local_d0 [6];" type_identifier (array_declarator "local_d0 [6]" identifier [ number_literal ]) ;) (declaration "uint local_b8;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00033430;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00033430" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00033430;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00033430" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00033430" * (cast_expression "(int *)PTR___stack_chk_guard_00033430" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar9 = param_1;" (assignment_expression "pcVar9 = param_1" identifier = identifier) ;) (if_statement "if ((*param_1 == '/') || (*param_2 != 4)) {\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" if (parenthesized_expression "((*param_1 == '/') || (*param_2 != 4))" ( (binary_expression "(*param_1 == '/') || (*param_2 != 4)" (parenthesized_expression "(*param_1 == '/')" ( (binary_expression "*param_1 == '/'" (pointer_expression "*param_1" * identifier) == (char_literal "'/'" ' character ')) )) || (parenthesized_expression "(*param_2 != 4)" ( (binary_expression "*param_2 != 4" (pointer_expression "*param_2" * identifier) != number_literal) ))) )) (compound_statement "{\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }" { (if_statement "if (param_3 == 0) goto LAB_0001687c;" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001687c;" goto statement_identifier ;)) (labeled_statement "LAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);" statement_identifier : (expression_statement "iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);" (assignment_expression "iVar3 = mkancesdirs(param_1,param_2,param_3,param_4)" identifier = (call_expression "mkancesdirs(param_1,param_2,param_3,param_4)" identifier (argument_list "(param_1,param_2,param_3,param_4)" ( identifier , identifier , identifier , identifier )))) ;)) (if_statement "if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }" { (if_statement "if (iVar3 != -1) goto LAB_000168f0;" if (parenthesized_expression "(iVar3 != -1)" ( (binary_expression "iVar3 != -1" identifier != number_literal) )) (goto_statement "goto LAB_000168f0;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s7 = *piVar5;" (assignment_expression "unaff_s7 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;) })) (expression_statement "uVar4 = param_7 & 0xc00 | param_5 & 0x200;" (assignment_expression "uVar4 = param_7 & 0xc00 | param_5 & 0x200" identifier = (binary_expression "param_7 & 0xc00 | param_5 & 0x200" (binary_expression "param_7 & 0xc00" identifier & number_literal) | (binary_expression "param_5 & 0x200" identifier & number_literal))) ;) (expression_statement "unaff_s1 = param_1 + iVar3;" (assignment_expression "unaff_s1 = param_1 + iVar3" identifier = (binary_expression "param_1 + iVar3" identifier + identifier)) ;) (if_statement "if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;" if (parenthesized_expression "((param_8 & param_9) != 0xffffffff)" ( (binary_expression "(param_8 & param_9) != 0xffffffff" (parenthesized_expression "(param_8 & param_9)" ( (binary_expression "param_8 & param_9" identifier & identifier) )) != number_literal) )) (goto_statement "goto LAB_00016764;" goto statement_identifier ;)) (labeled_statement "LAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" statement_identifier : (if_statement "if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "uVar4 = param_5 & 0xffffffed;" (assignment_expression "uVar4 = param_5 & 0xffffffed" identifier = (binary_expression "param_5 & 0xffffffed" identifier & number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);" (assignment_expression "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" identifier = (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" ( (pointer_expression "*(code *)PTR_mkdir_0003337c" * (cast_expression "(code *)PTR_mkdir_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1,uVar4)" ( identifier , identifier )))) ;) (goto_statement "goto joined_r0x00016938;" goto statement_identifier ;) }))) (expression_statement "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);" (assignment_expression "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5)" identifier = (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" ( (pointer_expression "*(code *)PTR_mkdir_0003337c" * (cast_expression "(code *)PTR_mkdir_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1,param_5)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }" { (expression_statement "(*param_6)(param_1,param_4);" (call_expression "(*param_6)(param_1,param_4)" (parenthesized_expression "(*param_6)" ( (pointer_expression "*param_6" * identifier) )) (argument_list "(param_1,param_4)" ( identifier , identifier ))) ;) (expression_statement "unaff_s7 = 0;" (assignment_expression "unaff_s7 = 0" identifier = number_literal) ;) (if_statement "if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;" if (parenthesized_expression "((param_7 & param_5 & 0x1ff) != 0)" ( (binary_expression "(param_7 & param_5 & 0x1ff) != 0" (parenthesized_expression "(param_7 & param_5 & 0x1ff)" ( (binary_expression "param_7 & param_5 & 0x1ff" (binary_expression "param_7 & param_5" identifier & identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00016aa8;" goto statement_identifier ;)) (goto_statement "goto LAB_000168f0;" goto statement_identifier ;) })) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }) (else_clause "else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" else (compound_statement "{\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" { (expression_statement "unaff_s7 = param_2[1];" (assignment_expression "unaff_s7 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (if_statement "if (unaff_s7 != 0) goto LAB_000167f4;" if (parenthesized_expression "(unaff_s7 != 0)" ( (binary_expression "unaff_s7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;)) (if_statement "if (param_3 != 0) goto LAB_0001671c;" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001671c;" goto statement_identifier ;)) (labeled_statement "LAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;" statement_identifier : (expression_statement "uVar4 = param_7 & 0xc00 | param_5 & 0x200;" (assignment_expression "uVar4 = param_7 & 0xc00 | param_5 & 0x200" identifier = (binary_expression "param_7 & 0xc00 | param_5 & 0x200" (binary_expression "param_7 & 0xc00" identifier & number_literal) | (binary_expression "param_5 & 0x200" identifier & number_literal))) ;)) (expression_statement "unaff_s1 = param_1;" (assignment_expression "unaff_s1 = param_1" identifier = identifier) ;) (if_statement "if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;" if (parenthesized_expression "((param_8 & param_9) == 0xffffffff)" ( (binary_expression "(param_8 & param_9) == 0xffffffff" (parenthesized_expression "(param_8 & param_9)" ( (binary_expression "param_8 & param_9" identifier & identifier) )) == number_literal) )) (goto_statement "goto LAB_000168a4;" goto statement_identifier ;)) (labeled_statement "LAB_00016764:\n    bVar1 = false;" statement_identifier : (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;)) (expression_statement "uVar4 = param_5 & 0xffffffc0;" (assignment_expression "uVar4 = param_5 & 0xffffffc0" identifier = (binary_expression "param_5 & 0xffffffc0" identifier & number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);" (assignment_expression "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" identifier = (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" ( (pointer_expression "*(code *)PTR_mkdir_0003337c" * (cast_expression "(code *)PTR_mkdir_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1,uVar4)" ( identifier , identifier )))) ;) (labeled_statement "joined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" statement_identifier : (if_statement "if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" { (expression_statement "(*param_6)(param_1,param_4);" (call_expression "(*param_6)(param_1,param_4)" (parenthesized_expression "(*param_6)" ( (pointer_expression "*param_6" * identifier) )) (argument_list "(param_1,param_4)" ( identifier , identifier ))) ;) (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" identifier = number_literal) ;) (expression_statement "unaff_s7 = 0;" (assignment_expression "unaff_s7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00016984;" goto statement_identifier ;) }))) }))) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s7 = *piVar5;" (assignment_expression "unaff_s7 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (if_statement "if (param_10 == '\0') {\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }" if (parenthesized_expression "(param_10 == '\0')" ( (binary_expression "param_10 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }" { (expression_statement "uVar4 = 0xffffffff;" (assignment_expression "uVar4 = 0xffffffff" identifier = number_literal) ;) (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_00016984;" goto statement_identifier ;) })) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if (unaff_s7 == 0) goto LAB_00016840;" if (parenthesized_expression "(unaff_s7 == 0)" ( (binary_expression "unaff_s7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00016840;" goto statement_identifier ;)) (if_statement "if ((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;" if (parenthesized_expression "((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000))" ( (binary_expression "(((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)" (parenthesized_expression "(((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0))" ( (binary_expression "((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)" (parenthesized_expression "((unaff_s7 != 2) && (param_3 != 0))" ( (binary_expression "(unaff_s7 != 2) && (param_3 != 0)" (parenthesized_expression "(unaff_s7 != 2)" ( (binary_expression "unaff_s7 != 2" identifier != number_literal) )) && (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0)" identifier = (call_expression "(*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0)" (parenthesized_expression "(*(code *)PTR___xstat64_000332f8)" ( (pointer_expression "*(code *)PTR___xstat64_000332f8" * (cast_expression "(code *)PTR___xstat64_000332f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,unaff_s1,local_d0)" ( number_literal , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(uVar6 = 1, (local_b8 & 0xf000) == 0x4000)" ( (comma_expression "uVar6 = 1, (local_b8 & 0xf000) == 0x4000" (assignment_expression "uVar6 = 1" identifier = number_literal) , (binary_expression "(local_b8 & 0xf000) == 0x4000" (parenthesized_expression "(local_b8 & 0xf000)" ( (binary_expression "local_b8 & 0xf000" identifier & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_00016840;" goto statement_identifier ;)) (labeled_statement "LAB_000167f4:\n  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);" statement_identifier : (expression_statement "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);" (assignment_expression "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00033418)" ( (pointer_expression "*(code *)PTR_dcgettext_00033418" * (cast_expression "(code *)PTR_dcgettext_00033418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00033108 + 0x1c20,5)" ( number_literal , (binary_expression "PTR_LAB_00033108 + 0x1c20" identifier + number_literal) , number_literal ))))) ;)) (expression_statement "uVar6 = quote(pcVar9);" (assignment_expression "uVar6 = quote(pcVar9)" identifier = (call_expression "quote(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);" (call_expression "(*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6)" (parenthesized_expression "(*(code *)PTR_error_000333d4)" ( (pointer_expression "*(code *)PTR_error_000333d4" * (cast_expression "(code *)PTR_error_000333d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,unaff_s7,param_1,uVar6)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00016840:\n  do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );" statement_identifier : (do_statement "do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  }" { (while_statement "while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }" { (if_statement "if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }" if (parenthesized_expression "(local_2c == *(int *)puVar2)" ( (binary_expression "local_2c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return uVar6;\n      }" { (return_statement "return uVar6;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_00033414)();" (call_expression "(*(code *)PTR___stack_chk_fail_00033414)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00033414)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00033414" * (cast_expression "(code *)PTR___stack_chk_fail_00033414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00016aa8:\n      uVar6 = 3;" statement_identifier : (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" identifier = number_literal) ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "pcVar9 = param_1;" (assignment_expression "pcVar9 = param_1" identifier = identifier) ;) (expression_statement "uVar4 = param_5;" (assignment_expression "uVar4 = param_5" identifier = identifier) ;) (labeled_statement "LAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);" statement_identifier : (expression_statement "iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);" (assignment_expression "iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0)" identifier = (call_expression "savewd_chdir(param_2,unaff_s1,uVar6,local_d0)" identifier (argument_list "(param_2,unaff_s1,uVar6,local_d0)" ( identifier , identifier , identifier , identifier )))) ;)) (expression_statement "param_1 = pcVar9;" (assignment_expression "param_1 = pcVar9" identifier = identifier) ;) (if_statement "if (-2 < iVar3) break;" if (parenthesized_expression "(-2 < iVar3)" ( (binary_expression "-2 < iVar3" number_literal < identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000168f0:\n      uVar6 = 1;" statement_identifier : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;)) })) (if_statement "if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }" { (expression_statement "unaff_s1 = PTR_LAB_00033108 + 0x1bd0;" (assignment_expression "unaff_s1 = PTR_LAB_00033108 + 0x1bd0" identifier = (binary_expression "PTR_LAB_00033108 + 0x1bd0" identifier + number_literal)) ;) })) (expression_statement "iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);" (assignment_expression "iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7)" identifier = (call_expression "dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7)" identifier (argument_list "(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7)" ( (subscript_expression "local_d0[0]" identifier [ number_literal ]) , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) goto LAB_000168f0;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000168f0;" goto statement_identifier ;)) (if_statement "if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" if (parenthesized_expression "(unaff_s7 == 0)" ( (binary_expression "unaff_s7 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }" { (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s1 = (char *)*puVar7;" (assignment_expression "unaff_s1 = (char *)*puVar7" identifier = (cast_expression "(char *)*puVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) }) (else_clause "else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" else (compound_statement "{\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" { (if_statement "if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;" if (parenthesized_expression "((unaff_s7 == 2) || (param_3 == 0))" ( (binary_expression "(unaff_s7 == 2) || (param_3 == 0)" (parenthesized_expression "(unaff_s7 == 2)" ( (binary_expression "unaff_s7 == 2" identifier == number_literal) )) || (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;)) (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s1 = (char *)*puVar7;" (assignment_expression "unaff_s1 = (char *)*puVar7" identifier = (cast_expression "(char *)*puVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) (if_statement "if (unaff_s1 == (char *)0x14) goto LAB_000167f4;" if (parenthesized_expression "(unaff_s1 == (char *)0x14)" ( (binary_expression "unaff_s1 == (char *)0x14" identifier == (cast_expression "(char *)0x14" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;)) }))) (if_statement "if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }" { (expression_statement "puVar8 = PTR_LAB_00033108 + 0x1bd4;" (assignment_expression "puVar8 = PTR_LAB_00033108 + 0x1bd4" identifier = (binary_expression "PTR_LAB_00033108 + 0x1bd4" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }" else (compound_statement "{\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }" { (expression_statement "puVar8 = PTR_LAB_00033108 + 0x1bf4;" (assignment_expression "puVar8 = PTR_LAB_00033108 + 0x1bf4" identifier = (binary_expression "PTR_LAB_00033108 + 0x1bf4" identifier + number_literal)) ;) }))) (expression_statement "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);" (assignment_expression "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_00033418)(0,puVar8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00033418)" ( (pointer_expression "*(code *)PTR_dcgettext_00033418" * (cast_expression "(code *)PTR_dcgettext_00033418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar8,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "uVar6 = quote(pcVar9);" (assignment_expression "uVar6 = quote(pcVar9)" identifier = (call_expression "quote(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);" (call_expression "(*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6)" (parenthesized_expression "(*(code *)PTR_error_000333d4)" ( (pointer_expression "*(code *)PTR_error_000333d4" * (cast_expression "(code *)PTR_error_000333d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,unaff_s1,param_1,uVar6)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\n_Bool make_dir_parents(char *dir,savewd *wd,_func_int_char_ptr_char_ptr_void_ptr *make_ancestor,\n                      void *options,mode_t mode,_func_void_char_ptr_void_ptr *announce,\n                      mode_t mode_bits,uid_t owner,gid_t group,_Bool preserve_existing)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  ptrdiff_t pVar3;\n  uint uVar4;\n  int iVar5;\n  int *piVar6;\n  char *pcVar7;\n  _Bool _Var9;\n  undefined4 *puVar8;\n  int iVar10;\n  undefined *puVar11;\n  char *unaff_s1;\n  int unaff_s7;\n  stat st;\n  \n  puVar2 = PTR___stack_chk_guard_00033430;\n  iVar10 = *(int *)PTR___stack_chk_guard_00033430;\n  pcVar7 = dir;\n  if ((*dir == '/') || (wd->state != DT_DIR)) {\n    if (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001687c;\nLAB_0001671c:\n    pVar3 = mkancesdirs(dir,wd,make_ancestor,options);\n    if (pVar3 < 0) {\n      if (pVar3 != -1) goto LAB_000168f0;\n      piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar6;\n      goto LAB_000167f4;\n    }\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;\n    unaff_s1 = dir + pVar3;\n    if ((owner & group) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = mode & 0xffffffed;\n      iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,mode);\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      unaff_s7 = 0;\n      if ((mode_bits & mode & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = (wd->val).fd;\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;\n    unaff_s1 = dir;\n    if ((owner & group) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = mode & 0xffffffc0;\n    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      iVar5 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }\n  piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();\n  unaff_s7 = *piVar6;\n  if (!preserve_existing) {\n    uVar4 = 0xffffffff;\n    iVar5 = 2;\n    goto LAB_00016984;\n  }\n  _Var9 = true;\n  if (unaff_s7 == 0) goto LAB_00016840;\n  if ((((unaff_s7 != 2) && (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)) &&\n      (iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st), iVar5 == 0)) &&\n     (_Var9 = true, (st.st_mode & 0xf000) == 0x4000)) goto LAB_00016840;\nLAB_000167f4:\n  dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);\n  pcVar7 = quote(pcVar7);\n  (*(code *)PTR_error_000333d4)(0,unaff_s7,dir,pcVar7);\n  _Var9 = false;\nLAB_00016840:\n  do {\n    while( true ) {\n      if (iVar10 == *(int *)puVar2) {\n        return _Var9;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      iVar5 = 3;\n      bVar1 = true;\n      pcVar7 = dir;\n      uVar4 = mode;\nLAB_00016984:\n      iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st);\n      dir = pcVar7;\n      if (-2 < iVar5) break;\nLAB_000168f0:\n      _Var9 = true;\n    }\n    if (iVar5 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar5 = dirchownmod(st.st_dev,unaff_s1,uVar4,owner,group,mode,mode_bits);\n    if (iVar5 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n    }\n    else {\n      if ((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))\n      goto LAB_000167f4;\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar11 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar11 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar11,5);\n    pcVar7 = quote(pcVar7);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,dir,pcVar7);\n    _Var9 = false;\n  } while( true );\n}\n\n" comment (function_definition "_Bool make_dir_parents(char *dir,savewd *wd,_func_int_char_ptr_char_ptr_void_ptr *make_ancestor,\n                      void *options,mode_t mode,_func_void_char_ptr_void_ptr *announce,\n                      mode_t mode_bits,uid_t owner,gid_t group,_Bool preserve_existing)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  ptrdiff_t pVar3;\n  uint uVar4;\n  int iVar5;\n  int *piVar6;\n  char *pcVar7;\n  _Bool _Var9;\n  undefined4 *puVar8;\n  int iVar10;\n  undefined *puVar11;\n  char *unaff_s1;\n  int unaff_s7;\n  stat st;\n  \n  puVar2 = PTR___stack_chk_guard_00033430;\n  iVar10 = *(int *)PTR___stack_chk_guard_00033430;\n  pcVar7 = dir;\n  if ((*dir == '/') || (wd->state != DT_DIR)) {\n    if (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001687c;\nLAB_0001671c:\n    pVar3 = mkancesdirs(dir,wd,make_ancestor,options);\n    if (pVar3 < 0) {\n      if (pVar3 != -1) goto LAB_000168f0;\n      piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar6;\n      goto LAB_000167f4;\n    }\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;\n    unaff_s1 = dir + pVar3;\n    if ((owner & group) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = mode & 0xffffffed;\n      iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,mode);\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      unaff_s7 = 0;\n      if ((mode_bits & mode & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = (wd->val).fd;\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;\n    unaff_s1 = dir;\n    if ((owner & group) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = mode & 0xffffffc0;\n    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      iVar5 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }\n  piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();\n  unaff_s7 = *piVar6;\n  if (!preserve_existing) {\n    uVar4 = 0xffffffff;\n    iVar5 = 2;\n    goto LAB_00016984;\n  }\n  _Var9 = true;\n  if (unaff_s7 == 0) goto LAB_00016840;\n  if ((((unaff_s7 != 2) && (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)) &&\n      (iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st), iVar5 == 0)) &&\n     (_Var9 = true, (st.st_mode & 0xf000) == 0x4000)) goto LAB_00016840;\nLAB_000167f4:\n  dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);\n  pcVar7 = quote(pcVar7);\n  (*(code *)PTR_error_000333d4)(0,unaff_s7,dir,pcVar7);\n  _Var9 = false;\nLAB_00016840:\n  do {\n    while( true ) {\n      if (iVar10 == *(int *)puVar2) {\n        return _Var9;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      iVar5 = 3;\n      bVar1 = true;\n      pcVar7 = dir;\n      uVar4 = mode;\nLAB_00016984:\n      iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st);\n      dir = pcVar7;\n      if (-2 < iVar5) break;\nLAB_000168f0:\n      _Var9 = true;\n    }\n    if (iVar5 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar5 = dirchownmod(st.st_dev,unaff_s1,uVar4,owner,group,mode,mode_bits);\n    if (iVar5 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n    }\n    else {\n      if ((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))\n      goto LAB_000167f4;\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar11 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar11 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar11,5);\n    pcVar7 = quote(pcVar7);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,dir,pcVar7);\n    _Var9 = false;\n  } while( true );\n}" type_identifier (function_declarator "make_dir_parents(char *dir,savewd *wd,_func_int_char_ptr_char_ptr_void_ptr *make_ancestor,\n                      void *options,mode_t mode,_func_void_char_ptr_void_ptr *announce,\n                      mode_t mode_bits,uid_t owner,gid_t group,_Bool preserve_existing)" identifier (parameter_list "(char *dir,savewd *wd,_func_int_char_ptr_char_ptr_void_ptr *make_ancestor,\n                      void *options,mode_t mode,_func_void_char_ptr_void_ptr *announce,\n                      mode_t mode_bits,uid_t owner,gid_t group,_Bool preserve_existing)" ( (parameter_declaration "char *dir" primitive_type (pointer_declarator "*dir" * identifier)) , (parameter_declaration "savewd *wd" type_identifier (pointer_declarator "*wd" * identifier)) , (parameter_declaration "_func_int_char_ptr_char_ptr_void_ptr *make_ancestor" type_identifier (pointer_declarator "*make_ancestor" * identifier)) , (parameter_declaration "void *options" primitive_type (pointer_declarator "*options" * identifier)) , (parameter_declaration "mode_t mode" type_identifier identifier) , (parameter_declaration "_func_void_char_ptr_void_ptr *announce" type_identifier (pointer_declarator "*announce" * identifier)) , (parameter_declaration "mode_t mode_bits" type_identifier identifier) , (parameter_declaration "uid_t owner" type_identifier identifier) , (parameter_declaration "gid_t group" type_identifier identifier) , (parameter_declaration "_Bool preserve_existing" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  ptrdiff_t pVar3;\n  uint uVar4;\n  int iVar5;\n  int *piVar6;\n  char *pcVar7;\n  _Bool _Var9;\n  undefined4 *puVar8;\n  int iVar10;\n  undefined *puVar11;\n  char *unaff_s1;\n  int unaff_s7;\n  stat st;\n  \n  puVar2 = PTR___stack_chk_guard_00033430;\n  iVar10 = *(int *)PTR___stack_chk_guard_00033430;\n  pcVar7 = dir;\n  if ((*dir == '/') || (wd->state != DT_DIR)) {\n    if (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001687c;\nLAB_0001671c:\n    pVar3 = mkancesdirs(dir,wd,make_ancestor,options);\n    if (pVar3 < 0) {\n      if (pVar3 != -1) goto LAB_000168f0;\n      piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar6;\n      goto LAB_000167f4;\n    }\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;\n    unaff_s1 = dir + pVar3;\n    if ((owner & group) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = mode & 0xffffffed;\n      iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,mode);\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      unaff_s7 = 0;\n      if ((mode_bits & mode & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = (wd->val).fd;\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;\n    unaff_s1 = dir;\n    if ((owner & group) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = mode & 0xffffffc0;\n    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      iVar5 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }\n  piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();\n  unaff_s7 = *piVar6;\n  if (!preserve_existing) {\n    uVar4 = 0xffffffff;\n    iVar5 = 2;\n    goto LAB_00016984;\n  }\n  _Var9 = true;\n  if (unaff_s7 == 0) goto LAB_00016840;\n  if ((((unaff_s7 != 2) && (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)) &&\n      (iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st), iVar5 == 0)) &&\n     (_Var9 = true, (st.st_mode & 0xf000) == 0x4000)) goto LAB_00016840;\nLAB_000167f4:\n  dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);\n  pcVar7 = quote(pcVar7);\n  (*(code *)PTR_error_000333d4)(0,unaff_s7,dir,pcVar7);\n  _Var9 = false;\nLAB_00016840:\n  do {\n    while( true ) {\n      if (iVar10 == *(int *)puVar2) {\n        return _Var9;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      iVar5 = 3;\n      bVar1 = true;\n      pcVar7 = dir;\n      uVar4 = mode;\nLAB_00016984:\n      iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st);\n      dir = pcVar7;\n      if (-2 < iVar5) break;\nLAB_000168f0:\n      _Var9 = true;\n    }\n    if (iVar5 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar5 = dirchownmod(st.st_dev,unaff_s1,uVar4,owner,group,mode,mode_bits);\n    if (iVar5 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n    }\n    else {\n      if ((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))\n      goto LAB_000167f4;\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar11 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar11 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar11,5);\n    pcVar7 = quote(pcVar7);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,dir,pcVar7);\n    _Var9 = false;\n  } while( true );\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "ptrdiff_t pVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "_Bool _Var9;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "char *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int unaff_s7;" primitive_type identifier ;) (declaration "stat st;" type_identifier identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00033430;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00033430" identifier = identifier) ;) (expression_statement "iVar10 = *(int *)PTR___stack_chk_guard_00033430;" (assignment_expression "iVar10 = *(int *)PTR___stack_chk_guard_00033430" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00033430" * (cast_expression "(int *)PTR___stack_chk_guard_00033430" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar7 = dir;" (assignment_expression "pcVar7 = dir" identifier = identifier) ;) (if_statement "if ((*dir == '/') || (wd->state != DT_DIR)) {\n    if (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001687c;\nLAB_0001671c:\n    pVar3 = mkancesdirs(dir,wd,make_ancestor,options);\n    if (pVar3 < 0) {\n      if (pVar3 != -1) goto LAB_000168f0;\n      piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar6;\n      goto LAB_000167f4;\n    }\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;\n    unaff_s1 = dir + pVar3;\n    if ((owner & group) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = mode & 0xffffffed;\n      iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,mode);\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      unaff_s7 = 0;\n      if ((mode_bits & mode & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = (wd->val).fd;\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;\n    unaff_s1 = dir;\n    if ((owner & group) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = mode & 0xffffffc0;\n    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      iVar5 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" if (parenthesized_expression "((*dir == '/') || (wd->state != DT_DIR))" ( (binary_expression "(*dir == '/') || (wd->state != DT_DIR)" (parenthesized_expression "(*dir == '/')" ( (binary_expression "*dir == '/'" (pointer_expression "*dir" * identifier) == (char_literal "'/'" ' character ')) )) || (parenthesized_expression "(wd->state != DT_DIR)" ( (binary_expression "wd->state != DT_DIR" (field_expression "wd->state" identifier -> field_identifier) != identifier) ))) )) (compound_statement "{\n    if (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001687c;\nLAB_0001671c:\n    pVar3 = mkancesdirs(dir,wd,make_ancestor,options);\n    if (pVar3 < 0) {\n      if (pVar3 != -1) goto LAB_000168f0;\n      piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar6;\n      goto LAB_000167f4;\n    }\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;\n    unaff_s1 = dir + pVar3;\n    if ((owner & group) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = mode & 0xffffffed;\n      iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,mode);\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      unaff_s7 = 0;\n      if ((mode_bits & mode & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }" { (if_statement "if (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001687c;" if (parenthesized_expression "(make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0)" ( (binary_expression "make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0" identifier == (cast_expression "(_func_int_char_ptr_char_ptr_void_ptr *)0x0" ( (type_descriptor "_func_int_char_ptr_char_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001687c;" goto statement_identifier ;)) (labeled_statement "LAB_0001671c:\n    pVar3 = mkancesdirs(dir,wd,make_ancestor,options);" statement_identifier : (expression_statement "pVar3 = mkancesdirs(dir,wd,make_ancestor,options);" (assignment_expression "pVar3 = mkancesdirs(dir,wd,make_ancestor,options)" identifier = (call_expression "mkancesdirs(dir,wd,make_ancestor,options)" identifier (argument_list "(dir,wd,make_ancestor,options)" ( identifier , identifier , identifier , identifier )))) ;)) (if_statement "if (pVar3 < 0) {\n      if (pVar3 != -1) goto LAB_000168f0;\n      piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar6;\n      goto LAB_000167f4;\n    }" if (parenthesized_expression "(pVar3 < 0)" ( (binary_expression "pVar3 < 0" identifier < number_literal) )) (compound_statement "{\n      if (pVar3 != -1) goto LAB_000168f0;\n      piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar6;\n      goto LAB_000167f4;\n    }" { (if_statement "if (pVar3 != -1) goto LAB_000168f0;" if (parenthesized_expression "(pVar3 != -1)" ( (binary_expression "pVar3 != -1" identifier != number_literal) )) (goto_statement "goto LAB_000168f0;" goto statement_identifier ;)) (expression_statement "piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar6 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s7 = *piVar6;" (assignment_expression "unaff_s7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;) })) (expression_statement "uVar4 = mode_bits & 0xc00 | mode & 0x200;" (assignment_expression "uVar4 = mode_bits & 0xc00 | mode & 0x200" identifier = (binary_expression "mode_bits & 0xc00 | mode & 0x200" (binary_expression "mode_bits & 0xc00" identifier & number_literal) | (binary_expression "mode & 0x200" identifier & number_literal))) ;) (expression_statement "unaff_s1 = dir + pVar3;" (assignment_expression "unaff_s1 = dir + pVar3" identifier = (binary_expression "dir + pVar3" identifier + identifier)) ;) (if_statement "if ((owner & group) != 0xffffffff) goto LAB_00016764;" if (parenthesized_expression "((owner & group) != 0xffffffff)" ( (binary_expression "(owner & group) != 0xffffffff" (parenthesized_expression "(owner & group)" ( (binary_expression "owner & group" identifier & identifier) )) != number_literal) )) (goto_statement "goto LAB_00016764;" goto statement_identifier ;)) (labeled_statement "LAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = mode & 0xffffffed;\n      iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" statement_identifier : (if_statement "if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = mode & 0xffffffed;\n      iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar1 = true;\n      uVar4 = mode & 0xffffffed;\n      iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "uVar4 = mode & 0xffffffed;" (assignment_expression "uVar4 = mode & 0xffffffed" identifier = (binary_expression "mode & 0xffffffed" identifier & number_literal)) ;) (expression_statement "iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);" (assignment_expression "iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" identifier = (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" ( (pointer_expression "*(code *)PTR_mkdir_0003337c" * (cast_expression "(code *)PTR_mkdir_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1,uVar4)" ( identifier , identifier )))) ;) (goto_statement "goto joined_r0x00016938;" goto statement_identifier ;) }))) (expression_statement "iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,mode);" (assignment_expression "iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,mode)" identifier = (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,mode)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" ( (pointer_expression "*(code *)PTR_mkdir_0003337c" * (cast_expression "(code *)PTR_mkdir_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1,mode)" ( identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n      (*announce)(dir,options);\n      unaff_s7 = 0;\n      if ((mode_bits & mode & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      (*announce)(dir,options);\n      unaff_s7 = 0;\n      if ((mode_bits & mode & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }" { (expression_statement "(*announce)(dir,options);" (call_expression "(*announce)(dir,options)" (parenthesized_expression "(*announce)" ( (pointer_expression "*announce" * identifier) )) (argument_list "(dir,options)" ( identifier , identifier ))) ;) (expression_statement "unaff_s7 = 0;" (assignment_expression "unaff_s7 = 0" identifier = number_literal) ;) (if_statement "if ((mode_bits & mode & 0x1ff) != 0) goto LAB_00016aa8;" if (parenthesized_expression "((mode_bits & mode & 0x1ff) != 0)" ( (binary_expression "(mode_bits & mode & 0x1ff) != 0" (parenthesized_expression "(mode_bits & mode & 0x1ff)" ( (binary_expression "mode_bits & mode & 0x1ff" (binary_expression "mode_bits & mode" identifier & identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00016aa8;" goto statement_identifier ;)) (goto_statement "goto LAB_000168f0;" goto statement_identifier ;) })) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }) (else_clause "else {\n    unaff_s7 = (wd->val).fd;\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;\n    unaff_s1 = dir;\n    if ((owner & group) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = mode & 0xffffffc0;\n    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      iVar5 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" else (compound_statement "{\n    unaff_s7 = (wd->val).fd;\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;\n    unaff_s1 = dir;\n    if ((owner & group) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = mode & 0xffffffc0;\n    iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      iVar5 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" { (expression_statement "unaff_s7 = (wd->val).fd;" (assignment_expression "unaff_s7 = (wd->val).fd" identifier = (field_expression "(wd->val).fd" (parenthesized_expression "(wd->val)" ( (field_expression "wd->val" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (unaff_s7 != 0) goto LAB_000167f4;" if (parenthesized_expression "(unaff_s7 != 0)" ( (binary_expression "unaff_s7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;)) (if_statement "if (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0) goto LAB_0001671c;" if (parenthesized_expression "(make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)" ( (binary_expression "make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0" identifier != (cast_expression "(_func_int_char_ptr_char_ptr_void_ptr *)0x0" ( (type_descriptor "_func_int_char_ptr_char_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001671c;" goto statement_identifier ;)) (labeled_statement "LAB_0001687c:\n    uVar4 = mode_bits & 0xc00 | mode & 0x200;" statement_identifier : (expression_statement "uVar4 = mode_bits & 0xc00 | mode & 0x200;" (assignment_expression "uVar4 = mode_bits & 0xc00 | mode & 0x200" identifier = (binary_expression "mode_bits & 0xc00 | mode & 0x200" (binary_expression "mode_bits & 0xc00" identifier & number_literal) | (binary_expression "mode & 0x200" identifier & number_literal))) ;)) (expression_statement "unaff_s1 = dir;" (assignment_expression "unaff_s1 = dir" identifier = identifier) ;) (if_statement "if ((owner & group) == 0xffffffff) goto LAB_000168a4;" if (parenthesized_expression "((owner & group) == 0xffffffff)" ( (binary_expression "(owner & group) == 0xffffffff" (parenthesized_expression "(owner & group)" ( (binary_expression "owner & group" identifier & identifier) )) == number_literal) )) (goto_statement "goto LAB_000168a4;" goto statement_identifier ;)) (labeled_statement "LAB_00016764:\n    bVar1 = false;" statement_identifier : (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;)) (expression_statement "uVar4 = mode & 0xffffffc0;" (assignment_expression "uVar4 = mode & 0xffffffc0" identifier = (binary_expression "mode & 0xffffffc0" identifier & number_literal)) ;) (expression_statement "iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);" (assignment_expression "iVar5 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" identifier = (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" ( (pointer_expression "*(code *)PTR_mkdir_0003337c" * (cast_expression "(code *)PTR_mkdir_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1,uVar4)" ( identifier , identifier )))) ;) (labeled_statement "joined_r0x00016938:\n    if (iVar5 == 0) {\n      (*announce)(dir,options);\n      iVar5 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" statement_identifier : (if_statement "if (iVar5 == 0) {\n      (*announce)(dir,options);\n      iVar5 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      (*announce)(dir,options);\n      iVar5 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" { (expression_statement "(*announce)(dir,options);" (call_expression "(*announce)(dir,options)" (parenthesized_expression "(*announce)" ( (pointer_expression "*announce" * identifier) )) (argument_list "(dir,options)" ( identifier , identifier ))) ;) (expression_statement "iVar5 = 3;" (assignment_expression "iVar5 = 3" identifier = number_literal) ;) (expression_statement "unaff_s7 = 0;" (assignment_expression "unaff_s7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00016984;" goto statement_identifier ;) }))) }))) (expression_statement "piVar6 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar6 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s7 = *piVar6;" (assignment_expression "unaff_s7 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (!preserve_existing) {\n    uVar4 = 0xffffffff;\n    iVar5 = 2;\n    goto LAB_00016984;\n  }" if (parenthesized_expression "(!preserve_existing)" ( (unary_expression "!preserve_existing" ! identifier) )) (compound_statement "{\n    uVar4 = 0xffffffff;\n    iVar5 = 2;\n    goto LAB_00016984;\n  }" { (expression_statement "uVar4 = 0xffffffff;" (assignment_expression "uVar4 = 0xffffffff" identifier = number_literal) ;) (expression_statement "iVar5 = 2;" (assignment_expression "iVar5 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_00016984;" goto statement_identifier ;) })) (expression_statement "_Var9 = true;" (assignment_expression "_Var9 = true" identifier = true) ;) (if_statement "if (unaff_s7 == 0) goto LAB_00016840;" if (parenthesized_expression "(unaff_s7 == 0)" ( (binary_expression "unaff_s7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00016840;" goto statement_identifier ;)) (if_statement "if ((((unaff_s7 != 2) && (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)) &&\n      (iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st), iVar5 == 0)) &&\n     (_Var9 = true, (st.st_mode & 0xf000) == 0x4000)) goto LAB_00016840;" if (parenthesized_expression "((((unaff_s7 != 2) && (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)) &&\n      (iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st), iVar5 == 0)) &&\n     (_Var9 = true, (st.st_mode & 0xf000) == 0x4000))" ( (binary_expression "(((unaff_s7 != 2) && (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)) &&\n      (iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st), iVar5 == 0)) &&\n     (_Var9 = true, (st.st_mode & 0xf000) == 0x4000)" (parenthesized_expression "(((unaff_s7 != 2) && (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)) &&\n      (iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st), iVar5 == 0))" ( (binary_expression "((unaff_s7 != 2) && (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)) &&\n      (iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st), iVar5 == 0)" (parenthesized_expression "((unaff_s7 != 2) && (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0))" ( (binary_expression "(unaff_s7 != 2) && (make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)" (parenthesized_expression "(unaff_s7 != 2)" ( (binary_expression "unaff_s7 != 2" identifier != number_literal) )) && (parenthesized_expression "(make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0)" ( (binary_expression "make_ancestor != (_func_int_char_ptr_char_ptr_void_ptr *)0x0" identifier != (cast_expression "(_func_int_char_ptr_char_ptr_void_ptr *)0x0" ( (type_descriptor "_func_int_char_ptr_char_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st), iVar5 == 0)" ( (comma_expression "iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st), iVar5 == 0" (assignment_expression "iVar5 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st)" identifier = (call_expression "(*(code *)PTR___xstat64_000332f8)(3,unaff_s1,&st)" (parenthesized_expression "(*(code *)PTR___xstat64_000332f8)" ( (pointer_expression "*(code *)PTR___xstat64_000332f8" * (cast_expression "(code *)PTR___xstat64_000332f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,unaff_s1,&st)" ( number_literal , identifier , (pointer_expression "&st" & identifier) )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(_Var9 = true, (st.st_mode & 0xf000) == 0x4000)" ( (comma_expression "_Var9 = true, (st.st_mode & 0xf000) == 0x4000" (assignment_expression "_Var9 = true" identifier = true) , (binary_expression "(st.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(st.st_mode & 0xf000)" ( (binary_expression "st.st_mode & 0xf000" (field_expression "st.st_mode" identifier . field_identifier) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_00016840;" goto statement_identifier ;)) (labeled_statement "LAB_000167f4:\n  dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);" statement_identifier : (expression_statement "dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);" (assignment_expression "dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00033418)" ( (pointer_expression "*(code *)PTR_dcgettext_00033418" * (cast_expression "(code *)PTR_dcgettext_00033418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00033108 + 0x1c20,5)" ( number_literal , (binary_expression "PTR_LAB_00033108 + 0x1c20" identifier + number_literal) , number_literal ))))) ;)) (expression_statement "pcVar7 = quote(pcVar7);" (assignment_expression "pcVar7 = quote(pcVar7)" identifier = (call_expression "quote(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_000333d4)(0,unaff_s7,dir,pcVar7);" (call_expression "(*(code *)PTR_error_000333d4)(0,unaff_s7,dir,pcVar7)" (parenthesized_expression "(*(code *)PTR_error_000333d4)" ( (pointer_expression "*(code *)PTR_error_000333d4" * (cast_expression "(code *)PTR_error_000333d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,unaff_s7,dir,pcVar7)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "_Var9 = false;" (assignment_expression "_Var9 = false" identifier = false) ;) (labeled_statement "LAB_00016840:\n  do {\n    while( true ) {\n      if (iVar10 == *(int *)puVar2) {\n        return _Var9;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      iVar5 = 3;\n      bVar1 = true;\n      pcVar7 = dir;\n      uVar4 = mode;\nLAB_00016984:\n      iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st);\n      dir = pcVar7;\n      if (-2 < iVar5) break;\nLAB_000168f0:\n      _Var9 = true;\n    }\n    if (iVar5 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar5 = dirchownmod(st.st_dev,unaff_s1,uVar4,owner,group,mode,mode_bits);\n    if (iVar5 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n    }\n    else {\n      if ((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))\n      goto LAB_000167f4;\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar11 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar11 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar11,5);\n    pcVar7 = quote(pcVar7);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,dir,pcVar7);\n    _Var9 = false;\n  } while( true );" statement_identifier : (do_statement "do {\n    while( true ) {\n      if (iVar10 == *(int *)puVar2) {\n        return _Var9;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      iVar5 = 3;\n      bVar1 = true;\n      pcVar7 = dir;\n      uVar4 = mode;\nLAB_00016984:\n      iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st);\n      dir = pcVar7;\n      if (-2 < iVar5) break;\nLAB_000168f0:\n      _Var9 = true;\n    }\n    if (iVar5 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar5 = dirchownmod(st.st_dev,unaff_s1,uVar4,owner,group,mode,mode_bits);\n    if (iVar5 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n    }\n    else {\n      if ((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))\n      goto LAB_000167f4;\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar11 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar11 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar11,5);\n    pcVar7 = quote(pcVar7);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,dir,pcVar7);\n    _Var9 = false;\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      if (iVar10 == *(int *)puVar2) {\n        return _Var9;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      iVar5 = 3;\n      bVar1 = true;\n      pcVar7 = dir;\n      uVar4 = mode;\nLAB_00016984:\n      iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st);\n      dir = pcVar7;\n      if (-2 < iVar5) break;\nLAB_000168f0:\n      _Var9 = true;\n    }\n    if (iVar5 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar5 = dirchownmod(st.st_dev,unaff_s1,uVar4,owner,group,mode,mode_bits);\n    if (iVar5 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n    }\n    else {\n      if ((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))\n      goto LAB_000167f4;\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar11 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar11 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar11,5);\n    pcVar7 = quote(pcVar7);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,dir,pcVar7);\n    _Var9 = false;\n  }" { (while_statement "while( true ) {\n      if (iVar10 == *(int *)puVar2) {\n        return _Var9;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      iVar5 = 3;\n      bVar1 = true;\n      pcVar7 = dir;\n      uVar4 = mode;\nLAB_00016984:\n      iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st);\n      dir = pcVar7;\n      if (-2 < iVar5) break;\nLAB_000168f0:\n      _Var9 = true;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (iVar10 == *(int *)puVar2) {\n        return _Var9;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      iVar5 = 3;\n      bVar1 = true;\n      pcVar7 = dir;\n      uVar4 = mode;\nLAB_00016984:\n      iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st);\n      dir = pcVar7;\n      if (-2 < iVar5) break;\nLAB_000168f0:\n      _Var9 = true;\n    }" { (if_statement "if (iVar10 == *(int *)puVar2) {\n        return _Var9;\n      }" if (parenthesized_expression "(iVar10 == *(int *)puVar2)" ( (binary_expression "iVar10 == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return _Var9;\n      }" { (return_statement "return _Var9;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_00033414)();" (call_expression "(*(code *)PTR___stack_chk_fail_00033414)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00033414)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00033414" * (cast_expression "(code *)PTR___stack_chk_fail_00033414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00016aa8:\n      iVar5 = 3;" statement_identifier : (expression_statement "iVar5 = 3;" (assignment_expression "iVar5 = 3" identifier = number_literal) ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "pcVar7 = dir;" (assignment_expression "pcVar7 = dir" identifier = identifier) ;) (expression_statement "uVar4 = mode;" (assignment_expression "uVar4 = mode" identifier = identifier) ;) (labeled_statement "LAB_00016984:\n      iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st);" statement_identifier : (expression_statement "iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st);" (assignment_expression "iVar5 = savewd_chdir(wd,unaff_s1,iVar5,(int *)&st)" identifier = (call_expression "savewd_chdir(wd,unaff_s1,iVar5,(int *)&st)" identifier (argument_list "(wd,unaff_s1,iVar5,(int *)&st)" ( identifier , identifier , identifier , (cast_expression "(int *)&st" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&st" & identifier)) )))) ;)) (expression_statement "dir = pcVar7;" (assignment_expression "dir = pcVar7" identifier = identifier) ;) (if_statement "if (-2 < iVar5) break;" if (parenthesized_expression "(-2 < iVar5)" ( (binary_expression "-2 < iVar5" number_literal < identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000168f0:\n      _Var9 = true;" statement_identifier : (expression_statement "_Var9 = true;" (assignment_expression "_Var9 = true" identifier = true) ;)) })) (if_statement "if (iVar5 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }" { (expression_statement "unaff_s1 = PTR_LAB_00033108 + 0x1bd0;" (assignment_expression "unaff_s1 = PTR_LAB_00033108 + 0x1bd0" identifier = (binary_expression "PTR_LAB_00033108 + 0x1bd0" identifier + number_literal)) ;) })) (expression_statement "iVar5 = dirchownmod(st.st_dev,unaff_s1,uVar4,owner,group,mode,mode_bits);" (assignment_expression "iVar5 = dirchownmod(st.st_dev,unaff_s1,uVar4,owner,group,mode,mode_bits)" identifier = (call_expression "dirchownmod(st.st_dev,unaff_s1,uVar4,owner,group,mode,mode_bits)" identifier (argument_list "(st.st_dev,unaff_s1,uVar4,owner,group,mode,mode_bits)" ( (field_expression "st.st_dev" identifier . field_identifier) , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) goto LAB_000168f0;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000168f0;" goto statement_identifier ;)) (if_statement "if (unaff_s7 == 0) {\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n    }\n    else {\n      if ((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))\n      goto LAB_000167f4;\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" if (parenthesized_expression "(unaff_s7 == 0)" ( (binary_expression "unaff_s7 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n    }" { (expression_statement "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s1 = (char *)*puVar8;" (assignment_expression "unaff_s1 = (char *)*puVar8" identifier = (cast_expression "(char *)*puVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) }) (else_clause "else {\n      if ((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))\n      goto LAB_000167f4;\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" else (compound_statement "{\n      if ((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))\n      goto LAB_000167f4;\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar8;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" { (if_statement "if ((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))\n      goto LAB_000167f4;" if (parenthesized_expression "((unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0))" ( (binary_expression "(unaff_s7 == 2) || (make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0)" (parenthesized_expression "(unaff_s7 == 2)" ( (binary_expression "unaff_s7 == 2" identifier == number_literal) )) || (parenthesized_expression "(make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0)" ( (binary_expression "make_ancestor == (_func_int_char_ptr_char_ptr_void_ptr *)0x0" identifier == (cast_expression "(_func_int_char_ptr_char_ptr_void_ptr *)0x0" ( (type_descriptor "_func_int_char_ptr_char_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;)) (expression_statement "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s1 = (char *)*puVar8;" (assignment_expression "unaff_s1 = (char *)*puVar8" identifier = (cast_expression "(char *)*puVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (if_statement "if (unaff_s1 == (char *)0x14) goto LAB_000167f4;" if (parenthesized_expression "(unaff_s1 == (char *)0x14)" ( (binary_expression "unaff_s1 == (char *)0x14" identifier == (cast_expression "(char *)0x14" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;)) }))) (if_statement "if (bVar1) {\n      puVar11 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar11 = PTR_LAB_00033108 + 0x1bf4;\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      puVar11 = PTR_LAB_00033108 + 0x1bd4;\n    }" { (expression_statement "puVar11 = PTR_LAB_00033108 + 0x1bd4;" (assignment_expression "puVar11 = PTR_LAB_00033108 + 0x1bd4" identifier = (binary_expression "PTR_LAB_00033108 + 0x1bd4" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar11 = PTR_LAB_00033108 + 0x1bf4;\n    }" else (compound_statement "{\n      puVar11 = PTR_LAB_00033108 + 0x1bf4;\n    }" { (expression_statement "puVar11 = PTR_LAB_00033108 + 0x1bf4;" (assignment_expression "puVar11 = PTR_LAB_00033108 + 0x1bf4" identifier = (binary_expression "PTR_LAB_00033108 + 0x1bf4" identifier + number_literal)) ;) }))) (expression_statement "dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar11,5);" (assignment_expression "dir = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar11,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_00033418)(0,puVar11,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_00033418)(0,puVar11,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00033418)" ( (pointer_expression "*(code *)PTR_dcgettext_00033418" * (cast_expression "(code *)PTR_dcgettext_00033418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar11,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "pcVar7 = quote(pcVar7);" (assignment_expression "pcVar7 = quote(pcVar7)" identifier = (call_expression "quote(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_000333d4)(0,unaff_s1,dir,pcVar7);" (call_expression "(*(code *)PTR_error_000333d4)(0,unaff_s1,dir,pcVar7)" (parenthesized_expression "(*(code *)PTR_error_000333d4)" ( (pointer_expression "*(code *)PTR_error_000333d4" * (cast_expression "(code *)PTR_error_000333d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,unaff_s1,dir,pcVar7)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "_Var9 = false;" (assignment_expression "_Var9 = false" identifier = false) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit "undefined4\nmake_dir_parents(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,\n                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  char *unaff_s1;\n  int unaff_s7;\n  undefined4 local_d0 [6];\n  uint local_b8;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  pcVar9 = param_1;\n  if ((*param_1 == '/') || (*param_2 != 4)) {\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }\n  piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n  unaff_s7 = *piVar5;\n  if (param_10 == '\0') {\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }\n  uVar6 = 1;\n  if (unaff_s7 == 0) goto LAB_00016840;\n  if ((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;\nLAB_000167f4:\n  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);\n  uVar6 = quote(pcVar9);\n  (*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);\n  uVar6 = 0;\nLAB_00016840:\n  do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );\n}\n\n" (function_definition "undefined4\nmake_dir_parents(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,\n                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  char *unaff_s1;\n  int unaff_s7;\n  undefined4 local_d0 [6];\n  uint local_b8;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  pcVar9 = param_1;\n  if ((*param_1 == '/') || (*param_2 != 4)) {\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }\n  piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n  unaff_s7 = *piVar5;\n  if (param_10 == '\0') {\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }\n  uVar6 = 1;\n  if (unaff_s7 == 0) goto LAB_00016840;\n  if ((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;\nLAB_000167f4:\n  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);\n  uVar6 = quote(pcVar9);\n  (*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);\n  uVar6 = 0;\nLAB_00016840:\n  do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );\n}" type_identifier (function_declarator "make_dir_parents(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,\n                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)" identifier (parameter_list "(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,\n                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "code *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "uint param_7" type_identifier identifier) , (parameter_declaration "uint param_8" type_identifier identifier) , (parameter_declaration "uint param_9" type_identifier identifier) , (parameter_declaration "char param_10" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  char *unaff_s1;\n  int unaff_s7;\n  undefined4 local_d0 [6];\n  uint local_b8;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  pcVar9 = param_1;\n  if ((*param_1 == '/') || (*param_2 != 4)) {\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }\n  piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n  unaff_s7 = *piVar5;\n  if (param_10 == '\0') {\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }\n  uVar6 = 1;\n  if (unaff_s7 == 0) goto LAB_00016840;\n  if ((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;\nLAB_000167f4:\n  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);\n  uVar6 = quote(pcVar9);\n  (*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);\n  uVar6 = 0;\nLAB_00016840:\n  do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "char *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int unaff_s7;" primitive_type identifier ;) (declaration "undefined4 local_d0 [6];" type_identifier (array_declarator "local_d0 [6]" identifier [ number_literal ]) ;) (declaration "uint local_b8;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_00033430;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00033430" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00033430;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00033430" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00033430" * (cast_expression "(int *)PTR___stack_chk_guard_00033430" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar9 = param_1;" (assignment_expression "pcVar9 = param_1" identifier = identifier) ;) (if_statement "if ((*param_1 == '/') || (*param_2 != 4)) {\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" if (parenthesized_expression "((*param_1 == '/') || (*param_2 != 4))" ( (binary_expression "(*param_1 == '/') || (*param_2 != 4)" (parenthesized_expression "(*param_1 == '/')" ( (binary_expression "*param_1 == '/'" (pointer_expression "*param_1" * identifier) == (char_literal "'/'" ' character ')) )) || (parenthesized_expression "(*param_2 != 4)" ( (binary_expression "*param_2 != 4" (pointer_expression "*param_2" * identifier) != number_literal) ))) )) (compound_statement "{\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }" { (if_statement "if (param_3 == 0) goto LAB_0001687c;" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001687c;" goto statement_identifier ;)) (labeled_statement "LAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);" statement_identifier : (expression_statement "iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);" (assignment_expression "iVar3 = mkancesdirs(param_1,param_2,param_3,param_4)" identifier = (call_expression "mkancesdirs(param_1,param_2,param_3,param_4)" identifier (argument_list "(param_1,param_2,param_3,param_4)" ( identifier , identifier , identifier , identifier )))) ;)) (if_statement "if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }" { (if_statement "if (iVar3 != -1) goto LAB_000168f0;" if (parenthesized_expression "(iVar3 != -1)" ( (binary_expression "iVar3 != -1" identifier != number_literal) )) (goto_statement "goto LAB_000168f0;" goto statement_identifier ;)) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s7 = *piVar5;" (assignment_expression "unaff_s7 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;) })) (expression_statement "uVar4 = param_7 & 0xc00 | param_5 & 0x200;" (assignment_expression "uVar4 = param_7 & 0xc00 | param_5 & 0x200" identifier = (binary_expression "param_7 & 0xc00 | param_5 & 0x200" (binary_expression "param_7 & 0xc00" identifier & number_literal) | (binary_expression "param_5 & 0x200" identifier & number_literal))) ;) (expression_statement "unaff_s1 = param_1 + iVar3;" (assignment_expression "unaff_s1 = param_1 + iVar3" identifier = (binary_expression "param_1 + iVar3" identifier + identifier)) ;) (if_statement "if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;" if (parenthesized_expression "((param_8 & param_9) != 0xffffffff)" ( (binary_expression "(param_8 & param_9) != 0xffffffff" (parenthesized_expression "(param_8 & param_9)" ( (binary_expression "param_8 & param_9" identifier & identifier) )) != number_literal) )) (goto_statement "goto LAB_00016764;" goto statement_identifier ;)) (labeled_statement "LAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" statement_identifier : (if_statement "if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" { (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "uVar4 = param_5 & 0xffffffed;" (assignment_expression "uVar4 = param_5 & 0xffffffed" identifier = (binary_expression "param_5 & 0xffffffed" identifier & number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);" (assignment_expression "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" identifier = (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" ( (pointer_expression "*(code *)PTR_mkdir_0003337c" * (cast_expression "(code *)PTR_mkdir_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1,uVar4)" ( identifier , identifier )))) ;) (goto_statement "goto joined_r0x00016938;" goto statement_identifier ;) }))) (expression_statement "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);" (assignment_expression "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5)" identifier = (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" ( (pointer_expression "*(code *)PTR_mkdir_0003337c" * (cast_expression "(code *)PTR_mkdir_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1,param_5)" ( identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }" { (expression_statement "(*param_6)(param_1,param_4);" (call_expression "(*param_6)(param_1,param_4)" (parenthesized_expression "(*param_6)" ( (pointer_expression "*param_6" * identifier) )) (argument_list "(param_1,param_4)" ( identifier , identifier ))) ;) (expression_statement "unaff_s7 = 0;" (assignment_expression "unaff_s7 = 0" identifier = number_literal) ;) (if_statement "if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;" if (parenthesized_expression "((param_7 & param_5 & 0x1ff) != 0)" ( (binary_expression "(param_7 & param_5 & 0x1ff) != 0" (parenthesized_expression "(param_7 & param_5 & 0x1ff)" ( (binary_expression "param_7 & param_5 & 0x1ff" (binary_expression "param_7 & param_5" identifier & identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00016aa8;" goto statement_identifier ;)) (goto_statement "goto LAB_000168f0;" goto statement_identifier ;) })) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) }) (else_clause "else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" else (compound_statement "{\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" { (expression_statement "unaff_s7 = param_2[1];" (assignment_expression "unaff_s7 = param_2[1]" identifier = (subscript_expression "param_2[1]" identifier [ number_literal ])) ;) (if_statement "if (unaff_s7 != 0) goto LAB_000167f4;" if (parenthesized_expression "(unaff_s7 != 0)" ( (binary_expression "unaff_s7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;)) (if_statement "if (param_3 != 0) goto LAB_0001671c;" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001671c;" goto statement_identifier ;)) (labeled_statement "LAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;" statement_identifier : (expression_statement "uVar4 = param_7 & 0xc00 | param_5 & 0x200;" (assignment_expression "uVar4 = param_7 & 0xc00 | param_5 & 0x200" identifier = (binary_expression "param_7 & 0xc00 | param_5 & 0x200" (binary_expression "param_7 & 0xc00" identifier & number_literal) | (binary_expression "param_5 & 0x200" identifier & number_literal))) ;)) (expression_statement "unaff_s1 = param_1;" (assignment_expression "unaff_s1 = param_1" identifier = identifier) ;) (if_statement "if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;" if (parenthesized_expression "((param_8 & param_9) == 0xffffffff)" ( (binary_expression "(param_8 & param_9) == 0xffffffff" (parenthesized_expression "(param_8 & param_9)" ( (binary_expression "param_8 & param_9" identifier & identifier) )) == number_literal) )) (goto_statement "goto LAB_000168a4;" goto statement_identifier ;)) (labeled_statement "LAB_00016764:\n    bVar1 = false;" statement_identifier : (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;)) (expression_statement "uVar4 = param_5 & 0xffffffc0;" (assignment_expression "uVar4 = param_5 & 0xffffffc0" identifier = (binary_expression "param_5 & 0xffffffc0" identifier & number_literal)) ;) (expression_statement "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);" (assignment_expression "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" identifier = (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" ( (pointer_expression "*(code *)PTR_mkdir_0003337c" * (cast_expression "(code *)PTR_mkdir_0003337c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s1,uVar4)" ( identifier , identifier )))) ;) (labeled_statement "joined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" statement_identifier : (if_statement "if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" { (expression_statement "(*param_6)(param_1,param_4);" (call_expression "(*param_6)(param_1,param_4)" (parenthesized_expression "(*param_6)" ( (pointer_expression "*param_6" * identifier) )) (argument_list "(param_1,param_4)" ( identifier , identifier ))) ;) (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" identifier = number_literal) ;) (expression_statement "unaff_s7 = 0;" (assignment_expression "unaff_s7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00016984;" goto statement_identifier ;) }))) }))) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s7 = *piVar5;" (assignment_expression "unaff_s7 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (if_statement "if (param_10 == '\0') {\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }" if (parenthesized_expression "(param_10 == '\0')" ( (binary_expression "param_10 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }" { (expression_statement "uVar4 = 0xffffffff;" (assignment_expression "uVar4 = 0xffffffff" identifier = number_literal) ;) (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" identifier = number_literal) ;) (goto_statement "goto LAB_00016984;" goto statement_identifier ;) })) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if (unaff_s7 == 0) goto LAB_00016840;" if (parenthesized_expression "(unaff_s7 == 0)" ( (binary_expression "unaff_s7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00016840;" goto statement_identifier ;)) (if_statement "if ((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;" if (parenthesized_expression "((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000))" ( (binary_expression "(((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)" (parenthesized_expression "(((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0))" ( (binary_expression "((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)" (parenthesized_expression "((unaff_s7 != 2) && (param_3 != 0))" ( (binary_expression "(unaff_s7 != 2) && (param_3 != 0)" (parenthesized_expression "(unaff_s7 != 2)" ( (binary_expression "unaff_s7 != 2" identifier != number_literal) )) && (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)" ( (comma_expression "iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0)" identifier = (call_expression "(*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0)" (parenthesized_expression "(*(code *)PTR___xstat64_000332f8)" ( (pointer_expression "*(code *)PTR___xstat64_000332f8" * (cast_expression "(code *)PTR___xstat64_000332f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,unaff_s1,local_d0)" ( number_literal , identifier , identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(uVar6 = 1, (local_b8 & 0xf000) == 0x4000)" ( (comma_expression "uVar6 = 1, (local_b8 & 0xf000) == 0x4000" (assignment_expression "uVar6 = 1" identifier = number_literal) , (binary_expression "(local_b8 & 0xf000) == 0x4000" (parenthesized_expression "(local_b8 & 0xf000)" ( (binary_expression "local_b8 & 0xf000" identifier & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_00016840;" goto statement_identifier ;)) (labeled_statement "LAB_000167f4:\n  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);" statement_identifier : (expression_statement "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);" (assignment_expression "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00033418)" ( (pointer_expression "*(code *)PTR_dcgettext_00033418" * (cast_expression "(code *)PTR_dcgettext_00033418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00033108 + 0x1c20,5)" ( number_literal , (binary_expression "PTR_LAB_00033108 + 0x1c20" identifier + number_literal) , number_literal ))))) ;)) (expression_statement "uVar6 = quote(pcVar9);" (assignment_expression "uVar6 = quote(pcVar9)" identifier = (call_expression "quote(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);" (call_expression "(*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6)" (parenthesized_expression "(*(code *)PTR_error_000333d4)" ( (pointer_expression "*(code *)PTR_error_000333d4" * (cast_expression "(code *)PTR_error_000333d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,unaff_s7,param_1,uVar6)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00016840:\n  do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );" statement_identifier : (do_statement "do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );" do (compound_statement "{\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  }" { (while_statement "while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }" { (if_statement "if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }" if (parenthesized_expression "(local_2c == *(int *)puVar2)" ( (binary_expression "local_2c == *(int *)puVar2" identifier == (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        return uVar6;\n      }" { (return_statement "return uVar6;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_00033414)();" (call_expression "(*(code *)PTR___stack_chk_fail_00033414)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00033414)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00033414" * (cast_expression "(code *)PTR___stack_chk_fail_00033414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00016aa8:\n      uVar6 = 3;" statement_identifier : (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" identifier = number_literal) ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "pcVar9 = param_1;" (assignment_expression "pcVar9 = param_1" identifier = identifier) ;) (expression_statement "uVar4 = param_5;" (assignment_expression "uVar4 = param_5" identifier = identifier) ;) (labeled_statement "LAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);" statement_identifier : (expression_statement "iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);" (assignment_expression "iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0)" identifier = (call_expression "savewd_chdir(param_2,unaff_s1,uVar6,local_d0)" identifier (argument_list "(param_2,unaff_s1,uVar6,local_d0)" ( identifier , identifier , identifier , identifier )))) ;)) (expression_statement "param_1 = pcVar9;" (assignment_expression "param_1 = pcVar9" identifier = identifier) ;) (if_statement "if (-2 < iVar3) break;" if (parenthesized_expression "(-2 < iVar3)" ( (binary_expression "-2 < iVar3" number_literal < identifier) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000168f0:\n      uVar6 = 1;" statement_identifier : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;)) })) (if_statement "if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }" { (expression_statement "unaff_s1 = PTR_LAB_00033108 + 0x1bd0;" (assignment_expression "unaff_s1 = PTR_LAB_00033108 + 0x1bd0" identifier = (binary_expression "PTR_LAB_00033108 + 0x1bd0" identifier + number_literal)) ;) })) (expression_statement "iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);" (assignment_expression "iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7)" identifier = (call_expression "dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7)" identifier (argument_list "(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7)" ( (subscript_expression "local_d0[0]" identifier [ number_literal ]) , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) goto LAB_000168f0;" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000168f0;" goto statement_identifier ;)) (if_statement "if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" if (parenthesized_expression "(unaff_s7 == 0)" ( (binary_expression "unaff_s7 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }" { (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s1 = (char *)*puVar7;" (assignment_expression "unaff_s1 = (char *)*puVar7" identifier = (cast_expression "(char *)*puVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) }) (else_clause "else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" else (compound_statement "{\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" { (if_statement "if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;" if (parenthesized_expression "((unaff_s7 == 2) || (param_3 == 0))" ( (binary_expression "(unaff_s7 == 2) || (param_3 == 0)" (parenthesized_expression "(unaff_s7 == 2)" ( (binary_expression "unaff_s7 == 2" identifier == number_literal) )) || (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) ))) )) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;)) (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" ( (pointer_expression "*(code *)PTR___errno_location_00033378" * (cast_expression "(code *)PTR___errno_location_00033378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s1 = (char *)*puVar7;" (assignment_expression "unaff_s1 = (char *)*puVar7" identifier = (cast_expression "(char *)*puVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) (if_statement "if (unaff_s1 == (char *)0x14) goto LAB_000167f4;" if (parenthesized_expression "(unaff_s1 == (char *)0x14)" ( (binary_expression "unaff_s1 == (char *)0x14" identifier == (cast_expression "(char *)0x14" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000167f4;" goto statement_identifier ;)) }))) (if_statement "if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }" { (expression_statement "puVar8 = PTR_LAB_00033108 + 0x1bd4;" (assignment_expression "puVar8 = PTR_LAB_00033108 + 0x1bd4" identifier = (binary_expression "PTR_LAB_00033108 + 0x1bd4" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }" else (compound_statement "{\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }" { (expression_statement "puVar8 = PTR_LAB_00033108 + 0x1bf4;" (assignment_expression "puVar8 = PTR_LAB_00033108 + 0x1bf4" identifier = (binary_expression "PTR_LAB_00033108 + 0x1bf4" identifier + number_literal)) ;) }))) (expression_statement "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);" (assignment_expression "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_00033418)(0,puVar8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00033418)" ( (pointer_expression "*(code *)PTR_dcgettext_00033418" * (cast_expression "(code *)PTR_dcgettext_00033418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar8,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "uVar6 = quote(pcVar9);" (assignment_expression "uVar6 = quote(pcVar9)" identifier = (call_expression "quote(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);" (call_expression "(*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6)" (parenthesized_expression "(*(code *)PTR_error_000333d4)" ( (pointer_expression "*(code *)PTR_error_000333d4" * (cast_expression "(code *)PTR_error_000333d4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,unaff_s1,param_1,uVar6)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | (binary_expression IDENT & LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & IDENT) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | (binary_expression IDENT & LIT))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (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 ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) while (parenthesized_expression ( BOOL )) ;)) })))
(function_definition "undefined4\nmake_dir_parents(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,\n                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  char *unaff_s1;\n  int unaff_s7;\n  undefined4 local_d0 [6];\n  uint local_b8;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  pcVar9 = param_1;\n  if ((*param_1 == '/') || (*param_2 != 4)) {\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }\n  piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n  unaff_s7 = *piVar5;\n  if (param_10 == '\0') {\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }\n  uVar6 = 1;\n  if (unaff_s7 == 0) goto LAB_00016840;\n  if ((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;\nLAB_000167f4:\n  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);\n  uVar6 = quote(pcVar9);\n  (*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);\n  uVar6 = 0;\nLAB_00016840:\n  do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );\n}" (type_identifier "undefined4") (function_declarator "make_dir_parents(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,\n                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)" (identifier "make_dir_parents") (parameter_list "(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,\n                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (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 "code *param_6" (type_identifier "code") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "uint param_7" (type_identifier "uint") (identifier "param_7")) (, ",") (parameter_declaration "uint param_8" (type_identifier "uint") (identifier "param_8")) (, ",") (parameter_declaration "uint param_9" (type_identifier "uint") (identifier "param_9")) (, ",") (parameter_declaration "char param_10" (primitive_type "char") (identifier "param_10")) () ")"))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  int iVar3;\n  uint uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined4 *puVar7;\n  undefined *puVar8;\n  char *pcVar9;\n  char *unaff_s1;\n  int unaff_s7;\n  undefined4 local_d0 [6];\n  uint local_b8;\n  int local_2c;\n  \n  puVar2 = PTR___stack_chk_guard_00033430;\n  local_2c = *(int *)PTR___stack_chk_guard_00033430;\n  pcVar9 = param_1;\n  if ((*param_1 == '/') || (*param_2 != 4)) {\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }\n  piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n  unaff_s7 = *piVar5;\n  if (param_10 == '\0') {\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }\n  uVar6 = 1;\n  if (unaff_s7 == 0) goto LAB_00016840;\n  if ((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;\nLAB_000167f4:\n  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);\n  uVar6 = quote(pcVar9);\n  (*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);\n  uVar6 = 0;\nLAB_00016840:\n  do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "char *pcVar9;" (primitive_type "char") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "char *unaff_s1;" (primitive_type "char") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "int unaff_s7;" (primitive_type "int") (identifier "unaff_s7") (; ";")) (declaration "undefined4 local_d0 [6];" (type_identifier "undefined4") (array_declarator "local_d0 [6]" (identifier "local_d0") ([ "[") (number_literal "6") (] "]")) (; ";")) (declaration "uint local_b8;" (type_identifier "uint") (identifier "local_b8") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar2 = PTR___stack_chk_guard_00033430;" (assignment_expression "puVar2 = PTR___stack_chk_guard_00033430" (identifier "puVar2") (= "=") (identifier "PTR___stack_chk_guard_00033430")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00033430;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00033430" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00033430" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00033430" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00033430")))) (; ";")) (expression_statement "pcVar9 = param_1;" (assignment_expression "pcVar9 = param_1" (identifier "pcVar9") (= "=") (identifier "param_1")) (; ";")) (if_statement "if ((*param_1 == '/') || (*param_2 != 4)) {\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }\n  else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" (if "if") (parenthesized_expression "((*param_1 == '/') || (*param_2 != 4))" (( "(") (binary_expression "(*param_1 == '/') || (*param_2 != 4)" (parenthesized_expression "(*param_1 == '/')" (( "(") (binary_expression "*param_1 == '/'" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*param_2 != 4)" (( "(") (binary_expression "*param_2 != 4" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (!= "!=") (number_literal "4")) () ")"))) () ")")) (compound_statement "{\n    if (param_3 == 0) goto LAB_0001687c;\nLAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);\n    if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1 + iVar3;\n    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;\nLAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }\n    bVar1 = true;\n  }" ({ "{") (if_statement "if (param_3 == 0) goto LAB_0001687c;" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001687c;" (goto "goto") (statement_identifier "LAB_0001687c") (; ";"))) (labeled_statement "LAB_0001671c:\n    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);" (statement_identifier "LAB_0001671c") (: ":") (expression_statement "iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);" (assignment_expression "iVar3 = mkancesdirs(param_1,param_2,param_3,param_4)" (identifier "iVar3") (= "=") (call_expression "mkancesdirs(param_1,param_2,param_3,param_4)" (identifier "mkancesdirs") (argument_list "(param_1,param_2,param_3,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")")))) (; ";"))) (if_statement "if (iVar3 < 0) {\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      if (iVar3 != -1) goto LAB_000168f0;\n      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s7 = *piVar5;\n      goto LAB_000167f4;\n    }" ({ "{") (if_statement "if (iVar3 != -1) goto LAB_000168f0;" (if "if") (parenthesized_expression "(iVar3 != -1)" (( "(") (binary_expression "iVar3 != -1" (identifier "iVar3") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_000168f0;" (goto "goto") (statement_identifier "LAB_000168f0") (; ";"))) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00033378" (* "*") (cast_expression "(code *)PTR___errno_location_00033378" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00033378"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s7 = *piVar5;" (assignment_expression "unaff_s7 = *piVar5" (identifier "unaff_s7") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (goto_statement "goto LAB_000167f4;" (goto "goto") (statement_identifier "LAB_000167f4") (; ";")) (} "}"))) (expression_statement "uVar4 = param_7 & 0xc00 | param_5 & 0x200;" (assignment_expression "uVar4 = param_7 & 0xc00 | param_5 & 0x200" (identifier "uVar4") (= "=") (binary_expression "param_7 & 0xc00 | param_5 & 0x200" (binary_expression "param_7 & 0xc00" (identifier "param_7") (& "&") (number_literal "0xc00")) (| "|") (binary_expression "param_5 & 0x200" (identifier "param_5") (& "&") (number_literal "0x200")))) (; ";")) (expression_statement "unaff_s1 = param_1 + iVar3;" (assignment_expression "unaff_s1 = param_1 + iVar3" (identifier "unaff_s1") (= "=") (binary_expression "param_1 + iVar3" (identifier "param_1") (+ "+") (identifier "iVar3"))) (; ";")) (if_statement "if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;" (if "if") (parenthesized_expression "((param_8 & param_9) != 0xffffffff)" (( "(") (binary_expression "(param_8 & param_9) != 0xffffffff" (parenthesized_expression "(param_8 & param_9)" (( "(") (binary_expression "param_8 & param_9" (identifier "param_8") (& "&") (identifier "param_9")) () ")")) (!= "!=") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_00016764;" (goto "goto") (statement_identifier "LAB_00016764") (; ";"))) (labeled_statement "LAB_000168a4:\n    if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" (statement_identifier "LAB_000168a4") (: ":") (if_statement "if (uVar4 != 0) {\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" (if "if") (parenthesized_expression "(uVar4 != 0)" (( "(") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      bVar1 = true;\n      uVar4 = param_5 & 0xffffffed;\n      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\n      goto joined_r0x00016938;\n    }" ({ "{") (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "uVar4 = param_5 & 0xffffffed;" (assignment_expression "uVar4 = param_5 & 0xffffffed" (identifier "uVar4") (= "=") (binary_expression "param_5 & 0xffffffed" (identifier "param_5") (& "&") (number_literal "0xffffffed"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);" (assignment_expression "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" (( "(") (pointer_expression "*(code *)PTR_mkdir_0003337c" (* "*") (cast_expression "(code *)PTR_mkdir_0003337c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mkdir_0003337c"))) () ")")) (argument_list "(unaff_s1,uVar4)" (( "(") (identifier "unaff_s1") (, ",") (identifier "uVar4") () ")")))) (; ";")) (goto_statement "goto joined_r0x00016938;" (goto "goto") (statement_identifier "joined_r0x00016938") (; ";")) (} "}")))) (expression_statement "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);" (assignment_expression "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" (( "(") (pointer_expression "*(code *)PTR_mkdir_0003337c" (* "*") (cast_expression "(code *)PTR_mkdir_0003337c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mkdir_0003337c"))) () ")")) (argument_list "(unaff_s1,param_5)" (( "(") (identifier "unaff_s1") (, ",") (identifier "param_5") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (*param_6)(param_1,param_4);\n      unaff_s7 = 0;\n      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;\n      goto LAB_000168f0;\n    }" ({ "{") (expression_statement "(*param_6)(param_1,param_4);" (call_expression "(*param_6)(param_1,param_4)" (parenthesized_expression "(*param_6)" (( "(") (pointer_expression "*param_6" (* "*") (identifier "param_6")) () ")")) (argument_list "(param_1,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "unaff_s7 = 0;" (assignment_expression "unaff_s7 = 0" (identifier "unaff_s7") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;" (if "if") (parenthesized_expression "((param_7 & param_5 & 0x1ff) != 0)" (( "(") (binary_expression "(param_7 & param_5 & 0x1ff) != 0" (parenthesized_expression "(param_7 & param_5 & 0x1ff)" (( "(") (binary_expression "param_7 & param_5 & 0x1ff" (binary_expression "param_7 & param_5" (identifier "param_7") (& "&") (identifier "param_5")) (& "&") (number_literal "0x1ff")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00016aa8;" (goto "goto") (statement_identifier "LAB_00016aa8") (; ";"))) (goto_statement "goto LAB_000168f0;" (goto "goto") (statement_identifier "LAB_000168f0") (; ";")) (} "}"))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" (else "else") (compound_statement "{\n    unaff_s7 = param_2[1];\n    if (unaff_s7 != 0) goto LAB_000167f4;\n    if (param_3 != 0) goto LAB_0001671c;\nLAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;\n    unaff_s1 = param_1;\n    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;\nLAB_00016764:\n    bVar1 = false;\n    uVar4 = param_5 & 0xffffffc0;\n    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);\njoined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }\n  }" ({ "{") (expression_statement "unaff_s7 = param_2[1];" (assignment_expression "unaff_s7 = param_2[1]" (identifier "unaff_s7") (= "=") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (unaff_s7 != 0) goto LAB_000167f4;" (if "if") (parenthesized_expression "(unaff_s7 != 0)" (( "(") (binary_expression "unaff_s7 != 0" (identifier "unaff_s7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000167f4;" (goto "goto") (statement_identifier "LAB_000167f4") (; ";"))) (if_statement "if (param_3 != 0) goto LAB_0001671c;" (if "if") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001671c;" (goto "goto") (statement_identifier "LAB_0001671c") (; ";"))) (labeled_statement "LAB_0001687c:\n    uVar4 = param_7 & 0xc00 | param_5 & 0x200;" (statement_identifier "LAB_0001687c") (: ":") (expression_statement "uVar4 = param_7 & 0xc00 | param_5 & 0x200;" (assignment_expression "uVar4 = param_7 & 0xc00 | param_5 & 0x200" (identifier "uVar4") (= "=") (binary_expression "param_7 & 0xc00 | param_5 & 0x200" (binary_expression "param_7 & 0xc00" (identifier "param_7") (& "&") (number_literal "0xc00")) (| "|") (binary_expression "param_5 & 0x200" (identifier "param_5") (& "&") (number_literal "0x200")))) (; ";"))) (expression_statement "unaff_s1 = param_1;" (assignment_expression "unaff_s1 = param_1" (identifier "unaff_s1") (= "=") (identifier "param_1")) (; ";")) (if_statement "if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;" (if "if") (parenthesized_expression "((param_8 & param_9) == 0xffffffff)" (( "(") (binary_expression "(param_8 & param_9) == 0xffffffff" (parenthesized_expression "(param_8 & param_9)" (( "(") (binary_expression "param_8 & param_9" (identifier "param_8") (& "&") (identifier "param_9")) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (goto_statement "goto LAB_000168a4;" (goto "goto") (statement_identifier "LAB_000168a4") (; ";"))) (labeled_statement "LAB_00016764:\n    bVar1 = false;" (statement_identifier "LAB_00016764") (: ":") (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";"))) (expression_statement "uVar4 = param_5 & 0xffffffc0;" (assignment_expression "uVar4 = param_5 & 0xffffffc0" (identifier "uVar4") (= "=") (binary_expression "param_5 & 0xffffffc0" (identifier "param_5") (& "&") (number_literal "0xffffffc0"))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);" (assignment_expression "iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4)" (parenthesized_expression "(*(code *)PTR_mkdir_0003337c)" (( "(") (pointer_expression "*(code *)PTR_mkdir_0003337c" (* "*") (cast_expression "(code *)PTR_mkdir_0003337c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mkdir_0003337c"))) () ")")) (argument_list "(unaff_s1,uVar4)" (( "(") (identifier "unaff_s1") (, ",") (identifier "uVar4") () ")")))) (; ";")) (labeled_statement "joined_r0x00016938:\n    if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" (statement_identifier "joined_r0x00016938") (: ":") (if_statement "if (iVar3 == 0) {\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (*param_6)(param_1,param_4);\n      uVar6 = 3;\n      unaff_s7 = 0;\n      goto LAB_00016984;\n    }" ({ "{") (expression_statement "(*param_6)(param_1,param_4);" (call_expression "(*param_6)(param_1,param_4)" (parenthesized_expression "(*param_6)" (( "(") (pointer_expression "*param_6" (* "*") (identifier "param_6")) () ")")) (argument_list "(param_1,param_4)" (( "(") (identifier "param_1") (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" (identifier "uVar6") (= "=") (number_literal "3")) (; ";")) (expression_statement "unaff_s7 = 0;" (assignment_expression "unaff_s7 = 0" (identifier "unaff_s7") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00016984;" (goto "goto") (statement_identifier "LAB_00016984") (; ";")) (} "}")))) (} "}")))) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_00033378)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_00033378)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00033378" (* "*") (cast_expression "(code *)PTR___errno_location_00033378" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00033378"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s7 = *piVar5;" (assignment_expression "unaff_s7 = *piVar5" (identifier "unaff_s7") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (if_statement "if (param_10 == '\0') {\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }" (if "if") (parenthesized_expression "(param_10 == '\0')" (( "(") (binary_expression "param_10 == '\0'" (identifier "param_10") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar4 = 0xffffffff;\n    uVar6 = 2;\n    goto LAB_00016984;\n  }" ({ "{") (expression_statement "uVar4 = 0xffffffff;" (assignment_expression "uVar4 = 0xffffffff" (identifier "uVar4") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "uVar6 = 2;" (assignment_expression "uVar6 = 2" (identifier "uVar6") (= "=") (number_literal "2")) (; ";")) (goto_statement "goto LAB_00016984;" (goto "goto") (statement_identifier "LAB_00016984") (; ";")) (} "}"))) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (if_statement "if (unaff_s7 == 0) goto LAB_00016840;" (if "if") (parenthesized_expression "(unaff_s7 == 0)" (( "(") (binary_expression "unaff_s7 == 0" (identifier "unaff_s7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00016840;" (goto "goto") (statement_identifier "LAB_00016840") (; ";"))) (if_statement "if ((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;" (if "if") (parenthesized_expression "((((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000))" (( "(") (binary_expression "(((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&\n     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)" (parenthesized_expression "(((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0))" (( "(") (binary_expression "((unaff_s7 != 2) && (param_3 != 0)) &&\n      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)" (parenthesized_expression "((unaff_s7 != 2) && (param_3 != 0))" (( "(") (binary_expression "(unaff_s7 != 2) && (param_3 != 0)" (parenthesized_expression "(unaff_s7 != 2)" (( "(") (binary_expression "unaff_s7 != 2" (identifier "unaff_s7") (!= "!=") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)" (( "(") (comma_expression "iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0" (assignment_expression "iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0)" (parenthesized_expression "(*(code *)PTR___xstat64_000332f8)" (( "(") (pointer_expression "*(code *)PTR___xstat64_000332f8" (* "*") (cast_expression "(code *)PTR___xstat64_000332f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___xstat64_000332f8"))) () ")")) (argument_list "(3,unaff_s1,local_d0)" (( "(") (number_literal "3") (, ",") (identifier "unaff_s1") (, ",") (identifier "local_d0") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uVar6 = 1, (local_b8 & 0xf000) == 0x4000)" (( "(") (comma_expression "uVar6 = 1, (local_b8 & 0xf000) == 0x4000" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (, ",") (binary_expression "(local_b8 & 0xf000) == 0x4000" (parenthesized_expression "(local_b8 & 0xf000)" (( "(") (binary_expression "local_b8 & 0xf000" (identifier "local_b8") (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0x4000"))) () ")"))) () ")")) (goto_statement "goto LAB_00016840;" (goto "goto") (statement_identifier "LAB_00016840") (; ";"))) (labeled_statement "LAB_000167f4:\n  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);" (statement_identifier "LAB_000167f4") (: ":") (expression_statement "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);" (assignment_expression "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" (identifier "param_1") (= "=") (cast_expression "(char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00033418)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_00033418" (* "*") (cast_expression "(code *)PTR_dcgettext_00033418" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_00033418"))) () ")")) (argument_list "(0,PTR_LAB_00033108 + 0x1c20,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_00033108 + 0x1c20" (identifier "PTR_LAB_00033108") (+ "+") (number_literal "0x1c20")) (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "uVar6 = quote(pcVar9);" (assignment_expression "uVar6 = quote(pcVar9)" (identifier "uVar6") (= "=") (call_expression "quote(pcVar9)" (identifier "quote") (argument_list "(pcVar9)" (( "(") (identifier "pcVar9") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);" (call_expression "(*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6)" (parenthesized_expression "(*(code *)PTR_error_000333d4)" (( "(") (pointer_expression "*(code *)PTR_error_000333d4" (* "*") (cast_expression "(code *)PTR_error_000333d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_000333d4"))) () ")")) (argument_list "(0,unaff_s7,param_1,uVar6)" (( "(") (number_literal "0") (, ",") (identifier "unaff_s7") (, ",") (identifier "param_1") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00016840:\n  do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );" (statement_identifier "LAB_00016840") (: ":") (do_statement "do {\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  } while( true );" (do "do") (compound_statement "{\n    while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }\n    if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }\n    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);\n    if (iVar3 == 0) goto LAB_000168f0;\n    if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }\n    if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }\n    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);\n    uVar6 = quote(pcVar9);\n    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);\n    uVar6 = 0;\n  }" ({ "{") (while_statement "while( true ) {\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }\n      (*(code *)PTR___stack_chk_fail_00033414)();\nLAB_00016aa8:\n      uVar6 = 3;\n      bVar1 = true;\n      pcVar9 = param_1;\n      uVar4 = param_5;\nLAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);\n      param_1 = pcVar9;\n      if (-2 < iVar3) break;\nLAB_000168f0:\n      uVar6 = 1;\n    }" ({ "{") (if_statement "if (local_2c == *(int *)puVar2) {\n        return uVar6;\n      }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar2)" (( "(") (binary_expression "local_2c == *(int *)puVar2" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) () ")")) (compound_statement "{\n        return uVar6;\n      }" ({ "{") (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___stack_chk_fail_00033414)();" (call_expression "(*(code *)PTR___stack_chk_fail_00033414)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00033414)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00033414" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00033414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00033414"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00016aa8:\n      uVar6 = 3;" (statement_identifier "LAB_00016aa8") (: ":") (expression_statement "uVar6 = 3;" (assignment_expression "uVar6 = 3" (identifier "uVar6") (= "=") (number_literal "3")) (; ";"))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "pcVar9 = param_1;" (assignment_expression "pcVar9 = param_1" (identifier "pcVar9") (= "=") (identifier "param_1")) (; ";")) (expression_statement "uVar4 = param_5;" (assignment_expression "uVar4 = param_5" (identifier "uVar4") (= "=") (identifier "param_5")) (; ";")) (labeled_statement "LAB_00016984:\n      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);" (statement_identifier "LAB_00016984") (: ":") (expression_statement "iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);" (assignment_expression "iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0)" (identifier "iVar3") (= "=") (call_expression "savewd_chdir(param_2,unaff_s1,uVar6,local_d0)" (identifier "savewd_chdir") (argument_list "(param_2,unaff_s1,uVar6,local_d0)" (( "(") (identifier "param_2") (, ",") (identifier "unaff_s1") (, ",") (identifier "uVar6") (, ",") (identifier "local_d0") () ")")))) (; ";"))) (expression_statement "param_1 = pcVar9;" (assignment_expression "param_1 = pcVar9" (identifier "param_1") (= "=") (identifier "pcVar9")) (; ";")) (if_statement "if (-2 < iVar3) break;" (if "if") (parenthesized_expression "(-2 < iVar3)" (( "(") (binary_expression "-2 < iVar3" (number_literal "-2") (< "<") (identifier "iVar3")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_000168f0:\n      uVar6 = 1;" (statement_identifier "LAB_000168f0") (: ":") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";"))) (} "}"))) (if_statement "if (iVar3 == 0) {\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;\n    }" ({ "{") (expression_statement "unaff_s1 = PTR_LAB_00033108 + 0x1bd0;" (assignment_expression "unaff_s1 = PTR_LAB_00033108 + 0x1bd0" (identifier "unaff_s1") (= "=") (binary_expression "PTR_LAB_00033108 + 0x1bd0" (identifier "PTR_LAB_00033108") (+ "+") (number_literal "0x1bd0"))) (; ";")) (} "}"))) (expression_statement "iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);" (assignment_expression "iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7)" (identifier "iVar3") (= "=") (call_expression "dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7)" (identifier "dirchownmod") (argument_list "(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7)" (( "(") (subscript_expression "local_d0[0]" (identifier "local_d0") ([ "[") (number_literal "0") (] "]")) (, ",") (identifier "unaff_s1") (, ",") (identifier "uVar4") (, ",") (identifier "param_8") (, ",") (identifier "param_9") (, ",") (identifier "param_5") (, ",") (identifier "param_7") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) goto LAB_000168f0;" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000168f0;" (goto "goto") (statement_identifier "LAB_000168f0") (; ";"))) (if_statement "if (unaff_s7 == 0) {\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }\n    else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" (if "if") (parenthesized_expression "(unaff_s7 == 0)" (( "(") (binary_expression "unaff_s7 == 0" (identifier "unaff_s7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n    }" ({ "{") (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00033378" (* "*") (cast_expression "(code *)PTR___errno_location_00033378" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00033378"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s1 = (char *)*puVar7;" (assignment_expression "unaff_s1 = (char *)*puVar7" (identifier "unaff_s1") (= "=") (cast_expression "(char *)*puVar7" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar7" (* "*") (identifier "puVar7")))) (; ";")) (} "}")) (else_clause "else {\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" (else "else") (compound_statement "{\n      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();\n      unaff_s1 = (char *)*puVar7;\n      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;\n    }" ({ "{") (if_statement "if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;" (if "if") (parenthesized_expression "((unaff_s7 == 2) || (param_3 == 0))" (( "(") (binary_expression "(unaff_s7 == 2) || (param_3 == 0)" (parenthesized_expression "(unaff_s7 == 2)" (( "(") (binary_expression "unaff_s7 == 2" (identifier "unaff_s7") (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000167f4;" (goto "goto") (statement_identifier "LAB_000167f4") (; ";"))) (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();" (assignment_expression "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)()" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_00033378)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00033378)()" (parenthesized_expression "(*(code *)PTR___errno_location_00033378)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00033378" (* "*") (cast_expression "(code *)PTR___errno_location_00033378" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00033378"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s1 = (char *)*puVar7;" (assignment_expression "unaff_s1 = (char *)*puVar7" (identifier "unaff_s1") (= "=") (cast_expression "(char *)*puVar7" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar7" (* "*") (identifier "puVar7")))) (; ";")) (if_statement "if (unaff_s1 == (char *)0x14) goto LAB_000167f4;" (if "if") (parenthesized_expression "(unaff_s1 == (char *)0x14)" (( "(") (binary_expression "unaff_s1 == (char *)0x14" (identifier "unaff_s1") (== "==") (cast_expression "(char *)0x14" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x14"))) () ")")) (goto_statement "goto LAB_000167f4;" (goto "goto") (statement_identifier "LAB_000167f4") (; ";"))) (} "}")))) (if_statement "if (bVar1) {\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }\n    else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n      puVar8 = PTR_LAB_00033108 + 0x1bd4;\n    }" ({ "{") (expression_statement "puVar8 = PTR_LAB_00033108 + 0x1bd4;" (assignment_expression "puVar8 = PTR_LAB_00033108 + 0x1bd4" (identifier "puVar8") (= "=") (binary_expression "PTR_LAB_00033108 + 0x1bd4" (identifier "PTR_LAB_00033108") (+ "+") (number_literal "0x1bd4"))) (; ";")) (} "}")) (else_clause "else {\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }" (else "else") (compound_statement "{\n      puVar8 = PTR_LAB_00033108 + 0x1bf4;\n    }" ({ "{") (expression_statement "puVar8 = PTR_LAB_00033108 + 0x1bf4;" (assignment_expression "puVar8 = PTR_LAB_00033108 + 0x1bf4" (identifier "puVar8") (= "=") (binary_expression "PTR_LAB_00033108 + 0x1bf4" (identifier "PTR_LAB_00033108") (+ "+") (number_literal "0x1bf4"))) (; ";")) (} "}")))) (expression_statement "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);" (assignment_expression "param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5)" (identifier "param_1") (= "=") (cast_expression "(char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_dcgettext_00033418)(0,puVar8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00033418)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_00033418" (* "*") (cast_expression "(code *)PTR_dcgettext_00033418" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_00033418"))) () ")")) (argument_list "(0,puVar8,5)" (( "(") (number_literal "0") (, ",") (identifier "puVar8") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "uVar6 = quote(pcVar9);" (assignment_expression "uVar6 = quote(pcVar9)" (identifier "uVar6") (= "=") (call_expression "quote(pcVar9)" (identifier "quote") (argument_list "(pcVar9)" (( "(") (identifier "pcVar9") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);" (call_expression "(*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6)" (parenthesized_expression "(*(code *)PTR_error_000333d4)" (( "(") (pointer_expression "*(code *)PTR_error_000333d4" (* "*") (cast_expression "(code *)PTR_error_000333d4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_000333d4"))) () ")")) (argument_list "(0,unaff_s1,param_1,uVar6)" (( "(") (number_literal "0") (, ",") (identifier "unaff_s1") (, ",") (identifier "param_1") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator 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: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_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)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))) (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: (identifier) right: (identifier))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (true)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (false)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) alternative: (else_clause (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: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (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 (number_literal) (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) condition: (parenthesized_expression (true)))))))

undefined4
MASKED(char *param_1,int *param_2,int param_3,undefined4 param_4,uint param_5,
                code *param_6,uint param_7,uint param_8,uint param_9,char param_10)

{
  bool bVar1;
  undefined *puVar2;
  int iVar3;
  uint uVar4;
  int *piVar5;
  undefined4 uVar6;
  undefined4 *puVar7;
  undefined *puVar8;
  char *pcVar9;
  char *unaff_s1;
  int unaff_s7;
  undefined4 local_d0 [6];
  uint local_b8;
  int local_2c;
  
  puVar2 = PTR___stack_chk_guard_00033430;
  local_2c = *(int *)PTR___stack_chk_guard_00033430;
  pcVar9 = param_1;
  if ((*param_1 == '/') || (*param_2 != 4)) {
    if (param_3 == 0) goto LAB_0001687c;
LAB_0001671c:
    iVar3 = mkancesdirs(param_1,param_2,param_3,param_4);
    if (iVar3 < 0) {
      if (iVar3 != -1) goto LAB_000168f0;
      piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();
      unaff_s7 = *piVar5;
      goto LAB_000167f4;
    }
    uVar4 = param_7 & 0xc00 | param_5 & 0x200;
    unaff_s1 = param_1 + iVar3;
    if ((param_8 & param_9) != 0xffffffff) goto LAB_00016764;
LAB_000168a4:
    if (uVar4 != 0) {
      bVar1 = true;
      uVar4 = param_5 & 0xffffffed;
      iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);
      goto joined_r0x00016938;
    }
    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,param_5);
    if (iVar3 == 0) {
      (*param_6)(param_1,param_4);
      unaff_s7 = 0;
      if ((param_7 & param_5 & 0x1ff) != 0) goto LAB_00016aa8;
      goto LAB_000168f0;
    }
    bVar1 = true;
  }
  else {
    unaff_s7 = param_2[1];
    if (unaff_s7 != 0) goto LAB_000167f4;
    if (param_3 != 0) goto LAB_0001671c;
LAB_0001687c:
    uVar4 = param_7 & 0xc00 | param_5 & 0x200;
    unaff_s1 = param_1;
    if ((param_8 & param_9) == 0xffffffff) goto LAB_000168a4;
LAB_00016764:
    bVar1 = false;
    uVar4 = param_5 & 0xffffffc0;
    iVar3 = (*(code *)PTR_mkdir_0003337c)(unaff_s1,uVar4);
joined_r0x00016938:
    if (iVar3 == 0) {
      (*param_6)(param_1,param_4);
      uVar6 = 3;
      unaff_s7 = 0;
      goto LAB_00016984;
    }
  }
  piVar5 = (int *)(*(code *)PTR___errno_location_00033378)();
  unaff_s7 = *piVar5;
  if (param_10 == '\0') {
    uVar4 = 0xffffffff;
    uVar6 = 2;
    goto LAB_00016984;
  }
  uVar6 = 1;
  if (unaff_s7 == 0) goto LAB_00016840;
  if ((((unaff_s7 != 2) && (param_3 != 0)) &&
      (iVar3 = (*(code *)PTR___xstat64_000332f8)(3,unaff_s1,local_d0), iVar3 == 0)) &&
     (uVar6 = 1, (local_b8 & 0xf000) == 0x4000)) goto LAB_00016840;
LAB_000167f4:
  param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,PTR_LAB_00033108 + 0x1c20,5);
  uVar6 = quote(pcVar9);
  (*(code *)PTR_error_000333d4)(0,unaff_s7,param_1,uVar6);
  uVar6 = 0;
LAB_00016840:
  do {
    while( true ) {
      if (local_2c == *(int *)puVar2) {
        return uVar6;
      }
      (*(code *)PTR___stack_chk_fail_00033414)();
LAB_00016aa8:
      uVar6 = 3;
      bVar1 = true;
      pcVar9 = param_1;
      uVar4 = param_5;
LAB_00016984:
      iVar3 = savewd_chdir(param_2,unaff_s1,uVar6,local_d0);
      param_1 = pcVar9;
      if (-2 < iVar3) break;
LAB_000168f0:
      uVar6 = 1;
    }
    if (iVar3 == 0) {
      unaff_s1 = PTR_LAB_00033108 + 0x1bd0;
    }
    iVar3 = dirchownmod(local_d0[0],unaff_s1,uVar4,param_8,param_9,param_5,param_7);
    if (iVar3 == 0) goto LAB_000168f0;
    if (unaff_s7 == 0) {
      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();
      unaff_s1 = (char *)*puVar7;
    }
    else {
      if ((unaff_s7 == 2) || (param_3 == 0)) goto LAB_000167f4;
      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_00033378)();
      unaff_s1 = (char *)*puVar7;
      if (unaff_s1 == (char *)0x14) goto LAB_000167f4;
    }
    if (bVar1) {
      puVar8 = PTR_LAB_00033108 + 0x1bd4;
    }
    else {
      puVar8 = PTR_LAB_00033108 + 0x1bf4;
    }
    param_1 = (char *)(*(code *)PTR_dcgettext_00033418)(0,puVar8,5);
    uVar6 = quote(pcVar9);
    (*(code *)PTR_error_000333d4)(0,unaff_s1,param_1,uVar6);
    uVar6 = 0;
  } while( true );
}

