
void open_next_file(char *name,input *input)

{
  undefined *puVar1;
  undefined *puVar2;
  security_context_t pcVar3;
  FILE *pFVar4;
  char *pcVar5;
  undefined1 *puVar6;
  undefined4 uVar7;
  int iVar8;
  int *piVar9;
  int iVar10;
  char *pcVar11;
  undefined *puVar12;
  char *pcVar13;
  undefined *puVar14;
  undefined4 uVar15;
  undefined4 uVar16;
  security_context_t old_fscreatecon;
  security_context_t con;
  int iStack_2c;
  
  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;
  input->in_file_name = name;
  puVar1 = PTR___stack_chk_guard_0003f4cc;
  puVar12 = PTR_stdin_0003f40c;
  piVar9 = (int *)PTR_in_place_extension_0003f1d0;
  iStack_2c = *(int *)PTR___stack_chk_guard_0003f4cc;
  if ((*name == '-') && (name[1] == '\0')) {
    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;
    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);
    input->fp = *(FILE **)puVar12;
LAB_00017f98:
    iVar10 = *piVar9;
    input->read_fn = (_func__Bool_input_ptr *)(PTR_LAB_0003f180 + -0x76a0);
    if (iVar10 == 0) {
      if ((input->fp != (FILE *)0x0) && (*PTR_unbuffered_0003f1bc != '\0')) {
        (*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0);
      }
      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;
      goto LAB_000180b0;
    }
    old_fscreatecon = (security_context_t)0x0;
    pcVar5 = xstrdup(input->in_file_name);
    puVar6 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(pcVar5,0x2f);
    if (puVar6 == (undefined1 *)0x0) {
      pcVar5[1] = '\0';
      *pcVar5 = '.';
    }
    else {
      *puVar6 = 0;
    }
    uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);
    iVar10 = (*(code *)PTR_isatty_0003f374)(uVar7);
    if (iVar10 == 0) {
      uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);
      (*(code *)PTR___fxstat64_0003f480)(3,uVar7,&input->st);
      if (((input->st).st_mode & 0xf000) != 0x8000) {
        puVar12 = PTR_DAT_0003f178 + -0x3930;
        goto LAB_00018410;
      }
      iVar10 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();
      if (iVar10 < 1) {
LAB_00018050:
        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,
                            *(char **)PTR_write_mode_0003f1e0);
        puVar12 = PTR___progname_0003f168;
        pcVar11 = input->out_file_name;
        puVar14 = PTR___progname_0003f168 + -0x974;
        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;
        register_cleanup_file(pcVar11);
        puVar2 = PTR_free_0003f4d8;
        puVar12[-0x970] = 0;
        (*(code *)puVar2)(pcVar5);
      }
      else {
        iVar10 = rpl_lgetfilecon(input->in_file_name,&con);
        if (iVar10 == -1) {
          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();
          if (*piVar9 != 0x59) {
            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;
            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);
            pcVar13 = input->in_file_name;
            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;
            pcVar11 = rpl_strerror(*piVar9);
            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);
          }
          goto LAB_00018050;
        }
        iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);
        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);
        if (iVar8 < 0) {
          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;
          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);
          pcVar3 = con;
          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;
          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();
          pcVar11 = rpl_strerror(*piVar9);
          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);
        }
        (*(code *)PTR_freecon_0003f3a0)(con);
        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,
                            *(char **)PTR_write_mode_0003f1e0);
        puVar12 = PTR___progname_0003f168;
        pcVar11 = input->out_file_name;
        puVar14 = PTR___progname_0003f168 + -0x974;
        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;
        register_cleanup_file(pcVar11);
        puVar2 = PTR_free_0003f4d8;
        puVar12[-0x970] = 0;
        (*(code *)puVar2)(pcVar5);
        if (-1 < iVar10) {
          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);
          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);
        }
      }
      if (*(int *)(puVar14 + 8) == 0) {
        pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);
        pcVar13 = input->out_file_name;
        piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();
        pcVar11 = rpl_strerror(*piVar9);
                    /* WARNING: Subroutine does not return */
        panic(pcVar5,pcVar13,pcVar11);
      }
      goto LAB_000180b0;
    }
  }
  else {
LAB_00017f64:
    if (*PTR_follow_symlinks_0003f1e4 != '\0') {
      pcVar5 = follow_symlink(name);
      input->in_file_name = pcVar5;
    }
    piVar9 = (int *)PTR_in_place_extension_0003f1d0;
    pFVar4 = ck_fopen(name,*(char **)PTR_read_mode_0003f1dc,0);
    input->fp = pFVar4;
    if (pFVar4 != (FILE *)0x0) goto LAB_00017f98;
    piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();
    pcVar5 = rpl_strerror(*piVar9);
    uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;
    uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);
    (*(code *)PTR___fprintf_chk_0003f390)
              (uVar15,1,uVar7,*(undefined4 *)PTR_program_name_0003f17c,name,pcVar5);
    input->bad_count = input->bad_count + 1;
    input->read_fn = (_func__Bool_input_ptr *)(PTR_0003f174 + 0x7c80);
LAB_000180b0:
    if (iStack_2c == *(int *)puVar1) {
      return;
    }
    (*(code *)PTR___stack_chk_fail_0003f4ac)();
  }
  puVar12 = PTR_DAT_0003f178 + -0x3950;
LAB_00018410:
  pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,puVar12,5);
                    /* WARNING: Subroutine does not return */
  panic(pcVar5,input->in_file_name);
}



void FUN_00017ef8(char *param_1,int param_2)

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  undefined1 *puVar4;
  undefined1 *puVar5;
  undefined4 uVar6;
  int *piVar7;
  int iVar8;
  undefined4 *puVar9;
  undefined4 uVar10;
  undefined *puVar11;
  undefined4 uVar12;
  undefined *puVar13;
  undefined4 uVar14;
  undefined4 uVar15;
  undefined4 local_34;
  undefined4 local_30;
  int local_2c;
  
  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;
  *(char **)(param_2 + 0x18) = param_1;
  puVar1 = PTR___stack_chk_guard_0003f4cc;
  puVar11 = PTR_stdin_0003f40c;
  piVar7 = (int *)PTR_in_place_extension_0003f1d0;
  local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;
  if ((*param_1 == '-') && (param_1[1] == '\0')) {
    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;
    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);
    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;
LAB_00017f98:
    iVar3 = *piVar7;
    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;
    if (iVar3 == 0) {
      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {
        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);
      }
      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;
      goto LAB_000180b0;
    }
    local_34 = 0;
    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));
    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);
    if (puVar5 == (undefined1 *)0x0) {
      puVar4[1] = 0;
      *puVar4 = 0x2e;
    }
    else {
      *puVar5 = 0;
    }
    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));
    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);
    if (iVar3 == 0) {
      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));
      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);
      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {
        puVar11 = PTR_DAT_0003f178 + -0x3930;
        goto LAB_00018410;
      }
      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();
      if (iVar3 < 1) {
LAB_00018050:
        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,
                           *(undefined4 *)PTR_write_mode_0003f1e0);
        puVar11 = PTR___progname_0003f168;
        uVar10 = *(undefined4 *)(param_2 + 0x14);
        puVar13 = PTR___progname_0003f168 + -0x974;
        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;
        register_cleanup_file(uVar10);
        puVar2 = PTR_free_0003f4d8;
        puVar11[-0x970] = 0;
        (*(code *)puVar2)(puVar4);
      }
      else {
        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);
        if (iVar3 == -1) {
          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();
          if (*piVar7 != 0x59) {
            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;
            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);
            uVar12 = *(undefined4 *)(param_2 + 0x18);
            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;
            uVar10 = rpl_strerror(*piVar7);
            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);
          }
          goto LAB_00018050;
        }
        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);
        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);
        if (iVar8 < 0) {
          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;
          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);
          uVar6 = local_30;
          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;
          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();
          uVar12 = rpl_strerror(*puVar9);
          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);
        }
        (*(code *)PTR_freecon_0003f3a0)(local_30);
        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,
                           *(undefined4 *)PTR_write_mode_0003f1e0);
        puVar11 = PTR___progname_0003f168;
        uVar10 = *(undefined4 *)(param_2 + 0x14);
        puVar13 = PTR___progname_0003f168 + -0x974;
        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;
        register_cleanup_file(uVar10);
        puVar2 = PTR_free_0003f4d8;
        puVar11[-0x970] = 0;
        (*(code *)puVar2)(puVar4);
        if (-1 < iVar3) {
          (*(code *)PTR_setfscreatecon_0003f414)(local_34);
          (*(code *)PTR_freecon_0003f3a0)(local_34);
        }
      }
      if (*(int *)(puVar13 + 8) == 0) {
        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);
        uVar12 = *(undefined4 *)(param_2 + 0x14);
        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();
        uVar10 = rpl_strerror(*puVar9);
                    /* WARNING: Subroutine does not return */
        panic(uVar6,uVar12,uVar10);
      }
      goto LAB_000180b0;
    }
  }
  else {
LAB_00017f64:
    if (*PTR_follow_symlinks_0003f1e4 != '\0') {
      uVar6 = follow_symlink(param_1);
      *(undefined4 *)(param_2 + 0x18) = uVar6;
    }
    piVar7 = (int *)PTR_in_place_extension_0003f1d0;
    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);
    *(int *)(param_2 + 0xc0) = iVar3;
    if (iVar3 != 0) goto LAB_00017f98;
    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();
    uVar6 = rpl_strerror(*puVar9);
    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;
    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);
    (*(code *)PTR___fprintf_chk_0003f390)
              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);
    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;
    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;
LAB_000180b0:
    if (local_2c == *(int *)puVar1) {
      return;
    }
    (*(code *)PTR___stack_chk_fail_0003f4ac)();
  }
  puVar11 = PTR_DAT_0003f178 + -0x3950;
LAB_00018410:
  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);
                    /* WARNING: Subroutine does not return */
  panic(uVar6,*(undefined4 *)(param_2 + 0x18));
}


lui gp,0x3
addiu gp,gp,-0xdb8
addu gp,gp,t9
addiu sp,sp,-0x58
lw v1,-0x7fd8(gp)
li v0,0x2d
sw s2,0x38(sp)
sw s1,0x34(sp)
or s1,a0,zero
sw gp,0x18(sp)
sw s0,0x30(sp)
or s0,a1,zero
sw ra,0x54(sp)
sw s8,0x50(sp)
sw s7,0x4c(sp)
sw s6,0x48(sp)
sw s5,0x44(sp)
sw s4,0x40(sp)
sw s3,0x3c(sp)
sw zero,-0x9dc(v1)
sw a0,0x18(a1)
lw s2,-0x7c74(gp)
lb v1,0x0(s1)
lw a0,0x0(s2)
sw a0,0x2c(sp)
beq v1,v0,0x00018118
_lw v0,-0x7f5c(gp)
lbu v0,0x0(v0)
bne v0,zero,0x00018154
_lw t9,-0x7ee4(gp)
lw v0,-0x7f64(gp)
or a2,zero,zero
lw t9,-0x7f20(gp)
or a0,s1,zero
lw s3,-0x7f70(gp)
bal 0x0001c9fc
_lw a1,0x0(v0)
lw gp,0x18(sp)
beq v0,zero,0x000182dc
_sw v0,0xc0(s0)
lw v0,-0x7fc0(gp)
lw v1,0x0(s3)
addiu v0,v0,-0x76a0
beq v1,zero,0x000180ec
_sw v0,0x10(s0)
lw t9,-0x7f74(gp)
lw a0,0x18(s0)
bal 0x00028afc
_sw zero,0x24(sp)
li a1,0x2f
lw gp,0x18(sp)
or a0,v0,zero
lw t9,-0x7d84(gp)
jalr t9
_or s3,v0,zero
beq v0,zero,0x00018368
_lw gp,0x18(sp)
sb zero,0x0(v0)
lw t9,-0x7d5c(gp)
jalr t9
_lw a0,0xc0(s0)
lw gp,0x18(sp)
lw t9,-0x7dcc(gp)
jalr t9
_or a0,v0,zero
bne v0,zero,0x000183fc
_lw gp,0x18(sp)
lw t9,-0x7d5c(gp)
jalr t9
_lw a0,0xc0(s0)
addiu a2,s0,0x20
lw gp,0x18(sp)
li a0,0x3
lw t9,-0x7cc0(gp)
jalr t9
_or a1,v0,zero
ori v1,zero,0x8000
lw v0,0x38(s0)
andi v0,v0,0xf000
bne v0,v1,0x0001842c
_lw gp,0x18(sp)
lw t9,-0x7c48(gp)
jalr t9
_addiu s1,s0,0x14
bgtz v0,0x00018168
_lw gp,0x18(sp)
lw v0,-0x7f60(gp)
or a0,s1,zero
lw a2,-0x7fc8(gp)
or a1,s3,zero
lw t9,-0x7ee0(gp)
lw a3,0x0(v0)
bal 0x0001cb80
_addiu a2,a2,-0x2cc0
lw gp,0x18(sp)
lw a0,0x14(s0)
lw s1,-0x7fd8(gp)
lw t9,-0x7edc(gp)
addiu s1,s1,-0x974
bal 0x0001c5e0
_sw v0,0x8(s1)
or a0,s3,zero
lw gp,0x18(sp)
lw t9,-0x7c68(gp)
jalr t9
_sb zero,0x4(s1)
lw gp,0x18(sp)
lw v0,0x8(s1)
beq v0,zero,0x00018444
_lw a1,-0x7fc8(gp)
lw v1,0x2c(sp)
lw v0,0x0(s2)
bne v1,v0,0x000183f0
_lw ra,0x54(sp)
lw s8,0x50(sp)
lw s7,0x4c(sp)
lw s6,0x48(sp)
lw s5,0x44(sp)
lw s4,0x40(sp)
lw s3,0x3c(sp)
lw s2,0x38(sp)
lw s1,0x34(sp)
lw s0,0x30(sp)
jr ra
_addiu sp,sp,0x58
lw a0,0xc0(s0)
beq a0,zero,0x00018104
_lw v0,-0x7f84(gp)
lbu v0,0x0(v0)
bne v0,zero,0x000182c4
_lw t9,-0x7d44(gp)
lw v0,-0x7d64(gp)
lw v1,0x0(v0)
lw v0,-0x7fd8(gp)
b 0x000180b0
_sw v1,-0x96c(v0)
lb v0,0x1(s1)
bne v0,zero,0x00017f64
_lw v0,-0x7f5c(gp)
lw s3,-0x7f70(gp)
lw v0,0x0(s3)
bne v0,zero,0x00017f64
_lw v0,-0x7f5c(gp)
lw s1,-0x7d34(gp)
lw t9,-0x7d80(gp)
jalr t9
_lw a0,0x0(s1)
lw v0,0x0(s1)
lw gp,0x18(sp)
b 0x00017f98
_sw v0,0xc0(s0)
bal 0x0001d290
_or a0,s1,zero
lw gp,0x18(sp)
b 0x00017f70
_sw v0,0x18(s0)
lw t9,-0x7ed8(gp)
addiu a1,sp,0x28
bal 0x00028cc4
_lw a0,0x18(s0)
li v1,-0x1
bne v0,v1,0x00018210
_lw gp,0x18(sp)
lw t9,-0x7d54(gp)
jalr t9
_nop
li v1,0x59
or s4,v0,zero
lw v0,0x0(v0)
beq v0,v1,0x00018050
_lw gp,0x18(sp)
lw a1,-0x7fc8(gp)
li a2,0x5
lw v0,-0x7c60(gp)
or a0,zero,zero
lw t9,-0x7c8c(gp)
addiu a1,a1,-0x38c4
jalr t9
_lw s5,0x0(v0)
lw gp,0x18(sp)
or s7,v0,zero
lw a0,0x0(s4)
lw s4,0x18(s0)
lw v0,-0x7fc4(gp)
lw t9,-0x7ed4(gp)
bal 0x0002a520
_lw s6,0x0(v0)
li a1,0x1
lw gp,0x18(sp)
or a2,s7,zero
sw v0,0x14(sp)
or a3,s6,zero
sw s4,0x10(sp)
lw t9,-0x7db0(gp)
jalr t9
_or a0,s5,zero
b 0x00018050
_lw gp,0x18(sp)
lw t9,-0x7dc8(gp)
jalr t9
_addiu a0,sp,0x24
lw gp,0x18(sp)
or s4,v0,zero
lw t9,-0x7d2c(gp)
jalr t9
_lw a0,0x28(sp)
bltz v0,0x00018378
_lw gp,0x18(sp)
lw t9,-0x7da0(gp)
jalr t9
_lw a0,0x28(sp)
or a0,s1,zero
lw gp,0x18(sp)
or a1,s3,zero
lw v0,-0x7f60(gp)
lw a2,-0x7fc8(gp)
lw t9,-0x7ee0(gp)
lw a3,0x0(v0)
bal 0x0001cb80
_addiu a2,a2,-0x2cc0
lw gp,0x18(sp)
lw a0,0x14(s0)
lw s1,-0x7fd8(gp)
lw t9,-0x7edc(gp)
addiu s1,s1,-0x974
bal 0x0001c5e0
_sw v0,0x8(s1)
or a0,s3,zero
lw gp,0x18(sp)
lw t9,-0x7c68(gp)
jalr t9
_sb zero,0x4(s1)
bltz s4,0x000180a4
_lw gp,0x18(sp)
lw t9,-0x7d2c(gp)
jalr t9
_lw a0,0x24(sp)
lw gp,0x18(sp)
lw t9,-0x7da0(gp)
jalr t9
_lw a0,0x24(sp)
b 0x000180a4
_lw gp,0x18(sp)
or a3,zero,zero
li a2,0x2
jalr t9
_or a1,zero,zero
b 0x00018104
_lw gp,0x18(sp)
lw t9,-0x7d54(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7ed4(gp)
bal 0x0002a520
_lw a0,0x0(v0)
li a2,0x5
lw gp,0x18(sp)
or s3,v0,zero
or a0,zero,zero
lw a1,-0x7fc8(gp)
lw v0,-0x7c60(gp)
lw t9,-0x7c8c(gp)
addiu a1,a1,-0x3968
jalr t9
_lw s4,0x0(v0)
li a1,0x1
lw gp,0x18(sp)
or a2,v0,zero
sw s3,0x14(sp)
or a0,s4,zero
sw s1,0x10(sp)
lw v0,-0x7fc4(gp)
lw t9,-0x7db0(gp)
jalr t9
_lw a3,0x0(v0)
lw v0,0x4(s0)
lw gp,0x18(sp)
addiu v0,v0,0x1
sw v0,0x4(s0)
lw v0,-0x7fcc(gp)
addiu v0,v0,0x7c80
b 0x000180b0
_sw v0,0x10(s0)
li v0,0x2e
sb zero,0x1(s3)
b 0x00017fe0
_sb v0,0x0(s3)
lw a1,-0x7fc8(gp)
li a2,0x5
lw v0,-0x7c60(gp)
or a0,zero,zero
lw t9,-0x7c8c(gp)
addiu a1,a1,-0x3908
jalr t9
_lw s5,0x0(v0)
lw gp,0x18(sp)
or s7,v0,zero
lw s6,0x28(sp)
lw v0,-0x7fc4(gp)
lw t9,-0x7d54(gp)
jalr t9
_lw s8,0x0(v0)
lw gp,0x18(sp)
lw t9,-0x7ed4(gp)
bal 0x0002a520
_lw a0,0x0(v0)
li a1,0x1
lw gp,0x18(sp)
or a3,s8,zero
sw v0,0x14(sp)
or a2,s7,zero
sw s6,0x10(sp)
lw t9,-0x7db0(gp)
jalr t9
_or a0,s5,zero
b 0x00018238
_lw gp,0x18(sp)
lw t9,-0x7c94(gp)
jalr t9
_nop
lw a1,-0x7fc8(gp)
or a0,zero,zero
lw t9,-0x7c8c(gp)
li a2,0x5
addiu a1,a1,-0x3950
jalr t9
_nop
lw gp,0x18(sp)
or a0,v0,zero
lw t9,-0x7f38(gp)
bal 0x0001c854
_lw a1,0x18(s0)
lw a1,-0x7fc8(gp)
or a0,zero,zero
lw t9,-0x7c8c(gp)
li a2,0x5
b 0x00018410
_addiu a1,a1,-0x3930
li a2,0x5
lw t9,-0x7c8c(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,-0x388c
lw gp,0x18(sp)
or s1,v0,zero
lw t9,-0x7d54(gp)
jalr t9
_lw s0,0x14(s0)
lw gp,0x18(sp)
lw t9,-0x7ed4(gp)
bal 0x0002a520
_lw a0,0x0(v0)
or a1,s0,zero
lw gp,0x18(sp)
or a2,v0,zero
lw t9,-0x7f38(gp)
bal 0x0001c854
_or a0,s1,zero
(translation_unit "void FUN_00017ef8(char *param_1,int param_2)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;\n  *(char **)(param_2 + 0x18) = param_1;\n  puVar1 = PTR___stack_chk_guard_0003f4cc;\n  puVar11 = PTR_stdin_0003f40c;\n  piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;\n  if ((*param_1 == '-') && (param_1[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }\n  puVar11 = PTR_DAT_0003f178 + -0x3950;\nLAB_00018410:\n  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);\n                    /* WARNING: Subroutine does not return */\n  panic(uVar6,*(undefined4 *)(param_2 + 0x18));\n}\n\n" (function_definition "void FUN_00017ef8(char *param_1,int param_2)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;\n  *(char **)(param_2 + 0x18) = param_1;\n  puVar1 = PTR___stack_chk_guard_0003f4cc;\n  puVar11 = PTR_stdin_0003f40c;\n  piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;\n  if ((*param_1 == '-') && (param_1[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }\n  puVar11 = PTR_DAT_0003f178 + -0x3950;\nLAB_00018410:\n  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);\n                    /* WARNING: Subroutine does not return */\n  panic(uVar6,*(undefined4 *)(param_2 + 0x18));\n}" primitive_type (function_declarator "FUN_00017ef8(char *param_1,int param_2)" identifier (parameter_list "(char *param_1,int param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;\n  *(char **)(param_2 + 0x18) = param_1;\n  puVar1 = PTR___stack_chk_guard_0003f4cc;\n  puVar11 = PTR_stdin_0003f40c;\n  piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;\n  if ((*param_1 == '-') && (param_1[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }\n  puVar11 = PTR_DAT_0003f178 + -0x3950;\nLAB_00018410:\n  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);\n                    /* WARNING: Subroutine does not return */\n  panic(uVar6,*(undefined4 *)(param_2 + 0x18));\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined1 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc)" * (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x9dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x9dc)" ( (binary_expression "PTR___progname_0003f168 + -0x9dc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(param_2 + 0x18) = param_1;" (assignment_expression "*(char **)(param_2 + 0x18) = param_1" (pointer_expression "*(char **)(param_2 + 0x18)" * (cast_expression "(char **)(param_2 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0003f4cc;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0003f4cc" identifier = identifier) ;) (expression_statement "puVar11 = PTR_stdin_0003f40c;" (assignment_expression "puVar11 = PTR_stdin_0003f40c" identifier = identifier) ;) (expression_statement "piVar7 = (int *)PTR_in_place_extension_0003f1d0;" (assignment_expression "piVar7 = (int *)PTR_in_place_extension_0003f1d0" identifier = (cast_expression "(int *)PTR_in_place_extension_0003f1d0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0003f4cc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0003f4cc" * (cast_expression "(int *)PTR___stack_chk_guard_0003f4cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((*param_1 == '-') && (param_1[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" if (parenthesized_expression "((*param_1 == '-') && (param_1[1] == '\0'))" ( (binary_expression "(*param_1 == '-') && (param_1[1] == '\0')" (parenthesized_expression "(*param_1 == '-')" ( (binary_expression "*param_1 == '-'" (pointer_expression "*param_1" * identifier) == (char_literal "'-'" ' character ')) )) && (parenthesized_expression "(param_1[1] == '\0')" ( (binary_expression "param_1[1] == '\0'" (subscript_expression "param_1[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }" { (if_statement "if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;" if (parenthesized_expression "(*(int *)PTR_in_place_extension_0003f1d0 != 0)" ( (binary_expression "*(int *)PTR_in_place_extension_0003f1d0 != 0" (pointer_expression "*(int *)PTR_in_place_extension_0003f1d0" * (cast_expression "(int *)PTR_in_place_extension_0003f1d0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (goto_statement "goto LAB_00017f64;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);" (call_expression "(*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c)" (parenthesized_expression "(*(code *)PTR_clearerr_unlocked_0003f3c0)" ( (pointer_expression "*(code *)PTR_clearerr_unlocked_0003f3c0" * (cast_expression "(code *)PTR_clearerr_unlocked_0003f3c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_stdin_0003f40c)" ( (pointer_expression "*(undefined4 *)PTR_stdin_0003f40c" * (cast_expression "(undefined4 *)PTR_stdin_0003f40c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "*(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;" (assignment_expression "*(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11" (pointer_expression "*(undefined4 *)(param_2 + 0xc0)" * (cast_expression "(undefined4 *)(param_2 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar11" * (cast_expression "(undefined4 *)puVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_00017f98:\n    iVar3 = *piVar7;" statement_identifier : (expression_statement "iVar3 = *piVar7;" (assignment_expression "iVar3 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;)) (expression_statement "*(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;" (assignment_expression "*(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0" (pointer_expression "*(undefined **)(param_2 + 0x10)" * (cast_expression "(undefined **)(param_2 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) = (binary_expression "PTR_LAB_0003f180 + -0x76a0" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }" { (if_statement "if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }" if (parenthesized_expression "((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0'))" ( (binary_expression "(*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')" (parenthesized_expression "(*(int *)(param_2 + 0xc0) != 0)" ( (binary_expression "*(int *)(param_2 + 0xc0) != 0" (pointer_expression "*(int *)(param_2 + 0xc0)" * (cast_expression "(int *)(param_2 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*PTR_unbuffered_0003f1bc != '\0')" ( (binary_expression "*PTR_unbuffered_0003f1bc != '\0'" (pointer_expression "*PTR_unbuffered_0003f1bc" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }" { (expression_statement "(*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);" (call_expression "(*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0)" (parenthesized_expression "(*(code *)PTR_setvbuf_0003f3fc)" ( (pointer_expression "*(code *)PTR_setvbuf_0003f3fc" * (cast_expression "(code *)PTR_setvbuf_0003f3fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_2 + 0xc0),0,2,0)" ( (pointer_expression "*(int *)(param_2 + 0xc0)" * (cast_expression "(int *)(param_2 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c)" * (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x96c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" ( (binary_expression "PTR___progname_0003f168 + -0x96c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stdout_0003f3dc" * (cast_expression "(undefined4 *)PTR_stdout_0003f3dc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_000180b0;" goto statement_identifier ;) })) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));" (assignment_expression "puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18))" identifier = (cast_expression "(undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(*(undefined4 *)(param_2 + 0x18))" identifier (argument_list "(*(undefined4 *)(param_2 + 0x18))" ( (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) ))))) ;) (expression_statement "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);" (assignment_expression "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f)" (parenthesized_expression "(*(code *)PTR_strrchr_0003f3bc)" ( (pointer_expression "*(code *)PTR_strrchr_0003f3bc" * (cast_expression "(code *)PTR_strrchr_0003f3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4,0x2f)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }" if (parenthesized_expression "(puVar5 == (undefined1 *)0x0)" ( (binary_expression "puVar5 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }" { (expression_statement "puVar4[1] = 0;" (assignment_expression "puVar4[1] = 0" (subscript_expression "puVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar4 = 0x2e;" (assignment_expression "*puVar4 = 0x2e" (pointer_expression "*puVar4" * identifier) = number_literal) ;) }) (else_clause "else {\n      *puVar5 = 0;\n    }" else (compound_statement "{\n      *puVar5 = 0;\n    }" { (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) }))) (expression_statement "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));" (assignment_expression "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" identifier = (call_expression "(*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" (parenthesized_expression "(*(code *)PTR_fileno_0003f3e4)" ( (pointer_expression "*(code *)PTR_fileno_0003f3e4" * (cast_expression "(code *)PTR_fileno_0003f3e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_2 + 0xc0))" ( (pointer_expression "*(undefined4 *)(param_2 + 0xc0)" * (cast_expression "(undefined4 *)(param_2 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);" (assignment_expression "iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6)" identifier = (call_expression "(*(code *)PTR_isatty_0003f374)(uVar6)" (parenthesized_expression "(*(code *)PTR_isatty_0003f374)" ( (pointer_expression "*(code *)PTR_isatty_0003f374" * (cast_expression "(code *)PTR_isatty_0003f374" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }" { (expression_statement "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));" (assignment_expression "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" identifier = (call_expression "(*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" (parenthesized_expression "(*(code *)PTR_fileno_0003f3e4)" ( (pointer_expression "*(code *)PTR_fileno_0003f3e4" * (cast_expression "(code *)PTR_fileno_0003f3e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_2 + 0xc0))" ( (pointer_expression "*(undefined4 *)(param_2 + 0xc0)" * (cast_expression "(undefined4 *)(param_2 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) )))) ;) (expression_statement "(*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);" (call_expression "(*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20)" (parenthesized_expression "(*(code *)PTR___fxstat64_0003f480)" ( (pointer_expression "*(code *)PTR___fxstat64_0003f480" * (cast_expression "(code *)PTR___fxstat64_0003f480" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,uVar6,param_2 + 0x20)" ( number_literal , identifier , (binary_expression "param_2 + 0x20" identifier + number_literal) ))) ;) (if_statement "if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }" if (parenthesized_expression "((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000)" ( (binary_expression "(*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000" (parenthesized_expression "(*(uint *)(param_2 + 0x38) & 0xf000)" ( (binary_expression "*(uint *)(param_2 + 0x38) & 0xf000" (pointer_expression "*(uint *)(param_2 + 0x38)" * (cast_expression "(uint *)(param_2 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }" { (expression_statement "puVar11 = PTR_DAT_0003f178 + -0x3930;" (assignment_expression "puVar11 = PTR_DAT_0003f178 + -0x3930" identifier = (binary_expression "PTR_DAT_0003f178 + -0x3930" identifier + number_literal)) ;) (goto_statement "goto LAB_00018410;" goto statement_identifier ;) })) (expression_statement "iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();" (assignment_expression "iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)()" identifier = (call_expression "(*(code *)PTR_is_selinux_enabled_0003f4f8)()" (parenthesized_expression "(*(code *)PTR_is_selinux_enabled_0003f4f8)" ( (pointer_expression "*(code *)PTR_is_selinux_enabled_0003f4f8" * (cast_expression "(code *)PTR_is_selinux_enabled_0003f4f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }" if (parenthesized_expression "(iVar3 < 1)" ( (binary_expression "iVar3 < 1" identifier < number_literal) )) (compound_statement "{\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }" { (labeled_statement "LAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);" statement_identifier : (expression_statement "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);" (assignment_expression "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" identifier = (call_expression "ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" identifier (argument_list "(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003f178 + -0x2cc0" identifier + number_literal) , (pointer_expression "*(undefined4 *)PTR_write_mode_0003f1e0" * (cast_expression "(undefined4 *)PTR_write_mode_0003f1e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;)) (expression_statement "puVar11 = PTR___progname_0003f168;" (assignment_expression "puVar11 = PTR___progname_0003f168" identifier = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "uVar10 = *(undefined4 *)(param_2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x14)" * (cast_expression "(undefined4 *)(param_2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puVar13 = PTR___progname_0003f168 + -0x974;" (assignment_expression "puVar13 = PTR___progname_0003f168 + -0x974" identifier = (binary_expression "PTR___progname_0003f168 + -0x974" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c)" * (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x96c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" ( (binary_expression "PTR___progname_0003f168 + -0x96c" identifier + number_literal) )))) = identifier) ;) (expression_statement "register_cleanup_file(uVar10);" (call_expression "register_cleanup_file(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "puVar2 = PTR_free_0003f4d8;" (assignment_expression "puVar2 = PTR_free_0003f4d8" identifier = identifier) ;) (expression_statement "puVar11[-0x970] = 0;" (assignment_expression "puVar11[-0x970] = 0" (subscript_expression "puVar11[-0x970]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*(code *)puVar2)(puVar4);" (call_expression "(*(code *)puVar2)(puVar4)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4)" ( identifier ))) ;) }) (else_clause "else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }" else (compound_statement "{\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }" { (expression_statement "iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);" (assignment_expression "iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30)" identifier = (call_expression "rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x18),&local_30)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) , (pointer_expression "&local_30" & identifier) )))) ;) (if_statement "if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }" { (expression_statement "piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }" if (parenthesized_expression "(*piVar7 != 0x59)" ( (binary_expression "*piVar7 != 0x59" (pointer_expression "*piVar7" * identifier) != number_literal) )) (compound_statement "{\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }" { (expression_statement "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" * (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x38c4,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x38c4" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar12 = *(undefined4 *)(param_2 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(param_2 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)PTR_program_name_0003f17c;" (assignment_expression "uVar15 = *(undefined4 *)PTR_program_name_0003f17c" identifier = (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" * (cast_expression "(undefined4 *)PTR_program_name_0003f17c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = rpl_strerror(*piVar7);" (assignment_expression "uVar10 = rpl_strerror(*piVar7)" identifier = (call_expression "rpl_strerror(*piVar7)" identifier (argument_list "(*piVar7)" ( (pointer_expression "*piVar7" * identifier) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" * (cast_expression "(code *)PTR___fprintf_chk_0003f390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar14,1,uVar6,uVar15,uVar12,uVar10)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_00018050;" goto statement_identifier ;) })) (expression_statement "iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);" (assignment_expression "iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34)" identifier = (call_expression "(*(code *)PTR_getfscreatecon_0003f378)(&local_34)" (parenthesized_expression "(*(code *)PTR_getfscreatecon_0003f378)" ( (pointer_expression "*(code *)PTR_getfscreatecon_0003f378" * (cast_expression "(code *)PTR_getfscreatecon_0003f378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_34)" ( (pointer_expression "&local_34" & identifier) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);" (assignment_expression "iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30)" identifier = (call_expression "(*(code *)PTR_setfscreatecon_0003f414)(local_30)" (parenthesized_expression "(*(code *)PTR_setfscreatecon_0003f414)" ( (pointer_expression "*(code *)PTR_setfscreatecon_0003f414" * (cast_expression "(code *)PTR_setfscreatecon_0003f414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (if_statement "if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }" if (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) (compound_statement "{\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }" { (expression_statement "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" * (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x3908,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x3908" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar6 = local_30;" (assignment_expression "uVar6 = local_30" identifier = identifier) ;) (expression_statement "uVar15 = *(undefined4 *)PTR_program_name_0003f17c;" (assignment_expression "uVar15 = *(undefined4 *)PTR_program_name_0003f17c" identifier = (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" * (cast_expression "(undefined4 *)PTR_program_name_0003f17c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = rpl_strerror(*puVar9);" (assignment_expression "uVar12 = rpl_strerror(*puVar9)" identifier = (call_expression "rpl_strerror(*puVar9)" identifier (argument_list "(*puVar9)" ( (pointer_expression "*puVar9" * identifier) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" * (cast_expression "(code *)PTR___fprintf_chk_0003f390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar14,1,uVar10,uVar15,uVar6,uVar12)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_freecon_0003f3a0)(local_30);" (call_expression "(*(code *)PTR_freecon_0003f3a0)(local_30)" (parenthesized_expression "(*(code *)PTR_freecon_0003f3a0)" ( (pointer_expression "*(code *)PTR_freecon_0003f3a0" * (cast_expression "(code *)PTR_freecon_0003f3a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier ))) ;) (expression_statement "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);" (assignment_expression "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" identifier = (call_expression "ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" identifier (argument_list "(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003f178 + -0x2cc0" identifier + number_literal) , (pointer_expression "*(undefined4 *)PTR_write_mode_0003f1e0" * (cast_expression "(undefined4 *)PTR_write_mode_0003f1e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "puVar11 = PTR___progname_0003f168;" (assignment_expression "puVar11 = PTR___progname_0003f168" identifier = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "uVar10 = *(undefined4 *)(param_2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x14)" * (cast_expression "(undefined4 *)(param_2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puVar13 = PTR___progname_0003f168 + -0x974;" (assignment_expression "puVar13 = PTR___progname_0003f168 + -0x974" identifier = (binary_expression "PTR___progname_0003f168 + -0x974" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c)" * (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x96c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" ( (binary_expression "PTR___progname_0003f168 + -0x96c" identifier + number_literal) )))) = identifier) ;) (expression_statement "register_cleanup_file(uVar10);" (call_expression "register_cleanup_file(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "puVar2 = PTR_free_0003f4d8;" (assignment_expression "puVar2 = PTR_free_0003f4d8" identifier = identifier) ;) (expression_statement "puVar11[-0x970] = 0;" (assignment_expression "puVar11[-0x970] = 0" (subscript_expression "puVar11[-0x970]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*(code *)puVar2)(puVar4);" (call_expression "(*(code *)puVar2)(puVar4)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4)" ( identifier ))) ;) (if_statement "if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }" { (expression_statement "(*(code *)PTR_setfscreatecon_0003f414)(local_34);" (call_expression "(*(code *)PTR_setfscreatecon_0003f414)(local_34)" (parenthesized_expression "(*(code *)PTR_setfscreatecon_0003f414)" ( (pointer_expression "*(code *)PTR_setfscreatecon_0003f414" * (cast_expression "(code *)PTR_setfscreatecon_0003f414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_34)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_freecon_0003f3a0)(local_34);" (call_expression "(*(code *)PTR_freecon_0003f3a0)(local_34)" (parenthesized_expression "(*(code *)PTR_freecon_0003f3a0)" ( (pointer_expression "*(code *)PTR_freecon_0003f3a0" * (cast_expression "(code *)PTR_freecon_0003f3a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_34)" ( identifier ))) ;) })) }))) (if_statement "if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(uVar6,uVar12,uVar10);\n      }" if (parenthesized_expression "(*(int *)(puVar13 + 8) == 0)" ( (binary_expression "*(int *)(puVar13 + 8) == 0" (pointer_expression "*(int *)(puVar13 + 8)" * (cast_expression "(int *)(puVar13 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 8)" ( (binary_expression "puVar13 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(uVar6,uVar12,uVar10);\n      }" { (expression_statement "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x388c,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x388c" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar12 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "uVar12 = *(undefined4 *)(param_2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x14)" * (cast_expression "(undefined4 *)(param_2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar10 = rpl_strerror(*puVar9);" (assignment_expression "uVar10 = rpl_strerror(*puVar9)" identifier = (call_expression "rpl_strerror(*puVar9)" identifier (argument_list "(*puVar9)" ( (pointer_expression "*puVar9" * identifier) )))) ;) comment (expression_statement "panic(uVar6,uVar12,uVar10);" (call_expression "panic(uVar6,uVar12,uVar10)" identifier (argument_list "(uVar6,uVar12,uVar10)" ( identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_000180b0;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" else (compound_statement "{\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" { (labeled_statement "LAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }" statement_identifier : (if_statement "if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }" if (parenthesized_expression "(*PTR_follow_symlinks_0003f1e4 != '\0')" ( (binary_expression "*PTR_follow_symlinks_0003f1e4 != '\0'" (pointer_expression "*PTR_follow_symlinks_0003f1e4" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }" { (expression_statement "uVar6 = follow_symlink(param_1);" (assignment_expression "uVar6 = follow_symlink(param_1)" identifier = (call_expression "follow_symlink(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*(undefined4 *)(param_2 + 0x18) = uVar6;" (assignment_expression "*(undefined4 *)(param_2 + 0x18) = uVar6" (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar7 = (int *)PTR_in_place_extension_0003f1d0;" (assignment_expression "piVar7 = (int *)PTR_in_place_extension_0003f1d0" identifier = (cast_expression "(int *)PTR_in_place_extension_0003f1d0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);" (assignment_expression "iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0)" identifier = (call_expression "ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0)" identifier (argument_list "(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0)" ( identifier , (pointer_expression "*(undefined4 *)PTR_read_mode_0003f1dc" * (cast_expression "(undefined4 *)PTR_read_mode_0003f1dc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal )))) ;) (expression_statement "*(int *)(param_2 + 0xc0) = iVar3;" (assignment_expression "*(int *)(param_2 + 0xc0) = iVar3" (pointer_expression "*(int *)(param_2 + 0xc0)" * (cast_expression "(int *)(param_2 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar3 != 0) goto LAB_00017f98;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017f98;" goto statement_identifier ;)) (expression_statement "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar6 = rpl_strerror(*puVar9);" (assignment_expression "uVar6 = rpl_strerror(*puVar9)" identifier = (call_expression "rpl_strerror(*puVar9)" identifier (argument_list "(*puVar9)" ( (pointer_expression "*puVar9" * identifier) )))) ;) (expression_statement "uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar12 = *(undefined4 *)PTR_stderr_0003f4e0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" * (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x3968,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x3968" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" * (cast_expression "(code *)PTR___fprintf_chk_0003f390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" * (cast_expression "(undefined4 *)PTR_program_name_0003f17c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , identifier ))) ;) (expression_statement "*(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;" (assignment_expression "*(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1" (pointer_expression "*(int *)(param_2 + 4)" * (cast_expression "(int *)(param_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(param_2 + 4) + 1" (pointer_expression "*(int *)(param_2 + 4)" * (cast_expression "(int *)(param_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;" (assignment_expression "*(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80" (pointer_expression "*(undefined **)(param_2 + 0x10)" * (cast_expression "(undefined **)(param_2 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) = (binary_expression "PTR_0003f174 + 0x7c80" identifier + number_literal)) ;) (labeled_statement "LAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar1) {\n      return;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar1)" ( (binary_expression "local_2c == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (expression_statement "(*(code *)PTR___stack_chk_fail_0003f4ac)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003f4ac)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003f4ac)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0003f4ac" * (cast_expression "(code *)PTR___stack_chk_fail_0003f4ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "puVar11 = PTR_DAT_0003f178 + -0x3950;" (assignment_expression "puVar11 = PTR_DAT_0003f178 + -0x3950" identifier = (binary_expression "PTR_DAT_0003f178 + -0x3950" identifier + number_literal)) ;) (labeled_statement "LAB_00018410:\n  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);" statement_identifier : (expression_statement "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar11,5)" ( number_literal , identifier , number_literal )))) ;)) comment (expression_statement "panic(uVar6,*(undefined4 *)(param_2 + 0x18));" (call_expression "panic(uVar6,*(undefined4 *)(param_2 + 0x18))" identifier (argument_list "(uVar6,*(undefined4 *)(param_2 + 0x18))" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) ))) ;) })))
(translation_unit "void open_next_file(char *name,input *input)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  security_context_t pcVar3;\n  FILE *pFVar4;\n  char *pcVar5;\n  undefined1 *puVar6;\n  undefined4 uVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  char *pcVar11;\n  undefined *puVar12;\n  char *pcVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  security_context_t old_fscreatecon;\n  security_context_t con;\n  int iStack_2c;\n  \n  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;\n  input->in_file_name = name;\n  puVar1 = PTR___stack_chk_guard_0003f4cc;\n  puVar12 = PTR_stdin_0003f40c;\n  piVar9 = (int *)PTR_in_place_extension_0003f1d0;\n  iStack_2c = *(int *)PTR___stack_chk_guard_0003f4cc;\n  if ((*name == '-') && (name[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    input->fp = *(FILE **)puVar12;\nLAB_00017f98:\n    iVar10 = *piVar9;\n    input->read_fn = (_func__Bool_input_ptr *)(PTR_LAB_0003f180 + -0x76a0);\n    if (iVar10 == 0) {\n      if ((input->fp != (FILE *)0x0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    old_fscreatecon = (security_context_t)0x0;\n    pcVar5 = xstrdup(input->in_file_name);\n    puVar6 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(pcVar5,0x2f);\n    if (puVar6 == (undefined1 *)0x0) {\n      pcVar5[1] = '\0';\n      *pcVar5 = '.';\n    }\n    else {\n      *puVar6 = 0;\n    }\n    uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n    iVar10 = (*(code *)PTR_isatty_0003f374)(uVar7);\n    if (iVar10 == 0) {\n      uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar7,&input->st);\n      if (((input->st).st_mode & 0xf000) != 0x8000) {\n        puVar12 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar10 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar10 < 1) {\nLAB_00018050:\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n      }\n      else {\n        iVar10 = rpl_lgetfilecon(input->in_file_name,&con);\n        if (iVar10 == -1) {\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }\n        iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);\n        if (iVar8 < 0) {\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(con);\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n        if (-1 < iVar10) {\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }\n      }\n      if (*(int *)(puVar14 + 8) == 0) {\n        pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        pcVar13 = input->out_file_name;\n        piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n        pcVar11 = rpl_strerror(*piVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(pcVar5,pcVar13,pcVar11);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      pcVar5 = follow_symlink(name);\n      input->in_file_name = pcVar5;\n    }\n    piVar9 = (int *)PTR_in_place_extension_0003f1d0;\n    pFVar4 = ck_fopen(name,*(char **)PTR_read_mode_0003f1dc,0);\n    input->fp = pFVar4;\n    if (pFVar4 != (FILE *)0x0) goto LAB_00017f98;\n    piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n    pcVar5 = rpl_strerror(*piVar9);\n    uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar15,1,uVar7,*(undefined4 *)PTR_program_name_0003f17c,name,pcVar5);\n    input->bad_count = input->bad_count + 1;\n    input->read_fn = (_func__Bool_input_ptr *)(PTR_0003f174 + 0x7c80);\nLAB_000180b0:\n    if (iStack_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }\n  puVar12 = PTR_DAT_0003f178 + -0x3950;\nLAB_00018410:\n  pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,puVar12,5);\n                    /* WARNING: Subroutine does not return */\n  panic(pcVar5,input->in_file_name);\n}\n\n" (function_definition "void open_next_file(char *name,input *input)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  security_context_t pcVar3;\n  FILE *pFVar4;\n  char *pcVar5;\n  undefined1 *puVar6;\n  undefined4 uVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  char *pcVar11;\n  undefined *puVar12;\n  char *pcVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  security_context_t old_fscreatecon;\n  security_context_t con;\n  int iStack_2c;\n  \n  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;\n  input->in_file_name = name;\n  puVar1 = PTR___stack_chk_guard_0003f4cc;\n  puVar12 = PTR_stdin_0003f40c;\n  piVar9 = (int *)PTR_in_place_extension_0003f1d0;\n  iStack_2c = *(int *)PTR___stack_chk_guard_0003f4cc;\n  if ((*name == '-') && (name[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    input->fp = *(FILE **)puVar12;\nLAB_00017f98:\n    iVar10 = *piVar9;\n    input->read_fn = (_func__Bool_input_ptr *)(PTR_LAB_0003f180 + -0x76a0);\n    if (iVar10 == 0) {\n      if ((input->fp != (FILE *)0x0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    old_fscreatecon = (security_context_t)0x0;\n    pcVar5 = xstrdup(input->in_file_name);\n    puVar6 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(pcVar5,0x2f);\n    if (puVar6 == (undefined1 *)0x0) {\n      pcVar5[1] = '\0';\n      *pcVar5 = '.';\n    }\n    else {\n      *puVar6 = 0;\n    }\n    uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n    iVar10 = (*(code *)PTR_isatty_0003f374)(uVar7);\n    if (iVar10 == 0) {\n      uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar7,&input->st);\n      if (((input->st).st_mode & 0xf000) != 0x8000) {\n        puVar12 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar10 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar10 < 1) {\nLAB_00018050:\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n      }\n      else {\n        iVar10 = rpl_lgetfilecon(input->in_file_name,&con);\n        if (iVar10 == -1) {\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }\n        iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);\n        if (iVar8 < 0) {\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(con);\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n        if (-1 < iVar10) {\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }\n      }\n      if (*(int *)(puVar14 + 8) == 0) {\n        pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        pcVar13 = input->out_file_name;\n        piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n        pcVar11 = rpl_strerror(*piVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(pcVar5,pcVar13,pcVar11);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      pcVar5 = follow_symlink(name);\n      input->in_file_name = pcVar5;\n    }\n    piVar9 = (int *)PTR_in_place_extension_0003f1d0;\n    pFVar4 = ck_fopen(name,*(char **)PTR_read_mode_0003f1dc,0);\n    input->fp = pFVar4;\n    if (pFVar4 != (FILE *)0x0) goto LAB_00017f98;\n    piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n    pcVar5 = rpl_strerror(*piVar9);\n    uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar15,1,uVar7,*(undefined4 *)PTR_program_name_0003f17c,name,pcVar5);\n    input->bad_count = input->bad_count + 1;\n    input->read_fn = (_func__Bool_input_ptr *)(PTR_0003f174 + 0x7c80);\nLAB_000180b0:\n    if (iStack_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }\n  puVar12 = PTR_DAT_0003f178 + -0x3950;\nLAB_00018410:\n  pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,puVar12,5);\n                    /* WARNING: Subroutine does not return */\n  panic(pcVar5,input->in_file_name);\n}" primitive_type (function_declarator "open_next_file(char *name,input *input)" identifier (parameter_list "(char *name,input *input)" ( (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "input *input" type_identifier (pointer_declarator "*input" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  security_context_t pcVar3;\n  FILE *pFVar4;\n  char *pcVar5;\n  undefined1 *puVar6;\n  undefined4 uVar7;\n  int iVar8;\n  int *piVar9;\n  int iVar10;\n  char *pcVar11;\n  undefined *puVar12;\n  char *pcVar13;\n  undefined *puVar14;\n  undefined4 uVar15;\n  undefined4 uVar16;\n  security_context_t old_fscreatecon;\n  security_context_t con;\n  int iStack_2c;\n  \n  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;\n  input->in_file_name = name;\n  puVar1 = PTR___stack_chk_guard_0003f4cc;\n  puVar12 = PTR_stdin_0003f40c;\n  piVar9 = (int *)PTR_in_place_extension_0003f1d0;\n  iStack_2c = *(int *)PTR___stack_chk_guard_0003f4cc;\n  if ((*name == '-') && (name[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    input->fp = *(FILE **)puVar12;\nLAB_00017f98:\n    iVar10 = *piVar9;\n    input->read_fn = (_func__Bool_input_ptr *)(PTR_LAB_0003f180 + -0x76a0);\n    if (iVar10 == 0) {\n      if ((input->fp != (FILE *)0x0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    old_fscreatecon = (security_context_t)0x0;\n    pcVar5 = xstrdup(input->in_file_name);\n    puVar6 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(pcVar5,0x2f);\n    if (puVar6 == (undefined1 *)0x0) {\n      pcVar5[1] = '\0';\n      *pcVar5 = '.';\n    }\n    else {\n      *puVar6 = 0;\n    }\n    uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n    iVar10 = (*(code *)PTR_isatty_0003f374)(uVar7);\n    if (iVar10 == 0) {\n      uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar7,&input->st);\n      if (((input->st).st_mode & 0xf000) != 0x8000) {\n        puVar12 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar10 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar10 < 1) {\nLAB_00018050:\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n      }\n      else {\n        iVar10 = rpl_lgetfilecon(input->in_file_name,&con);\n        if (iVar10 == -1) {\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }\n        iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);\n        if (iVar8 < 0) {\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(con);\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n        if (-1 < iVar10) {\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }\n      }\n      if (*(int *)(puVar14 + 8) == 0) {\n        pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        pcVar13 = input->out_file_name;\n        piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n        pcVar11 = rpl_strerror(*piVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(pcVar5,pcVar13,pcVar11);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      pcVar5 = follow_symlink(name);\n      input->in_file_name = pcVar5;\n    }\n    piVar9 = (int *)PTR_in_place_extension_0003f1d0;\n    pFVar4 = ck_fopen(name,*(char **)PTR_read_mode_0003f1dc,0);\n    input->fp = pFVar4;\n    if (pFVar4 != (FILE *)0x0) goto LAB_00017f98;\n    piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n    pcVar5 = rpl_strerror(*piVar9);\n    uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar15,1,uVar7,*(undefined4 *)PTR_program_name_0003f17c,name,pcVar5);\n    input->bad_count = input->bad_count + 1;\n    input->read_fn = (_func__Bool_input_ptr *)(PTR_0003f174 + 0x7c80);\nLAB_000180b0:\n    if (iStack_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }\n  puVar12 = PTR_DAT_0003f178 + -0x3950;\nLAB_00018410:\n  pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,puVar12,5);\n                    /* WARNING: Subroutine does not return */\n  panic(pcVar5,input->in_file_name);\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "security_context_t pcVar3;" type_identifier identifier ;) (declaration "FILE *pFVar4;" type_identifier (pointer_declarator "*pFVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "security_context_t old_fscreatecon;" type_identifier identifier ;) (declaration "security_context_t con;" type_identifier identifier ;) (declaration "int iStack_2c;" primitive_type identifier ;) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc)" * (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x9dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x9dc)" ( (binary_expression "PTR___progname_0003f168 + -0x9dc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "input->in_file_name = name;" (assignment_expression "input->in_file_name = name" (field_expression "input->in_file_name" identifier -> field_identifier) = identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0003f4cc;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0003f4cc" identifier = identifier) ;) (expression_statement "puVar12 = PTR_stdin_0003f40c;" (assignment_expression "puVar12 = PTR_stdin_0003f40c" identifier = identifier) ;) (expression_statement "piVar9 = (int *)PTR_in_place_extension_0003f1d0;" (assignment_expression "piVar9 = (int *)PTR_in_place_extension_0003f1d0" identifier = (cast_expression "(int *)PTR_in_place_extension_0003f1d0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iStack_2c = *(int *)PTR___stack_chk_guard_0003f4cc;" (assignment_expression "iStack_2c = *(int *)PTR___stack_chk_guard_0003f4cc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0003f4cc" * (cast_expression "(int *)PTR___stack_chk_guard_0003f4cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((*name == '-') && (name[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    input->fp = *(FILE **)puVar12;\nLAB_00017f98:\n    iVar10 = *piVar9;\n    input->read_fn = (_func__Bool_input_ptr *)(PTR_LAB_0003f180 + -0x76a0);\n    if (iVar10 == 0) {\n      if ((input->fp != (FILE *)0x0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    old_fscreatecon = (security_context_t)0x0;\n    pcVar5 = xstrdup(input->in_file_name);\n    puVar6 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(pcVar5,0x2f);\n    if (puVar6 == (undefined1 *)0x0) {\n      pcVar5[1] = '\0';\n      *pcVar5 = '.';\n    }\n    else {\n      *puVar6 = 0;\n    }\n    uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n    iVar10 = (*(code *)PTR_isatty_0003f374)(uVar7);\n    if (iVar10 == 0) {\n      uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar7,&input->st);\n      if (((input->st).st_mode & 0xf000) != 0x8000) {\n        puVar12 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar10 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar10 < 1) {\nLAB_00018050:\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n      }\n      else {\n        iVar10 = rpl_lgetfilecon(input->in_file_name,&con);\n        if (iVar10 == -1) {\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }\n        iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);\n        if (iVar8 < 0) {\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(con);\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n        if (-1 < iVar10) {\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }\n      }\n      if (*(int *)(puVar14 + 8) == 0) {\n        pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        pcVar13 = input->out_file_name;\n        piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n        pcVar11 = rpl_strerror(*piVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(pcVar5,pcVar13,pcVar11);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      pcVar5 = follow_symlink(name);\n      input->in_file_name = pcVar5;\n    }\n    piVar9 = (int *)PTR_in_place_extension_0003f1d0;\n    pFVar4 = ck_fopen(name,*(char **)PTR_read_mode_0003f1dc,0);\n    input->fp = pFVar4;\n    if (pFVar4 != (FILE *)0x0) goto LAB_00017f98;\n    piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n    pcVar5 = rpl_strerror(*piVar9);\n    uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar15,1,uVar7,*(undefined4 *)PTR_program_name_0003f17c,name,pcVar5);\n    input->bad_count = input->bad_count + 1;\n    input->read_fn = (_func__Bool_input_ptr *)(PTR_0003f174 + 0x7c80);\nLAB_000180b0:\n    if (iStack_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" if (parenthesized_expression "((*name == '-') && (name[1] == '\0'))" ( (binary_expression "(*name == '-') && (name[1] == '\0')" (parenthesized_expression "(*name == '-')" ( (binary_expression "*name == '-'" (pointer_expression "*name" * identifier) == (char_literal "'-'" ' character ')) )) && (parenthesized_expression "(name[1] == '\0')" ( (binary_expression "name[1] == '\0'" (subscript_expression "name[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    input->fp = *(FILE **)puVar12;\nLAB_00017f98:\n    iVar10 = *piVar9;\n    input->read_fn = (_func__Bool_input_ptr *)(PTR_LAB_0003f180 + -0x76a0);\n    if (iVar10 == 0) {\n      if ((input->fp != (FILE *)0x0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    old_fscreatecon = (security_context_t)0x0;\n    pcVar5 = xstrdup(input->in_file_name);\n    puVar6 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(pcVar5,0x2f);\n    if (puVar6 == (undefined1 *)0x0) {\n      pcVar5[1] = '\0';\n      *pcVar5 = '.';\n    }\n    else {\n      *puVar6 = 0;\n    }\n    uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n    iVar10 = (*(code *)PTR_isatty_0003f374)(uVar7);\n    if (iVar10 == 0) {\n      uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar7,&input->st);\n      if (((input->st).st_mode & 0xf000) != 0x8000) {\n        puVar12 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar10 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar10 < 1) {\nLAB_00018050:\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n      }\n      else {\n        iVar10 = rpl_lgetfilecon(input->in_file_name,&con);\n        if (iVar10 == -1) {\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }\n        iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);\n        if (iVar8 < 0) {\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(con);\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n        if (-1 < iVar10) {\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }\n      }\n      if (*(int *)(puVar14 + 8) == 0) {\n        pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        pcVar13 = input->out_file_name;\n        piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n        pcVar11 = rpl_strerror(*piVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(pcVar5,pcVar13,pcVar11);\n      }\n      goto LAB_000180b0;\n    }\n  }" { (if_statement "if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;" if (parenthesized_expression "(*(int *)PTR_in_place_extension_0003f1d0 != 0)" ( (binary_expression "*(int *)PTR_in_place_extension_0003f1d0 != 0" (pointer_expression "*(int *)PTR_in_place_extension_0003f1d0" * (cast_expression "(int *)PTR_in_place_extension_0003f1d0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (goto_statement "goto LAB_00017f64;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);" (call_expression "(*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c)" (parenthesized_expression "(*(code *)PTR_clearerr_unlocked_0003f3c0)" ( (pointer_expression "*(code *)PTR_clearerr_unlocked_0003f3c0" * (cast_expression "(code *)PTR_clearerr_unlocked_0003f3c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_stdin_0003f40c)" ( (pointer_expression "*(undefined4 *)PTR_stdin_0003f40c" * (cast_expression "(undefined4 *)PTR_stdin_0003f40c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "input->fp = *(FILE **)puVar12;" (assignment_expression "input->fp = *(FILE **)puVar12" (field_expression "input->fp" identifier -> field_identifier) = (pointer_expression "*(FILE **)puVar12" * (cast_expression "(FILE **)puVar12" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (labeled_statement "LAB_00017f98:\n    iVar10 = *piVar9;" statement_identifier : (expression_statement "iVar10 = *piVar9;" (assignment_expression "iVar10 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;)) (expression_statement "input->read_fn = (_func__Bool_input_ptr *)(PTR_LAB_0003f180 + -0x76a0);" (assignment_expression "input->read_fn = (_func__Bool_input_ptr *)(PTR_LAB_0003f180 + -0x76a0)" (field_expression "input->read_fn" identifier -> field_identifier) = (cast_expression "(_func__Bool_input_ptr *)(PTR_LAB_0003f180 + -0x76a0)" ( (type_descriptor "_func__Bool_input_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0003f180 + -0x76a0)" ( (binary_expression "PTR_LAB_0003f180 + -0x76a0" identifier + number_literal) )))) ;) (if_statement "if (iVar10 == 0) {\n      if ((input->fp != (FILE *)0x0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((input->fp != (FILE *)0x0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }" { (if_statement "if ((input->fp != (FILE *)0x0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0);\n      }" if (parenthesized_expression "((input->fp != (FILE *)0x0) && (*PTR_unbuffered_0003f1bc != '\0'))" ( (binary_expression "(input->fp != (FILE *)0x0) && (*PTR_unbuffered_0003f1bc != '\0')" (parenthesized_expression "(input->fp != (FILE *)0x0)" ( (binary_expression "input->fp != (FILE *)0x0" (field_expression "input->fp" identifier -> field_identifier) != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*PTR_unbuffered_0003f1bc != '\0')" ( (binary_expression "*PTR_unbuffered_0003f1bc != '\0'" (pointer_expression "*PTR_unbuffered_0003f1bc" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        (*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0);\n      }" { (expression_statement "(*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0);" (call_expression "(*(code *)PTR_setvbuf_0003f3fc)(input->fp,0,2,0)" (parenthesized_expression "(*(code *)PTR_setvbuf_0003f3fc)" ( (pointer_expression "*(code *)PTR_setvbuf_0003f3fc" * (cast_expression "(code *)PTR_setvbuf_0003f3fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(input->fp,0,2,0)" ( (field_expression "input->fp" identifier -> field_identifier) , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c)" * (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x96c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" ( (binary_expression "PTR___progname_0003f168 + -0x96c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stdout_0003f3dc" * (cast_expression "(undefined4 *)PTR_stdout_0003f3dc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_000180b0;" goto statement_identifier ;) })) (expression_statement "old_fscreatecon = (security_context_t)0x0;" (assignment_expression "old_fscreatecon = (security_context_t)0x0" identifier = (cast_expression "(security_context_t)0x0" ( (type_descriptor "security_context_t" type_identifier) ) number_literal)) ;) (expression_statement "pcVar5 = xstrdup(input->in_file_name);" (assignment_expression "pcVar5 = xstrdup(input->in_file_name)" identifier = (call_expression "xstrdup(input->in_file_name)" identifier (argument_list "(input->in_file_name)" ( (field_expression "input->in_file_name" identifier -> field_identifier) )))) ;) (expression_statement "puVar6 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(pcVar5,0x2f);" (assignment_expression "puVar6 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(pcVar5,0x2f)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(pcVar5,0x2f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strrchr_0003f3bc)(pcVar5,0x2f)" (parenthesized_expression "(*(code *)PTR_strrchr_0003f3bc)" ( (pointer_expression "*(code *)PTR_strrchr_0003f3bc" * (cast_expression "(code *)PTR_strrchr_0003f3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar5,0x2f)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar6 == (undefined1 *)0x0) {\n      pcVar5[1] = '\0';\n      *pcVar5 = '.';\n    }\n    else {\n      *puVar6 = 0;\n    }" if (parenthesized_expression "(puVar6 == (undefined1 *)0x0)" ( (binary_expression "puVar6 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar5[1] = '\0';\n      *pcVar5 = '.';\n    }" { (expression_statement "pcVar5[1] = '\0';" (assignment_expression "pcVar5[1] = '\0'" (subscript_expression "pcVar5[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*pcVar5 = '.';" (assignment_expression "*pcVar5 = '.'" (pointer_expression "*pcVar5" * identifier) = (char_literal "'.'" ' character ')) ;) }) (else_clause "else {\n      *puVar6 = 0;\n    }" else (compound_statement "{\n      *puVar6 = 0;\n    }" { (expression_statement "*puVar6 = 0;" (assignment_expression "*puVar6 = 0" (pointer_expression "*puVar6" * identifier) = number_literal) ;) }))) (expression_statement "uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);" (assignment_expression "uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp)" identifier = (call_expression "(*(code *)PTR_fileno_0003f3e4)(input->fp)" (parenthesized_expression "(*(code *)PTR_fileno_0003f3e4)" ( (pointer_expression "*(code *)PTR_fileno_0003f3e4" * (cast_expression "(code *)PTR_fileno_0003f3e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(input->fp)" ( (field_expression "input->fp" identifier -> field_identifier) )))) ;) (expression_statement "iVar10 = (*(code *)PTR_isatty_0003f374)(uVar7);" (assignment_expression "iVar10 = (*(code *)PTR_isatty_0003f374)(uVar7)" identifier = (call_expression "(*(code *)PTR_isatty_0003f374)(uVar7)" (parenthesized_expression "(*(code *)PTR_isatty_0003f374)" ( (pointer_expression "*(code *)PTR_isatty_0003f374" * (cast_expression "(code *)PTR_isatty_0003f374" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (iVar10 == 0) {\n      uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar7,&input->st);\n      if (((input->st).st_mode & 0xf000) != 0x8000) {\n        puVar12 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar10 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar10 < 1) {\nLAB_00018050:\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n      }\n      else {\n        iVar10 = rpl_lgetfilecon(input->in_file_name,&con);\n        if (iVar10 == -1) {\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }\n        iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);\n        if (iVar8 < 0) {\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(con);\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n        if (-1 < iVar10) {\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }\n      }\n      if (*(int *)(puVar14 + 8) == 0) {\n        pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        pcVar13 = input->out_file_name;\n        piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n        pcVar11 = rpl_strerror(*piVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(pcVar5,pcVar13,pcVar11);\n      }\n      goto LAB_000180b0;\n    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar7,&input->st);\n      if (((input->st).st_mode & 0xf000) != 0x8000) {\n        puVar12 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar10 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar10 < 1) {\nLAB_00018050:\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n      }\n      else {\n        iVar10 = rpl_lgetfilecon(input->in_file_name,&con);\n        if (iVar10 == -1) {\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }\n        iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);\n        if (iVar8 < 0) {\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(con);\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n        if (-1 < iVar10) {\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }\n      }\n      if (*(int *)(puVar14 + 8) == 0) {\n        pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        pcVar13 = input->out_file_name;\n        piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n        pcVar11 = rpl_strerror(*piVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(pcVar5,pcVar13,pcVar11);\n      }\n      goto LAB_000180b0;\n    }" { (expression_statement "uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp);" (assignment_expression "uVar7 = (*(code *)PTR_fileno_0003f3e4)(input->fp)" identifier = (call_expression "(*(code *)PTR_fileno_0003f3e4)(input->fp)" (parenthesized_expression "(*(code *)PTR_fileno_0003f3e4)" ( (pointer_expression "*(code *)PTR_fileno_0003f3e4" * (cast_expression "(code *)PTR_fileno_0003f3e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(input->fp)" ( (field_expression "input->fp" identifier -> field_identifier) )))) ;) (expression_statement "(*(code *)PTR___fxstat64_0003f480)(3,uVar7,&input->st);" (call_expression "(*(code *)PTR___fxstat64_0003f480)(3,uVar7,&input->st)" (parenthesized_expression "(*(code *)PTR___fxstat64_0003f480)" ( (pointer_expression "*(code *)PTR___fxstat64_0003f480" * (cast_expression "(code *)PTR___fxstat64_0003f480" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,uVar7,&input->st)" ( number_literal , identifier , (pointer_expression "&input->st" & (field_expression "input->st" identifier -> field_identifier)) ))) ;) (if_statement "if (((input->st).st_mode & 0xf000) != 0x8000) {\n        puVar12 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }" if (parenthesized_expression "(((input->st).st_mode & 0xf000) != 0x8000)" ( (binary_expression "((input->st).st_mode & 0xf000) != 0x8000" (parenthesized_expression "((input->st).st_mode & 0xf000)" ( (binary_expression "(input->st).st_mode & 0xf000" (field_expression "(input->st).st_mode" (parenthesized_expression "(input->st)" ( (field_expression "input->st" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        puVar12 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }" { (expression_statement "puVar12 = PTR_DAT_0003f178 + -0x3930;" (assignment_expression "puVar12 = PTR_DAT_0003f178 + -0x3930" identifier = (binary_expression "PTR_DAT_0003f178 + -0x3930" identifier + number_literal)) ;) (goto_statement "goto LAB_00018410;" goto statement_identifier ;) })) (expression_statement "iVar10 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();" (assignment_expression "iVar10 = (*(code *)PTR_is_selinux_enabled_0003f4f8)()" identifier = (call_expression "(*(code *)PTR_is_selinux_enabled_0003f4f8)()" (parenthesized_expression "(*(code *)PTR_is_selinux_enabled_0003f4f8)" ( (pointer_expression "*(code *)PTR_is_selinux_enabled_0003f4f8" * (cast_expression "(code *)PTR_is_selinux_enabled_0003f4f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar10 < 1) {\nLAB_00018050:\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n      }\n      else {\n        iVar10 = rpl_lgetfilecon(input->in_file_name,&con);\n        if (iVar10 == -1) {\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }\n        iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);\n        if (iVar8 < 0) {\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(con);\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n        if (-1 < iVar10) {\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }\n      }" if (parenthesized_expression "(iVar10 < 1)" ( (binary_expression "iVar10 < 1" identifier < number_literal) )) (compound_statement "{\nLAB_00018050:\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n      }" { (labeled_statement "LAB_00018050:\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);" statement_identifier : (expression_statement "pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);" (assignment_expression "pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0)" identifier = (call_expression "ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0)" identifier (argument_list "(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0)" ( (pointer_expression "&input->out_file_name" & (field_expression "input->out_file_name" identifier -> field_identifier)) , identifier , (binary_expression "PTR_DAT_0003f178 + -0x2cc0" identifier + number_literal) , (pointer_expression "*(char **)PTR_write_mode_0003f1e0" * (cast_expression "(char **)PTR_write_mode_0003f1e0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )))) ;)) (expression_statement "puVar12 = PTR___progname_0003f168;" (assignment_expression "puVar12 = PTR___progname_0003f168" identifier = identifier) ;) (expression_statement "pcVar11 = input->out_file_name;" (assignment_expression "pcVar11 = input->out_file_name" identifier = (field_expression "input->out_file_name" identifier -> field_identifier)) ;) (expression_statement "puVar14 = PTR___progname_0003f168 + -0x974;" (assignment_expression "puVar14 = PTR___progname_0003f168 + -0x974" identifier = (binary_expression "PTR___progname_0003f168 + -0x974" identifier + number_literal)) ;) (expression_statement "*(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;" (assignment_expression "*(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4" (pointer_expression "*(FILE **)(PTR___progname_0003f168 + -0x96c)" * (cast_expression "(FILE **)(PTR___progname_0003f168 + -0x96c)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" ( (binary_expression "PTR___progname_0003f168 + -0x96c" identifier + number_literal) )))) = identifier) ;) (expression_statement "register_cleanup_file(pcVar11);" (call_expression "register_cleanup_file(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier ))) ;) (expression_statement "puVar2 = PTR_free_0003f4d8;" (assignment_expression "puVar2 = PTR_free_0003f4d8" identifier = identifier) ;) (expression_statement "puVar12[-0x970] = 0;" (assignment_expression "puVar12[-0x970] = 0" (subscript_expression "puVar12[-0x970]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*(code *)puVar2)(pcVar5);" (call_expression "(*(code *)puVar2)(pcVar5)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar5)" ( identifier ))) ;) }) (else_clause "else {\n        iVar10 = rpl_lgetfilecon(input->in_file_name,&con);\n        if (iVar10 == -1) {\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }\n        iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);\n        if (iVar8 < 0) {\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(con);\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n        if (-1 < iVar10) {\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }\n      }" else (compound_statement "{\n        iVar10 = rpl_lgetfilecon(input->in_file_name,&con);\n        if (iVar10 == -1) {\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }\n        iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);\n        if (iVar8 < 0) {\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(con);\n        pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);\n        puVar12 = PTR___progname_0003f168;\n        pcVar11 = input->out_file_name;\n        puVar14 = PTR___progname_0003f168 + -0x974;\n        *(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;\n        register_cleanup_file(pcVar11);\n        puVar2 = PTR_free_0003f4d8;\n        puVar12[-0x970] = 0;\n        (*(code *)puVar2)(pcVar5);\n        if (-1 < iVar10) {\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }\n      }" { (expression_statement "iVar10 = rpl_lgetfilecon(input->in_file_name,&con);" (assignment_expression "iVar10 = rpl_lgetfilecon(input->in_file_name,&con)" identifier = (call_expression "rpl_lgetfilecon(input->in_file_name,&con)" identifier (argument_list "(input->in_file_name,&con)" ( (field_expression "input->in_file_name" identifier -> field_identifier) , (pointer_expression "&con" & identifier) )))) ;) (if_statement "if (iVar10 == -1) {\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }" if (parenthesized_expression "(iVar10 == -1)" ( (binary_expression "iVar10 == -1" identifier == number_literal) )) (compound_statement "{\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }\n          goto LAB_00018050;\n        }" { (expression_statement "piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar9 != 0x59) {\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }" if (parenthesized_expression "(*piVar9 != 0x59)" ( (binary_expression "*piVar9 != 0x59" (pointer_expression "*piVar9" * identifier) != number_literal) )) (compound_statement "{\n            uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            pcVar13 = input->in_file_name;\n            uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n            pcVar11 = rpl_strerror(*piVar9);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);\n          }" { (expression_statement "uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar15 = *(undefined4 *)PTR_stderr_0003f4e0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" * (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x38c4,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x38c4" identifier + number_literal) , number_literal )))) ;) (expression_statement "pcVar13 = input->in_file_name;" (assignment_expression "pcVar13 = input->in_file_name" identifier = (field_expression "input->in_file_name" identifier -> field_identifier)) ;) (expression_statement "uVar16 = *(undefined4 *)PTR_program_name_0003f17c;" (assignment_expression "uVar16 = *(undefined4 *)PTR_program_name_0003f17c" identifier = (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" * (cast_expression "(undefined4 *)PTR_program_name_0003f17c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar11 = rpl_strerror(*piVar9);" (assignment_expression "pcVar11 = rpl_strerror(*piVar9)" identifier = (call_expression "rpl_strerror(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar13,pcVar11)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" * (cast_expression "(code *)PTR___fprintf_chk_0003f390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar15,1,uVar7,uVar16,pcVar13,pcVar11)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_00018050;" goto statement_identifier ;) })) (expression_statement "iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon);" (assignment_expression "iVar10 = (*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon)" identifier = (call_expression "(*(code *)PTR_getfscreatecon_0003f378)(&old_fscreatecon)" (parenthesized_expression "(*(code *)PTR_getfscreatecon_0003f378)" ( (pointer_expression "*(code *)PTR_getfscreatecon_0003f378" * (cast_expression "(code *)PTR_getfscreatecon_0003f378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&old_fscreatecon)" ( (pointer_expression "&old_fscreatecon" & identifier) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con);" (assignment_expression "iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(con)" identifier = (call_expression "(*(code *)PTR_setfscreatecon_0003f414)(con)" (parenthesized_expression "(*(code *)PTR_setfscreatecon_0003f414)" ( (pointer_expression "*(code *)PTR_setfscreatecon_0003f414" * (cast_expression "(code *)PTR_setfscreatecon_0003f414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(con)" ( identifier )))) ;) (if_statement "if (iVar8 < 0) {\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }" if (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) (compound_statement "{\n          uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          pcVar3 = con;\n          uVar16 = *(undefined4 *)PTR_program_name_0003f17c;\n          piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          pcVar11 = rpl_strerror(*piVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);\n        }" { (expression_statement "uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar15 = *(undefined4 *)PTR_stderr_0003f4e0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" * (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x3908,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x3908" identifier + number_literal) , number_literal )))) ;) (expression_statement "pcVar3 = con;" (assignment_expression "pcVar3 = con" identifier = identifier) ;) (expression_statement "uVar16 = *(undefined4 *)PTR_program_name_0003f17c;" (assignment_expression "uVar16 = *(undefined4 *)PTR_program_name_0003f17c" identifier = (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" * (cast_expression "(undefined4 *)PTR_program_name_0003f17c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar11 = rpl_strerror(*piVar9);" (assignment_expression "pcVar11 = rpl_strerror(*piVar9)" identifier = (call_expression "rpl_strerror(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)(uVar15,1,uVar7,uVar16,pcVar3,pcVar11)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" * (cast_expression "(code *)PTR___fprintf_chk_0003f390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar15,1,uVar7,uVar16,pcVar3,pcVar11)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_freecon_0003f3a0)(con);" (call_expression "(*(code *)PTR_freecon_0003f3a0)(con)" (parenthesized_expression "(*(code *)PTR_freecon_0003f3a0)" ( (pointer_expression "*(code *)PTR_freecon_0003f3a0" * (cast_expression "(code *)PTR_freecon_0003f3a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(con)" ( identifier ))) ;) (expression_statement "pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0);" (assignment_expression "pFVar4 = ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0)" identifier = (call_expression "ck_mkstemp(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0)" identifier (argument_list "(&input->out_file_name,pcVar5,PTR_DAT_0003f178 + -0x2cc0,\n                            *(char **)PTR_write_mode_0003f1e0)" ( (pointer_expression "&input->out_file_name" & (field_expression "input->out_file_name" identifier -> field_identifier)) , identifier , (binary_expression "PTR_DAT_0003f178 + -0x2cc0" identifier + number_literal) , (pointer_expression "*(char **)PTR_write_mode_0003f1e0" * (cast_expression "(char **)PTR_write_mode_0003f1e0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )))) ;) (expression_statement "puVar12 = PTR___progname_0003f168;" (assignment_expression "puVar12 = PTR___progname_0003f168" identifier = identifier) ;) (expression_statement "pcVar11 = input->out_file_name;" (assignment_expression "pcVar11 = input->out_file_name" identifier = (field_expression "input->out_file_name" identifier -> field_identifier)) ;) (expression_statement "puVar14 = PTR___progname_0003f168 + -0x974;" (assignment_expression "puVar14 = PTR___progname_0003f168 + -0x974" identifier = (binary_expression "PTR___progname_0003f168 + -0x974" identifier + number_literal)) ;) (expression_statement "*(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4;" (assignment_expression "*(FILE **)(PTR___progname_0003f168 + -0x96c) = pFVar4" (pointer_expression "*(FILE **)(PTR___progname_0003f168 + -0x96c)" * (cast_expression "(FILE **)(PTR___progname_0003f168 + -0x96c)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" ( (binary_expression "PTR___progname_0003f168 + -0x96c" identifier + number_literal) )))) = identifier) ;) (expression_statement "register_cleanup_file(pcVar11);" (call_expression "register_cleanup_file(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier ))) ;) (expression_statement "puVar2 = PTR_free_0003f4d8;" (assignment_expression "puVar2 = PTR_free_0003f4d8" identifier = identifier) ;) (expression_statement "puVar12[-0x970] = 0;" (assignment_expression "puVar12[-0x970] = 0" (subscript_expression "puVar12[-0x970]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*(code *)puVar2)(pcVar5);" (call_expression "(*(code *)puVar2)(pcVar5)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar5)" ( identifier ))) ;) (if_statement "if (-1 < iVar10) {\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }" if (parenthesized_expression "(-1 < iVar10)" ( (binary_expression "-1 < iVar10" number_literal < identifier) )) (compound_statement "{\n          (*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);\n          (*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);\n        }" { (expression_statement "(*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon);" (call_expression "(*(code *)PTR_setfscreatecon_0003f414)(old_fscreatecon)" (parenthesized_expression "(*(code *)PTR_setfscreatecon_0003f414)" ( (pointer_expression "*(code *)PTR_setfscreatecon_0003f414" * (cast_expression "(code *)PTR_setfscreatecon_0003f414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(old_fscreatecon)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_freecon_0003f3a0)(old_fscreatecon);" (call_expression "(*(code *)PTR_freecon_0003f3a0)(old_fscreatecon)" (parenthesized_expression "(*(code *)PTR_freecon_0003f3a0)" ( (pointer_expression "*(code *)PTR_freecon_0003f3a0" * (cast_expression "(code *)PTR_freecon_0003f3a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(old_fscreatecon)" ( identifier ))) ;) })) }))) (if_statement "if (*(int *)(puVar14 + 8) == 0) {\n        pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        pcVar13 = input->out_file_name;\n        piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n        pcVar11 = rpl_strerror(*piVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(pcVar5,pcVar13,pcVar11);\n      }" if (parenthesized_expression "(*(int *)(puVar14 + 8) == 0)" ( (binary_expression "*(int *)(puVar14 + 8) == 0" (pointer_expression "*(int *)(puVar14 + 8)" * (cast_expression "(int *)(puVar14 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 8)" ( (binary_expression "puVar14 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        pcVar13 = input->out_file_name;\n        piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n        pcVar11 = rpl_strerror(*piVar9);\n                    /* WARNING: Subroutine does not return */\n        panic(pcVar5,pcVar13,pcVar11);\n      }" { (expression_statement "pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);" (assignment_expression "pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x388c,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x388c" identifier + number_literal) , number_literal ))))) ;) (expression_statement "pcVar13 = input->out_file_name;" (assignment_expression "pcVar13 = input->out_file_name" identifier = (field_expression "input->out_file_name" identifier -> field_identifier)) ;) (expression_statement "piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar11 = rpl_strerror(*piVar9);" (assignment_expression "pcVar11 = rpl_strerror(*piVar9)" identifier = (call_expression "rpl_strerror(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) comment (expression_statement "panic(pcVar5,pcVar13,pcVar11);" (call_expression "panic(pcVar5,pcVar13,pcVar11)" identifier (argument_list "(pcVar5,pcVar13,pcVar11)" ( identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_000180b0;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      pcVar5 = follow_symlink(name);\n      input->in_file_name = pcVar5;\n    }\n    piVar9 = (int *)PTR_in_place_extension_0003f1d0;\n    pFVar4 = ck_fopen(name,*(char **)PTR_read_mode_0003f1dc,0);\n    input->fp = pFVar4;\n    if (pFVar4 != (FILE *)0x0) goto LAB_00017f98;\n    piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n    pcVar5 = rpl_strerror(*piVar9);\n    uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar15,1,uVar7,*(undefined4 *)PTR_program_name_0003f17c,name,pcVar5);\n    input->bad_count = input->bad_count + 1;\n    input->read_fn = (_func__Bool_input_ptr *)(PTR_0003f174 + 0x7c80);\nLAB_000180b0:\n    if (iStack_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" else (compound_statement "{\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      pcVar5 = follow_symlink(name);\n      input->in_file_name = pcVar5;\n    }\n    piVar9 = (int *)PTR_in_place_extension_0003f1d0;\n    pFVar4 = ck_fopen(name,*(char **)PTR_read_mode_0003f1dc,0);\n    input->fp = pFVar4;\n    if (pFVar4 != (FILE *)0x0) goto LAB_00017f98;\n    piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n    pcVar5 = rpl_strerror(*piVar9);\n    uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar15,1,uVar7,*(undefined4 *)PTR_program_name_0003f17c,name,pcVar5);\n    input->bad_count = input->bad_count + 1;\n    input->read_fn = (_func__Bool_input_ptr *)(PTR_0003f174 + 0x7c80);\nLAB_000180b0:\n    if (iStack_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" { (labeled_statement "LAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      pcVar5 = follow_symlink(name);\n      input->in_file_name = pcVar5;\n    }" statement_identifier : (if_statement "if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      pcVar5 = follow_symlink(name);\n      input->in_file_name = pcVar5;\n    }" if (parenthesized_expression "(*PTR_follow_symlinks_0003f1e4 != '\0')" ( (binary_expression "*PTR_follow_symlinks_0003f1e4 != '\0'" (pointer_expression "*PTR_follow_symlinks_0003f1e4" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar5 = follow_symlink(name);\n      input->in_file_name = pcVar5;\n    }" { (expression_statement "pcVar5 = follow_symlink(name);" (assignment_expression "pcVar5 = follow_symlink(name)" identifier = (call_expression "follow_symlink(name)" identifier (argument_list "(name)" ( identifier )))) ;) (expression_statement "input->in_file_name = pcVar5;" (assignment_expression "input->in_file_name = pcVar5" (field_expression "input->in_file_name" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "piVar9 = (int *)PTR_in_place_extension_0003f1d0;" (assignment_expression "piVar9 = (int *)PTR_in_place_extension_0003f1d0" identifier = (cast_expression "(int *)PTR_in_place_extension_0003f1d0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pFVar4 = ck_fopen(name,*(char **)PTR_read_mode_0003f1dc,0);" (assignment_expression "pFVar4 = ck_fopen(name,*(char **)PTR_read_mode_0003f1dc,0)" identifier = (call_expression "ck_fopen(name,*(char **)PTR_read_mode_0003f1dc,0)" identifier (argument_list "(name,*(char **)PTR_read_mode_0003f1dc,0)" ( identifier , (pointer_expression "*(char **)PTR_read_mode_0003f1dc" * (cast_expression "(char **)PTR_read_mode_0003f1dc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , number_literal )))) ;) (expression_statement "input->fp = pFVar4;" (assignment_expression "input->fp = pFVar4" (field_expression "input->fp" identifier -> field_identifier) = identifier) ;) (if_statement "if (pFVar4 != (FILE *)0x0) goto LAB_00017f98;" if (parenthesized_expression "(pFVar4 != (FILE *)0x0)" ( (binary_expression "pFVar4 != (FILE *)0x0" identifier != (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00017f98;" goto statement_identifier ;)) (expression_statement "piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "piVar9 = (int *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar5 = rpl_strerror(*piVar9);" (assignment_expression "pcVar5 = rpl_strerror(*piVar9)" identifier = (call_expression "rpl_strerror(*piVar9)" identifier (argument_list "(*piVar9)" ( (pointer_expression "*piVar9" * identifier) )))) ;) (expression_statement "uVar15 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar15 = *(undefined4 *)PTR_stderr_0003f4e0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" * (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x3968,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x3968" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)\n              (uVar15,1,uVar7,*(undefined4 *)PTR_program_name_0003f17c,name,pcVar5);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)\n              (uVar15,1,uVar7,*(undefined4 *)PTR_program_name_0003f17c,name,pcVar5)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" * (cast_expression "(code *)PTR___fprintf_chk_0003f390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar15,1,uVar7,*(undefined4 *)PTR_program_name_0003f17c,name,pcVar5)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" * (cast_expression "(undefined4 *)PTR_program_name_0003f17c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , identifier ))) ;) (expression_statement "input->bad_count = input->bad_count + 1;" (assignment_expression "input->bad_count = input->bad_count + 1" (field_expression "input->bad_count" identifier -> field_identifier) = (binary_expression "input->bad_count + 1" (field_expression "input->bad_count" identifier -> field_identifier) + number_literal)) ;) (expression_statement "input->read_fn = (_func__Bool_input_ptr *)(PTR_0003f174 + 0x7c80);" (assignment_expression "input->read_fn = (_func__Bool_input_ptr *)(PTR_0003f174 + 0x7c80)" (field_expression "input->read_fn" identifier -> field_identifier) = (cast_expression "(_func__Bool_input_ptr *)(PTR_0003f174 + 0x7c80)" ( (type_descriptor "_func__Bool_input_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_0003f174 + 0x7c80)" ( (binary_expression "PTR_0003f174 + 0x7c80" identifier + number_literal) )))) ;) (labeled_statement "LAB_000180b0:\n    if (iStack_2c == *(int *)puVar1) {\n      return;\n    }" statement_identifier : (if_statement "if (iStack_2c == *(int *)puVar1) {\n      return;\n    }" if (parenthesized_expression "(iStack_2c == *(int *)puVar1)" ( (binary_expression "iStack_2c == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (expression_statement "(*(code *)PTR___stack_chk_fail_0003f4ac)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003f4ac)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003f4ac)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0003f4ac" * (cast_expression "(code *)PTR___stack_chk_fail_0003f4ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "puVar12 = PTR_DAT_0003f178 + -0x3950;" (assignment_expression "puVar12 = PTR_DAT_0003f178 + -0x3950" identifier = (binary_expression "PTR_DAT_0003f178 + -0x3950" identifier + number_literal)) ;) (labeled_statement "LAB_00018410:\n  pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,puVar12,5);" statement_identifier : (expression_statement "pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,puVar12,5);" (assignment_expression "pcVar5 = (char *)(*(code *)PTR_dcgettext_0003f4b4)(0,puVar12,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_0003f4b4)(0,puVar12,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,puVar12,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar12,5)" ( number_literal , identifier , number_literal ))))) ;)) comment (expression_statement "panic(pcVar5,input->in_file_name);" (call_expression "panic(pcVar5,input->in_file_name)" identifier (argument_list "(pcVar5,input->in_file_name)" ( identifier , (field_expression "input->in_file_name" identifier -> field_identifier) ))) ;) })))
(translation_unit "void FUN_00017ef8(char *param_1,int param_2)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;\n  *(char **)(param_2 + 0x18) = param_1;\n  puVar1 = PTR___stack_chk_guard_0003f4cc;\n  puVar11 = PTR_stdin_0003f40c;\n  piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;\n  if ((*param_1 == '-') && (param_1[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }\n  puVar11 = PTR_DAT_0003f178 + -0x3950;\nLAB_00018410:\n  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);\n                    \n  panic(uVar6,*(undefined4 *)(param_2 + 0x18));\n}\n\n" (function_definition "void FUN_00017ef8(char *param_1,int param_2)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;\n  *(char **)(param_2 + 0x18) = param_1;\n  puVar1 = PTR___stack_chk_guard_0003f4cc;\n  puVar11 = PTR_stdin_0003f40c;\n  piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;\n  if ((*param_1 == '-') && (param_1[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }\n  puVar11 = PTR_DAT_0003f178 + -0x3950;\nLAB_00018410:\n  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);\n                    \n  panic(uVar6,*(undefined4 *)(param_2 + 0x18));\n}" primitive_type (function_declarator "FUN_00017ef8(char *param_1,int param_2)" identifier (parameter_list "(char *param_1,int param_2)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;\n  *(char **)(param_2 + 0x18) = param_1;\n  puVar1 = PTR___stack_chk_guard_0003f4cc;\n  puVar11 = PTR_stdin_0003f40c;\n  piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;\n  if ((*param_1 == '-') && (param_1[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }\n  puVar11 = PTR_DAT_0003f178 + -0x3950;\nLAB_00018410:\n  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);\n                    \n  panic(uVar6,*(undefined4 *)(param_2 + 0x18));\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined1 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc)" * (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x9dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x9dc)" ( (binary_expression "PTR___progname_0003f168 + -0x9dc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(param_2 + 0x18) = param_1;" (assignment_expression "*(char **)(param_2 + 0x18) = param_1" (pointer_expression "*(char **)(param_2 + 0x18)" * (cast_expression "(char **)(param_2 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar1 = PTR___stack_chk_guard_0003f4cc;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0003f4cc" identifier = identifier) ;) (expression_statement "puVar11 = PTR_stdin_0003f40c;" (assignment_expression "puVar11 = PTR_stdin_0003f40c" identifier = identifier) ;) (expression_statement "piVar7 = (int *)PTR_in_place_extension_0003f1d0;" (assignment_expression "piVar7 = (int *)PTR_in_place_extension_0003f1d0" identifier = (cast_expression "(int *)PTR_in_place_extension_0003f1d0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0003f4cc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0003f4cc" * (cast_expression "(int *)PTR___stack_chk_guard_0003f4cc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((*param_1 == '-') && (param_1[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" if (parenthesized_expression "((*param_1 == '-') && (param_1[1] == '\0'))" ( (binary_expression "(*param_1 == '-') && (param_1[1] == '\0')" (parenthesized_expression "(*param_1 == '-')" ( (binary_expression "*param_1 == '-'" (pointer_expression "*param_1" * identifier) == (char_literal "'-'" ' character ')) )) && (parenthesized_expression "(param_1[1] == '\0')" ( (binary_expression "param_1[1] == '\0'" (subscript_expression "param_1[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }" { (if_statement "if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;" if (parenthesized_expression "(*(int *)PTR_in_place_extension_0003f1d0 != 0)" ( (binary_expression "*(int *)PTR_in_place_extension_0003f1d0 != 0" (pointer_expression "*(int *)PTR_in_place_extension_0003f1d0" * (cast_expression "(int *)PTR_in_place_extension_0003f1d0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (goto_statement "goto LAB_00017f64;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);" (call_expression "(*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c)" (parenthesized_expression "(*(code *)PTR_clearerr_unlocked_0003f3c0)" ( (pointer_expression "*(code *)PTR_clearerr_unlocked_0003f3c0" * (cast_expression "(code *)PTR_clearerr_unlocked_0003f3c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_stdin_0003f40c)" ( (pointer_expression "*(undefined4 *)PTR_stdin_0003f40c" * (cast_expression "(undefined4 *)PTR_stdin_0003f40c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "*(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;" (assignment_expression "*(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11" (pointer_expression "*(undefined4 *)(param_2 + 0xc0)" * (cast_expression "(undefined4 *)(param_2 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)puVar11" * (cast_expression "(undefined4 *)puVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (labeled_statement "LAB_00017f98:\n    iVar3 = *piVar7;" statement_identifier : (expression_statement "iVar3 = *piVar7;" (assignment_expression "iVar3 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;)) (expression_statement "*(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;" (assignment_expression "*(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0" (pointer_expression "*(undefined **)(param_2 + 0x10)" * (cast_expression "(undefined **)(param_2 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) = (binary_expression "PTR_LAB_0003f180 + -0x76a0" identifier + number_literal)) ;) (if_statement "if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }" { (if_statement "if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }" if (parenthesized_expression "((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0'))" ( (binary_expression "(*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')" (parenthesized_expression "(*(int *)(param_2 + 0xc0) != 0)" ( (binary_expression "*(int *)(param_2 + 0xc0) != 0" (pointer_expression "*(int *)(param_2 + 0xc0)" * (cast_expression "(int *)(param_2 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*PTR_unbuffered_0003f1bc != '\0')" ( (binary_expression "*PTR_unbuffered_0003f1bc != '\0'" (pointer_expression "*PTR_unbuffered_0003f1bc" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }" { (expression_statement "(*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);" (call_expression "(*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0)" (parenthesized_expression "(*(code *)PTR_setvbuf_0003f3fc)" ( (pointer_expression "*(code *)PTR_setvbuf_0003f3fc" * (cast_expression "(code *)PTR_setvbuf_0003f3fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_2 + 0xc0),0,2,0)" ( (pointer_expression "*(int *)(param_2 + 0xc0)" * (cast_expression "(int *)(param_2 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) , number_literal , number_literal , number_literal ))) ;) })) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c)" * (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x96c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" ( (binary_expression "PTR___progname_0003f168 + -0x96c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)PTR_stdout_0003f3dc" * (cast_expression "(undefined4 *)PTR_stdout_0003f3dc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (goto_statement "goto LAB_000180b0;" goto statement_identifier ;) })) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));" (assignment_expression "puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18))" identifier = (cast_expression "(undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "xstrdup(*(undefined4 *)(param_2 + 0x18))" identifier (argument_list "(*(undefined4 *)(param_2 + 0x18))" ( (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) ))))) ;) (expression_statement "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);" (assignment_expression "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f)" (parenthesized_expression "(*(code *)PTR_strrchr_0003f3bc)" ( (pointer_expression "*(code *)PTR_strrchr_0003f3bc" * (cast_expression "(code *)PTR_strrchr_0003f3bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4,0x2f)" ( identifier , number_literal ))))) ;) (if_statement "if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }" if (parenthesized_expression "(puVar5 == (undefined1 *)0x0)" ( (binary_expression "puVar5 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }" { (expression_statement "puVar4[1] = 0;" (assignment_expression "puVar4[1] = 0" (subscript_expression "puVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar4 = 0x2e;" (assignment_expression "*puVar4 = 0x2e" (pointer_expression "*puVar4" * identifier) = number_literal) ;) }) (else_clause "else {\n      *puVar5 = 0;\n    }" else (compound_statement "{\n      *puVar5 = 0;\n    }" { (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) }))) (expression_statement "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));" (assignment_expression "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" identifier = (call_expression "(*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" (parenthesized_expression "(*(code *)PTR_fileno_0003f3e4)" ( (pointer_expression "*(code *)PTR_fileno_0003f3e4" * (cast_expression "(code *)PTR_fileno_0003f3e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_2 + 0xc0))" ( (pointer_expression "*(undefined4 *)(param_2 + 0xc0)" * (cast_expression "(undefined4 *)(param_2 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) )))) ;) (expression_statement "iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);" (assignment_expression "iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6)" identifier = (call_expression "(*(code *)PTR_isatty_0003f374)(uVar6)" (parenthesized_expression "(*(code *)PTR_isatty_0003f374)" ( (pointer_expression "*(code *)PTR_isatty_0003f374" * (cast_expression "(code *)PTR_isatty_0003f374" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }" { (expression_statement "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));" (assignment_expression "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" identifier = (call_expression "(*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" (parenthesized_expression "(*(code *)PTR_fileno_0003f3e4)" ( (pointer_expression "*(code *)PTR_fileno_0003f3e4" * (cast_expression "(code *)PTR_fileno_0003f3e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_2 + 0xc0))" ( (pointer_expression "*(undefined4 *)(param_2 + 0xc0)" * (cast_expression "(undefined4 *)(param_2 + 0xc0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) )))) ;) (expression_statement "(*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);" (call_expression "(*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20)" (parenthesized_expression "(*(code *)PTR___fxstat64_0003f480)" ( (pointer_expression "*(code *)PTR___fxstat64_0003f480" * (cast_expression "(code *)PTR___fxstat64_0003f480" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,uVar6,param_2 + 0x20)" ( number_literal , identifier , (binary_expression "param_2 + 0x20" identifier + number_literal) ))) ;) (if_statement "if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }" if (parenthesized_expression "((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000)" ( (binary_expression "(*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000" (parenthesized_expression "(*(uint *)(param_2 + 0x38) & 0xf000)" ( (binary_expression "*(uint *)(param_2 + 0x38) & 0xf000" (pointer_expression "*(uint *)(param_2 + 0x38)" * (cast_expression "(uint *)(param_2 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x38)" ( (binary_expression "param_2 + 0x38" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }" { (expression_statement "puVar11 = PTR_DAT_0003f178 + -0x3930;" (assignment_expression "puVar11 = PTR_DAT_0003f178 + -0x3930" identifier = (binary_expression "PTR_DAT_0003f178 + -0x3930" identifier + number_literal)) ;) (goto_statement "goto LAB_00018410;" goto statement_identifier ;) })) (expression_statement "iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();" (assignment_expression "iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)()" identifier = (call_expression "(*(code *)PTR_is_selinux_enabled_0003f4f8)()" (parenthesized_expression "(*(code *)PTR_is_selinux_enabled_0003f4f8)" ( (pointer_expression "*(code *)PTR_is_selinux_enabled_0003f4f8" * (cast_expression "(code *)PTR_is_selinux_enabled_0003f4f8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }" if (parenthesized_expression "(iVar3 < 1)" ( (binary_expression "iVar3 < 1" identifier < number_literal) )) (compound_statement "{\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }" { (labeled_statement "LAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);" statement_identifier : (expression_statement "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);" (assignment_expression "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" identifier = (call_expression "ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" identifier (argument_list "(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003f178 + -0x2cc0" identifier + number_literal) , (pointer_expression "*(undefined4 *)PTR_write_mode_0003f1e0" * (cast_expression "(undefined4 *)PTR_write_mode_0003f1e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;)) (expression_statement "puVar11 = PTR___progname_0003f168;" (assignment_expression "puVar11 = PTR___progname_0003f168" identifier = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "uVar10 = *(undefined4 *)(param_2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x14)" * (cast_expression "(undefined4 *)(param_2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puVar13 = PTR___progname_0003f168 + -0x974;" (assignment_expression "puVar13 = PTR___progname_0003f168 + -0x974" identifier = (binary_expression "PTR___progname_0003f168 + -0x974" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c)" * (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x96c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" ( (binary_expression "PTR___progname_0003f168 + -0x96c" identifier + number_literal) )))) = identifier) ;) (expression_statement "register_cleanup_file(uVar10);" (call_expression "register_cleanup_file(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "puVar2 = PTR_free_0003f4d8;" (assignment_expression "puVar2 = PTR_free_0003f4d8" identifier = identifier) ;) (expression_statement "puVar11[-0x970] = 0;" (assignment_expression "puVar11[-0x970] = 0" (subscript_expression "puVar11[-0x970]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*(code *)puVar2)(puVar4);" (call_expression "(*(code *)puVar2)(puVar4)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4)" ( identifier ))) ;) }) (else_clause "else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }" else (compound_statement "{\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }" { (expression_statement "iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);" (assignment_expression "iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30)" identifier = (call_expression "rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30)" identifier (argument_list "(*(undefined4 *)(param_2 + 0x18),&local_30)" ( (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) , (pointer_expression "&local_30" & identifier) )))) ;) (if_statement "if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (compound_statement "{\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }" { (expression_statement "piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }" if (parenthesized_expression "(*piVar7 != 0x59)" ( (binary_expression "*piVar7 != 0x59" (pointer_expression "*piVar7" * identifier) != number_literal) )) (compound_statement "{\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }" { (expression_statement "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" * (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x38c4,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x38c4" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar12 = *(undefined4 *)(param_2 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(param_2 + 0x18)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(undefined4 *)PTR_program_name_0003f17c;" (assignment_expression "uVar15 = *(undefined4 *)PTR_program_name_0003f17c" identifier = (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" * (cast_expression "(undefined4 *)PTR_program_name_0003f17c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = rpl_strerror(*piVar7);" (assignment_expression "uVar10 = rpl_strerror(*piVar7)" identifier = (call_expression "rpl_strerror(*piVar7)" identifier (argument_list "(*piVar7)" ( (pointer_expression "*piVar7" * identifier) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" * (cast_expression "(code *)PTR___fprintf_chk_0003f390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar14,1,uVar6,uVar15,uVar12,uVar10)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_00018050;" goto statement_identifier ;) })) (expression_statement "iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);" (assignment_expression "iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34)" identifier = (call_expression "(*(code *)PTR_getfscreatecon_0003f378)(&local_34)" (parenthesized_expression "(*(code *)PTR_getfscreatecon_0003f378)" ( (pointer_expression "*(code *)PTR_getfscreatecon_0003f378" * (cast_expression "(code *)PTR_getfscreatecon_0003f378" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_34)" ( (pointer_expression "&local_34" & identifier) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);" (assignment_expression "iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30)" identifier = (call_expression "(*(code *)PTR_setfscreatecon_0003f414)(local_30)" (parenthesized_expression "(*(code *)PTR_setfscreatecon_0003f414)" ( (pointer_expression "*(code *)PTR_setfscreatecon_0003f414" * (cast_expression "(code *)PTR_setfscreatecon_0003f414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (if_statement "if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }" if (parenthesized_expression "(iVar8 < 0)" ( (binary_expression "iVar8 < 0" identifier < number_literal) )) (compound_statement "{\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }" { (expression_statement "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" * (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x3908,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x3908" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar6 = local_30;" (assignment_expression "uVar6 = local_30" identifier = identifier) ;) (expression_statement "uVar15 = *(undefined4 *)PTR_program_name_0003f17c;" (assignment_expression "uVar15 = *(undefined4 *)PTR_program_name_0003f17c" identifier = (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" * (cast_expression "(undefined4 *)PTR_program_name_0003f17c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar12 = rpl_strerror(*puVar9);" (assignment_expression "uVar12 = rpl_strerror(*puVar9)" identifier = (call_expression "rpl_strerror(*puVar9)" identifier (argument_list "(*puVar9)" ( (pointer_expression "*puVar9" * identifier) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" * (cast_expression "(code *)PTR___fprintf_chk_0003f390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar14,1,uVar10,uVar15,uVar6,uVar12)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "(*(code *)PTR_freecon_0003f3a0)(local_30);" (call_expression "(*(code *)PTR_freecon_0003f3a0)(local_30)" (parenthesized_expression "(*(code *)PTR_freecon_0003f3a0)" ( (pointer_expression "*(code *)PTR_freecon_0003f3a0" * (cast_expression "(code *)PTR_freecon_0003f3a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier ))) ;) (expression_statement "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);" (assignment_expression "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" identifier = (call_expression "ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" identifier (argument_list "(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_0003f178 + -0x2cc0" identifier + number_literal) , (pointer_expression "*(undefined4 *)PTR_write_mode_0003f1e0" * (cast_expression "(undefined4 *)PTR_write_mode_0003f1e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "puVar11 = PTR___progname_0003f168;" (assignment_expression "puVar11 = PTR___progname_0003f168" identifier = identifier) ;) (expression_statement "uVar10 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "uVar10 = *(undefined4 *)(param_2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x14)" * (cast_expression "(undefined4 *)(param_2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puVar13 = PTR___progname_0003f168 + -0x974;" (assignment_expression "puVar13 = PTR___progname_0003f168 + -0x974" identifier = (binary_expression "PTR___progname_0003f168 + -0x974" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c)" * (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x96c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" ( (binary_expression "PTR___progname_0003f168 + -0x96c" identifier + number_literal) )))) = identifier) ;) (expression_statement "register_cleanup_file(uVar10);" (call_expression "register_cleanup_file(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (expression_statement "puVar2 = PTR_free_0003f4d8;" (assignment_expression "puVar2 = PTR_free_0003f4d8" identifier = identifier) ;) (expression_statement "puVar11[-0x970] = 0;" (assignment_expression "puVar11[-0x970] = 0" (subscript_expression "puVar11[-0x970]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*(code *)puVar2)(puVar4);" (call_expression "(*(code *)puVar2)(puVar4)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4)" ( identifier ))) ;) (if_statement "if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }" { (expression_statement "(*(code *)PTR_setfscreatecon_0003f414)(local_34);" (call_expression "(*(code *)PTR_setfscreatecon_0003f414)(local_34)" (parenthesized_expression "(*(code *)PTR_setfscreatecon_0003f414)" ( (pointer_expression "*(code *)PTR_setfscreatecon_0003f414" * (cast_expression "(code *)PTR_setfscreatecon_0003f414" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_34)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_freecon_0003f3a0)(local_34);" (call_expression "(*(code *)PTR_freecon_0003f3a0)(local_34)" (parenthesized_expression "(*(code *)PTR_freecon_0003f3a0)" ( (pointer_expression "*(code *)PTR_freecon_0003f3a0" * (cast_expression "(code *)PTR_freecon_0003f3a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_34)" ( identifier ))) ;) })) }))) (if_statement "if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }" if (parenthesized_expression "(*(int *)(puVar13 + 8) == 0)" ( (binary_expression "*(int *)(puVar13 + 8) == 0" (pointer_expression "*(int *)(puVar13 + 8)" * (cast_expression "(int *)(puVar13 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 8)" ( (binary_expression "puVar13 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }" { (expression_statement "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x388c,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x388c" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar12 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "uVar12 = *(undefined4 *)(param_2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x14)" * (cast_expression "(undefined4 *)(param_2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar10 = rpl_strerror(*puVar9);" (assignment_expression "uVar10 = rpl_strerror(*puVar9)" identifier = (call_expression "rpl_strerror(*puVar9)" identifier (argument_list "(*puVar9)" ( (pointer_expression "*puVar9" * identifier) )))) ;) (expression_statement "panic(uVar6,uVar12,uVar10);" (call_expression "panic(uVar6,uVar12,uVar10)" identifier (argument_list "(uVar6,uVar12,uVar10)" ( identifier , identifier , identifier ))) ;) })) (goto_statement "goto LAB_000180b0;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" else (compound_statement "{\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" { (labeled_statement "LAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }" statement_identifier : (if_statement "if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }" if (parenthesized_expression "(*PTR_follow_symlinks_0003f1e4 != '\0')" ( (binary_expression "*PTR_follow_symlinks_0003f1e4 != '\0'" (pointer_expression "*PTR_follow_symlinks_0003f1e4" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }" { (expression_statement "uVar6 = follow_symlink(param_1);" (assignment_expression "uVar6 = follow_symlink(param_1)" identifier = (call_expression "follow_symlink(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*(undefined4 *)(param_2 + 0x18) = uVar6;" (assignment_expression "*(undefined4 *)(param_2 + 0x18) = uVar6" (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "piVar7 = (int *)PTR_in_place_extension_0003f1d0;" (assignment_expression "piVar7 = (int *)PTR_in_place_extension_0003f1d0" identifier = (cast_expression "(int *)PTR_in_place_extension_0003f1d0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);" (assignment_expression "iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0)" identifier = (call_expression "ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0)" identifier (argument_list "(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0)" ( identifier , (pointer_expression "*(undefined4 *)PTR_read_mode_0003f1dc" * (cast_expression "(undefined4 *)PTR_read_mode_0003f1dc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal )))) ;) (expression_statement "*(int *)(param_2 + 0xc0) = iVar3;" (assignment_expression "*(int *)(param_2 + 0xc0) = iVar3" (pointer_expression "*(int *)(param_2 + 0xc0)" * (cast_expression "(int *)(param_2 + 0xc0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc0)" ( (binary_expression "param_2 + 0xc0" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar3 != 0) goto LAB_00017f98;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00017f98;" goto statement_identifier ;)) (expression_statement "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" ( (pointer_expression "*(code *)PTR___errno_location_0003f3ec" * (cast_expression "(code *)PTR___errno_location_0003f3ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar6 = rpl_strerror(*puVar9);" (assignment_expression "uVar6 = rpl_strerror(*puVar9)" identifier = (call_expression "rpl_strerror(*puVar9)" identifier (argument_list "(*puVar9)" ( (pointer_expression "*puVar9" * identifier) )))) ;) (expression_statement "uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar12 = *(undefined4 *)PTR_stderr_0003f4e0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" * (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_0003f178 + -0x3968,5)" ( number_literal , (binary_expression "PTR_DAT_0003f178 + -0x3968" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" ( (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" * (cast_expression "(code *)PTR___fprintf_chk_0003f390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" * (cast_expression "(undefined4 *)PTR_program_name_0003f17c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , identifier ))) ;) (expression_statement "*(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;" (assignment_expression "*(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1" (pointer_expression "*(int *)(param_2 + 4)" * (cast_expression "(int *)(param_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) = (binary_expression "*(int *)(param_2 + 4) + 1" (pointer_expression "*(int *)(param_2 + 4)" * (cast_expression "(int *)(param_2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;" (assignment_expression "*(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80" (pointer_expression "*(undefined **)(param_2 + 0x10)" * (cast_expression "(undefined **)(param_2 + 0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) = (binary_expression "PTR_0003f174 + 0x7c80" identifier + number_literal)) ;) (labeled_statement "LAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar1) {\n      return;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar1)" ( (binary_expression "local_2c == *(int *)puVar1" identifier == (pointer_expression "*(int *)puVar1" * (cast_expression "(int *)puVar1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (expression_statement "(*(code *)PTR___stack_chk_fail_0003f4ac)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003f4ac)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003f4ac)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0003f4ac" * (cast_expression "(code *)PTR___stack_chk_fail_0003f4ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (expression_statement "puVar11 = PTR_DAT_0003f178 + -0x3950;" (assignment_expression "puVar11 = PTR_DAT_0003f178 + -0x3950" identifier = (binary_expression "PTR_DAT_0003f178 + -0x3950" identifier + number_literal)) ;) (labeled_statement "LAB_00018410:\n  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);" statement_identifier : (expression_statement "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" ( (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" * (cast_expression "(code *)PTR_dcgettext_0003f4b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar11,5)" ( number_literal , identifier , number_literal )))) ;)) (expression_statement "panic(uVar6,*(undefined4 *)(param_2 + 0x18));" (call_expression "panic(uVar6,*(undefined4 *)(param_2 + 0x18))" identifier (argument_list "(uVar6,*(undefined4 *)(param_2 + 0x18))" ( identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x18)" * (cast_expression "(undefined4 *)(param_2 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) )))) ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT , LIT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT , 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 ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (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 = (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 = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })))
(function_definition "void FUN_00017ef8(char *param_1,int param_2)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;\n  *(char **)(param_2 + 0x18) = param_1;\n  puVar1 = PTR___stack_chk_guard_0003f4cc;\n  puVar11 = PTR_stdin_0003f40c;\n  piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;\n  if ((*param_1 == '-') && (param_1[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }\n  puVar11 = PTR_DAT_0003f178 + -0x3950;\nLAB_00018410:\n  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);\n                    \n  panic(uVar6,*(undefined4 *)(param_2 + 0x18));\n}" (primitive_type "void") (function_declarator "FUN_00017ef8(char *param_1,int param_2)" (identifier "FUN_00017ef8") (parameter_list "(char *param_1,int param_2)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  int iVar3;\n  undefined1 *puVar4;\n  undefined1 *puVar5;\n  undefined4 uVar6;\n  int *piVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;\n  *(char **)(param_2 + 0x18) = param_1;\n  puVar1 = PTR___stack_chk_guard_0003f4cc;\n  puVar11 = PTR_stdin_0003f40c;\n  piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n  local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;\n  if ((*param_1 == '-') && (param_1[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }\n  puVar11 = PTR_DAT_0003f178 + -0x3950;\nLAB_00018410:\n  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);\n                    \n  panic(uVar6,*(undefined4 *)(param_2 + 0x18));\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined1 *puVar4;" (type_identifier "undefined1") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined1 *puVar5;" (type_identifier "undefined1") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "undefined4 uVar15;" (type_identifier "undefined4") (identifier "uVar15") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x9dc)" (* "*") (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x9dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___progname_0003f168 + -0x9dc)" (( "(") (binary_expression "PTR___progname_0003f168 + -0x9dc" (identifier "PTR___progname_0003f168") (+ "+") (number_literal "-0x9dc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(char **)(param_2 + 0x18) = param_1;" (assignment_expression "*(char **)(param_2 + 0x18) = param_1" (pointer_expression "*(char **)(param_2 + 0x18)" (* "*") (cast_expression "(char **)(param_2 + 0x18)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "puVar1 = PTR___stack_chk_guard_0003f4cc;" (assignment_expression "puVar1 = PTR___stack_chk_guard_0003f4cc" (identifier "puVar1") (= "=") (identifier "PTR___stack_chk_guard_0003f4cc")) (; ";")) (expression_statement "puVar11 = PTR_stdin_0003f40c;" (assignment_expression "puVar11 = PTR_stdin_0003f40c" (identifier "puVar11") (= "=") (identifier "PTR_stdin_0003f40c")) (; ";")) (expression_statement "piVar7 = (int *)PTR_in_place_extension_0003f1d0;" (assignment_expression "piVar7 = (int *)PTR_in_place_extension_0003f1d0" (identifier "piVar7") (= "=") (cast_expression "(int *)PTR_in_place_extension_0003f1d0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_in_place_extension_0003f1d0"))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0003f4cc" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0003f4cc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0003f4cc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0003f4cc")))) (; ";")) (if_statement "if ((*param_1 == '-') && (param_1[1] == '\0')) {\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }\n  else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" (if "if") (parenthesized_expression "((*param_1 == '-') && (param_1[1] == '\0'))" (( "(") (binary_expression "(*param_1 == '-') && (param_1[1] == '\0')" (parenthesized_expression "(*param_1 == '-')" (( "(") (binary_expression "*param_1 == '-'" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(param_1[1] == '\0')" (( "(") (binary_expression "param_1[1] == '\0'" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;\n    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);\n    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;\nLAB_00017f98:\n    iVar3 = *piVar7;\n    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;\n    if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }\n    local_34 = 0;\n    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));\n    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);\n    if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }\n    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);\n    if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }\n  }" ({ "{") (if_statement "if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;" (if "if") (parenthesized_expression "(*(int *)PTR_in_place_extension_0003f1d0 != 0)" (( "(") (binary_expression "*(int *)PTR_in_place_extension_0003f1d0 != 0" (pointer_expression "*(int *)PTR_in_place_extension_0003f1d0" (* "*") (cast_expression "(int *)PTR_in_place_extension_0003f1d0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_in_place_extension_0003f1d0"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00017f64;" (goto "goto") (statement_identifier "LAB_00017f64") (; ";"))) (expression_statement "(*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);" (call_expression "(*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c)" (parenthesized_expression "(*(code *)PTR_clearerr_unlocked_0003f3c0)" (( "(") (pointer_expression "*(code *)PTR_clearerr_unlocked_0003f3c0" (* "*") (cast_expression "(code *)PTR_clearerr_unlocked_0003f3c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_clearerr_unlocked_0003f3c0"))) () ")")) (argument_list "(*(undefined4 *)PTR_stdin_0003f40c)" (( "(") (pointer_expression "*(undefined4 *)PTR_stdin_0003f40c" (* "*") (cast_expression "(undefined4 *)PTR_stdin_0003f40c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdin_0003f40c"))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;" (assignment_expression "*(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11" (pointer_expression "*(undefined4 *)(param_2 + 0xc0)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc0)" (( "(") (binary_expression "param_2 + 0xc0" (identifier "param_2") (+ "+") (number_literal "0xc0")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)puVar11" (* "*") (cast_expression "(undefined4 *)puVar11" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar11")))) (; ";")) (labeled_statement "LAB_00017f98:\n    iVar3 = *piVar7;" (statement_identifier "LAB_00017f98") (: ":") (expression_statement "iVar3 = *piVar7;" (assignment_expression "iVar3 = *piVar7" (identifier "iVar3") (= "=") (pointer_expression "*piVar7" (* "*") (identifier "piVar7"))) (; ";"))) (expression_statement "*(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;" (assignment_expression "*(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0" (pointer_expression "*(undefined **)(param_2 + 0x10)" (* "*") (cast_expression "(undefined **)(param_2 + 0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "PTR_LAB_0003f180 + -0x76a0" (identifier "PTR_LAB_0003f180") (+ "+") (number_literal "-0x76a0"))) (; ";")) (if_statement "if (iVar3 == 0) {\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }\n      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;\n      goto LAB_000180b0;\n    }" ({ "{") (if_statement "if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }" (if "if") (parenthesized_expression "((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0'))" (( "(") (binary_expression "(*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')" (parenthesized_expression "(*(int *)(param_2 + 0xc0) != 0)" (( "(") (binary_expression "*(int *)(param_2 + 0xc0) != 0" (pointer_expression "*(int *)(param_2 + 0xc0)" (* "*") (cast_expression "(int *)(param_2 + 0xc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc0)" (( "(") (binary_expression "param_2 + 0xc0" (identifier "param_2") (+ "+") (number_literal "0xc0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*PTR_unbuffered_0003f1bc != '\0')" (( "(") (binary_expression "*PTR_unbuffered_0003f1bc != '\0'" (pointer_expression "*PTR_unbuffered_0003f1bc" (* "*") (identifier "PTR_unbuffered_0003f1bc")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);\n      }" ({ "{") (expression_statement "(*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);" (call_expression "(*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0)" (parenthesized_expression "(*(code *)PTR_setvbuf_0003f3fc)" (( "(") (pointer_expression "*(code *)PTR_setvbuf_0003f3fc" (* "*") (cast_expression "(code *)PTR_setvbuf_0003f3fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_setvbuf_0003f3fc"))) () ")")) (argument_list "(*(int *)(param_2 + 0xc0),0,2,0)" (( "(") (pointer_expression "*(int *)(param_2 + 0xc0)" (* "*") (cast_expression "(int *)(param_2 + 0xc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc0)" (( "(") (binary_expression "param_2 + 0xc0" (identifier "param_2") (+ "+") (number_literal "0xc0")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "2") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c)" (* "*") (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x96c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" (( "(") (binary_expression "PTR___progname_0003f168 + -0x96c" (identifier "PTR___progname_0003f168") (+ "+") (number_literal "-0x96c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)PTR_stdout_0003f3dc" (* "*") (cast_expression "(undefined4 *)PTR_stdout_0003f3dc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_0003f3dc")))) (; ";")) (goto_statement "goto LAB_000180b0;" (goto "goto") (statement_identifier "LAB_000180b0") (; ";")) (} "}"))) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));" (assignment_expression "puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18))" (identifier "puVar4") (= "=") (cast_expression "(undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18))" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xstrdup(*(undefined4 *)(param_2 + 0x18))" (identifier "xstrdup") (argument_list "(*(undefined4 *)(param_2 + 0x18))" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0x18)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) () ")"))))) (; ";")) (expression_statement "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);" (assignment_expression "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f)" (identifier "puVar5") (= "=") (cast_expression "(undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f)" (parenthesized_expression "(*(code *)PTR_strrchr_0003f3bc)" (( "(") (pointer_expression "*(code *)PTR_strrchr_0003f3bc" (* "*") (cast_expression "(code *)PTR_strrchr_0003f3bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strrchr_0003f3bc"))) () ")")) (argument_list "(puVar4,0x2f)" (( "(") (identifier "puVar4") (, ",") (number_literal "0x2f") () ")"))))) (; ";")) (if_statement "if (puVar5 == (undefined1 *)0x0) {\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }\n    else {\n      *puVar5 = 0;\n    }" (if "if") (parenthesized_expression "(puVar5 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar5 == (undefined1 *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar4[1] = 0;\n      *puVar4 = 0x2e;\n    }" ({ "{") (expression_statement "puVar4[1] = 0;" (assignment_expression "puVar4[1] = 0" (subscript_expression "puVar4[1]" (identifier "puVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar4 = 0x2e;" (assignment_expression "*puVar4 = 0x2e" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (number_literal "0x2e")) (; ";")) (} "}")) (else_clause "else {\n      *puVar5 = 0;\n    }" (else "else") (compound_statement "{\n      *puVar5 = 0;\n    }" ({ "{") (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));" (assignment_expression "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" (parenthesized_expression "(*(code *)PTR_fileno_0003f3e4)" (( "(") (pointer_expression "*(code *)PTR_fileno_0003f3e4" (* "*") (cast_expression "(code *)PTR_fileno_0003f3e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fileno_0003f3e4"))) () ")")) (argument_list "(*(undefined4 *)(param_2 + 0xc0))" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0xc0)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc0)" (( "(") (binary_expression "param_2 + 0xc0" (identifier "param_2") (+ "+") (number_literal "0xc0")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);" (assignment_expression "iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_isatty_0003f374)(uVar6)" (parenthesized_expression "(*(code *)PTR_isatty_0003f374)" (( "(") (pointer_expression "*(code *)PTR_isatty_0003f374" (* "*") (cast_expression "(code *)PTR_isatty_0003f374" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_isatty_0003f374"))) () ")")) (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));\n      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);\n      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }\n      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();\n      if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }\n      if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }\n      goto LAB_000180b0;\n    }" ({ "{") (expression_statement "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));" (assignment_expression "uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0))" (parenthesized_expression "(*(code *)PTR_fileno_0003f3e4)" (( "(") (pointer_expression "*(code *)PTR_fileno_0003f3e4" (* "*") (cast_expression "(code *)PTR_fileno_0003f3e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fileno_0003f3e4"))) () ")")) (argument_list "(*(undefined4 *)(param_2 + 0xc0))" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0xc0)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0xc0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc0)" (( "(") (binary_expression "param_2 + 0xc0" (identifier "param_2") (+ "+") (number_literal "0xc0")) () ")")))) () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);" (call_expression "(*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20)" (parenthesized_expression "(*(code *)PTR___fxstat64_0003f480)" (( "(") (pointer_expression "*(code *)PTR___fxstat64_0003f480" (* "*") (cast_expression "(code *)PTR___fxstat64_0003f480" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fxstat64_0003f480"))) () ")")) (argument_list "(3,uVar6,param_2 + 0x20)" (( "(") (number_literal "3") (, ",") (identifier "uVar6") (, ",") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")"))) (; ";")) (if_statement "if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }" (if "if") (parenthesized_expression "((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000)" (( "(") (binary_expression "(*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000" (parenthesized_expression "(*(uint *)(param_2 + 0x38) & 0xf000)" (( "(") (binary_expression "*(uint *)(param_2 + 0x38) & 0xf000" (pointer_expression "*(uint *)(param_2 + 0x38)" (* "*") (cast_expression "(uint *)(param_2 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x38)" (( "(") (binary_expression "param_2 + 0x38" (identifier "param_2") (+ "+") (number_literal "0x38")) () ")")))) (& "&") (number_literal "0xf000")) () ")")) (!= "!=") (number_literal "0x8000")) () ")")) (compound_statement "{\n        puVar11 = PTR_DAT_0003f178 + -0x3930;\n        goto LAB_00018410;\n      }" ({ "{") (expression_statement "puVar11 = PTR_DAT_0003f178 + -0x3930;" (assignment_expression "puVar11 = PTR_DAT_0003f178 + -0x3930" (identifier "puVar11") (= "=") (binary_expression "PTR_DAT_0003f178 + -0x3930" (identifier "PTR_DAT_0003f178") (+ "+") (number_literal "-0x3930"))) (; ";")) (goto_statement "goto LAB_00018410;" (goto "goto") (statement_identifier "LAB_00018410") (; ";")) (} "}"))) (expression_statement "iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();" (assignment_expression "iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)()" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_is_selinux_enabled_0003f4f8)()" (parenthesized_expression "(*(code *)PTR_is_selinux_enabled_0003f4f8)" (( "(") (pointer_expression "*(code *)PTR_is_selinux_enabled_0003f4f8" (* "*") (cast_expression "(code *)PTR_is_selinux_enabled_0003f4f8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_is_selinux_enabled_0003f4f8"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 < 1) {\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }\n      else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }" (if "if") (parenthesized_expression "(iVar3 < 1)" (( "(") (binary_expression "iVar3 < 1" (identifier "iVar3") (< "<") (number_literal "1")) () ")")) (compound_statement "{\nLAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n      }" ({ "{") (labeled_statement "LAB_00018050:\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);" (statement_identifier "LAB_00018050") (: ":") (expression_statement "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);" (assignment_expression "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" (identifier "uVar6") (= "=") (call_expression "ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" (identifier "ck_mkstemp") (argument_list "(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) (, ",") (identifier "puVar4") (, ",") (binary_expression "PTR_DAT_0003f178 + -0x2cc0" (identifier "PTR_DAT_0003f178") (+ "+") (number_literal "-0x2cc0")) (, ",") (pointer_expression "*(undefined4 *)PTR_write_mode_0003f1e0" (* "*") (cast_expression "(undefined4 *)PTR_write_mode_0003f1e0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_write_mode_0003f1e0"))) () ")")))) (; ";"))) (expression_statement "puVar11 = PTR___progname_0003f168;" (assignment_expression "puVar11 = PTR___progname_0003f168" (identifier "puVar11") (= "=") (identifier "PTR___progname_0003f168")) (; ";")) (expression_statement "uVar10 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "uVar10 = *(undefined4 *)(param_2 + 0x14)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "puVar13 = PTR___progname_0003f168 + -0x974;" (assignment_expression "puVar13 = PTR___progname_0003f168 + -0x974" (identifier "puVar13") (= "=") (binary_expression "PTR___progname_0003f168 + -0x974" (identifier "PTR___progname_0003f168") (+ "+") (number_literal "-0x974"))) (; ";")) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c)" (* "*") (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x96c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" (( "(") (binary_expression "PTR___progname_0003f168 + -0x96c" (identifier "PTR___progname_0003f168") (+ "+") (number_literal "-0x96c")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "register_cleanup_file(uVar10);" (call_expression "register_cleanup_file(uVar10)" (identifier "register_cleanup_file") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "puVar2 = PTR_free_0003f4d8;" (assignment_expression "puVar2 = PTR_free_0003f4d8" (identifier "puVar2") (= "=") (identifier "PTR_free_0003f4d8")) (; ";")) (expression_statement "puVar11[-0x970] = 0;" (assignment_expression "puVar11[-0x970] = 0" (subscript_expression "puVar11[-0x970]" (identifier "puVar11") ([ "[") (number_literal "-0x970") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)puVar2)(puVar4);" (call_expression "(*(code *)puVar2)(puVar4)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }" (else "else") (compound_statement "{\n        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);\n        if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }\n        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);\n        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);\n        if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }\n        (*(code *)PTR_freecon_0003f3a0)(local_30);\n        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);\n        puVar11 = PTR___progname_0003f168;\n        uVar10 = *(undefined4 *)(param_2 + 0x14);\n        puVar13 = PTR___progname_0003f168 + -0x974;\n        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;\n        register_cleanup_file(uVar10);\n        puVar2 = PTR_free_0003f4d8;\n        puVar11[-0x970] = 0;\n        (*(code *)puVar2)(puVar4);\n        if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }\n      }" ({ "{") (expression_statement "iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);" (assignment_expression "iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30)" (identifier "iVar3") (= "=") (call_expression "rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30)" (identifier "rpl_lgetfilecon") (argument_list "(*(undefined4 *)(param_2 + 0x18),&local_30)" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0x18)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (if_statement "if (iVar3 == -1) {\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }" (if "if") (parenthesized_expression "(iVar3 == -1)" (( "(") (binary_expression "iVar3 == -1" (identifier "iVar3") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();\n          if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }\n          goto LAB_00018050;\n        }" ({ "{") (expression_statement "piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)()" (identifier "piVar7") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0003f3ec)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003f3ec" (* "*") (cast_expression "(code *)PTR___errno_location_0003f3ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003f3ec"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*piVar7 != 0x59) {\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }" (if "if") (parenthesized_expression "(*piVar7 != 0x59)" (( "(") (binary_expression "*piVar7 != 0x59" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (!= "!=") (number_literal "0x59")) () ")")) (compound_statement "{\n            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);\n            uVar12 = *(undefined4 *)(param_2 + 0x18);\n            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n            uVar10 = rpl_strerror(*piVar7);\n            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);\n          }" ({ "{") (expression_statement "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0" (identifier "uVar14") (= "=") (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" (* "*") (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_0003f4e0")))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" (* "*") (cast_expression "(code *)PTR_dcgettext_0003f4b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0003f4b4"))) () ")")) (argument_list "(0,PTR_DAT_0003f178 + -0x38c4,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_0003f178 + -0x38c4" (identifier "PTR_DAT_0003f178") (+ "+") (number_literal "-0x38c4")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(param_2 + 0x18);" (assignment_expression "uVar12 = *(undefined4 *)(param_2 + 0x18)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x18)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "uVar15 = *(undefined4 *)PTR_program_name_0003f17c;" (assignment_expression "uVar15 = *(undefined4 *)PTR_program_name_0003f17c" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" (* "*") (cast_expression "(undefined4 *)PTR_program_name_0003f17c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_program_name_0003f17c")))) (; ";")) (expression_statement "uVar10 = rpl_strerror(*piVar7);" (assignment_expression "uVar10 = rpl_strerror(*piVar7)" (identifier "uVar10") (= "=") (call_expression "rpl_strerror(*piVar7)" (identifier "rpl_strerror") (argument_list "(*piVar7)" (( "(") (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0003f390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0003f390"))) () ")")) (argument_list "(uVar14,1,uVar6,uVar15,uVar12,uVar10)" (( "(") (identifier "uVar14") (, ",") (number_literal "1") (, ",") (identifier "uVar6") (, ",") (identifier "uVar15") (, ",") (identifier "uVar12") (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00018050;" (goto "goto") (statement_identifier "LAB_00018050") (; ";")) (} "}"))) (expression_statement "iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);" (assignment_expression "iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_getfscreatecon_0003f378)(&local_34)" (parenthesized_expression "(*(code *)PTR_getfscreatecon_0003f378)" (( "(") (pointer_expression "*(code *)PTR_getfscreatecon_0003f378" (* "*") (cast_expression "(code *)PTR_getfscreatecon_0003f378" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_getfscreatecon_0003f378"))) () ")")) (argument_list "(&local_34)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) () ")")))) (; ";")) (expression_statement "iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);" (assignment_expression "iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_setfscreatecon_0003f414)(local_30)" (parenthesized_expression "(*(code *)PTR_setfscreatecon_0003f414)" (( "(") (pointer_expression "*(code *)PTR_setfscreatecon_0003f414" (* "*") (cast_expression "(code *)PTR_setfscreatecon_0003f414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_setfscreatecon_0003f414"))) () ")")) (argument_list "(local_30)" (( "(") (identifier "local_30") () ")")))) (; ";")) (if_statement "if (iVar8 < 0) {\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }" (if "if") (parenthesized_expression "(iVar8 < 0)" (( "(") (binary_expression "iVar8 < 0" (identifier "iVar8") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;\n          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);\n          uVar6 = local_30;\n          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;\n          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n          uVar12 = rpl_strerror(*puVar9);\n          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);\n        }" ({ "{") (expression_statement "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar14 = *(undefined4 *)PTR_stderr_0003f4e0" (identifier "uVar14") (= "=") (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" (* "*") (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_0003f4e0")))) (; ";")) (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" (* "*") (cast_expression "(code *)PTR_dcgettext_0003f4b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0003f4b4"))) () ")")) (argument_list "(0,PTR_DAT_0003f178 + -0x3908,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_0003f178 + -0x3908" (identifier "PTR_DAT_0003f178") (+ "+") (number_literal "-0x3908")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar6 = local_30;" (assignment_expression "uVar6 = local_30" (identifier "uVar6") (= "=") (identifier "local_30")) (; ";")) (expression_statement "uVar15 = *(undefined4 *)PTR_program_name_0003f17c;" (assignment_expression "uVar15 = *(undefined4 *)PTR_program_name_0003f17c" (identifier "uVar15") (= "=") (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" (* "*") (cast_expression "(undefined4 *)PTR_program_name_0003f17c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_program_name_0003f17c")))) (; ";")) (expression_statement "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003f3ec" (* "*") (cast_expression "(code *)PTR___errno_location_0003f3ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003f3ec"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar12 = rpl_strerror(*puVar9);" (assignment_expression "uVar12 = rpl_strerror(*puVar9)" (identifier "uVar12") (= "=") (call_expression "rpl_strerror(*puVar9)" (identifier "rpl_strerror") (argument_list "(*puVar9)" (( "(") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0003f390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0003f390"))) () ")")) (argument_list "(uVar14,1,uVar10,uVar15,uVar6,uVar12)" (( "(") (identifier "uVar14") (, ",") (number_literal "1") (, ",") (identifier "uVar10") (, ",") (identifier "uVar15") (, ",") (identifier "uVar6") (, ",") (identifier "uVar12") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_freecon_0003f3a0)(local_30);" (call_expression "(*(code *)PTR_freecon_0003f3a0)(local_30)" (parenthesized_expression "(*(code *)PTR_freecon_0003f3a0)" (( "(") (pointer_expression "*(code *)PTR_freecon_0003f3a0" (* "*") (cast_expression "(code *)PTR_freecon_0003f3a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_freecon_0003f3a0"))) () ")")) (argument_list "(local_30)" (( "(") (identifier "local_30") () ")"))) (; ";")) (expression_statement "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0);" (assignment_expression "uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" (identifier "uVar6") (= "=") (call_expression "ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" (identifier "ck_mkstemp") (argument_list "(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,\n                           *(undefined4 *)PTR_write_mode_0003f1e0)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) (, ",") (identifier "puVar4") (, ",") (binary_expression "PTR_DAT_0003f178 + -0x2cc0" (identifier "PTR_DAT_0003f178") (+ "+") (number_literal "-0x2cc0")) (, ",") (pointer_expression "*(undefined4 *)PTR_write_mode_0003f1e0" (* "*") (cast_expression "(undefined4 *)PTR_write_mode_0003f1e0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_write_mode_0003f1e0"))) () ")")))) (; ";")) (expression_statement "puVar11 = PTR___progname_0003f168;" (assignment_expression "puVar11 = PTR___progname_0003f168" (identifier "puVar11") (= "=") (identifier "PTR___progname_0003f168")) (; ";")) (expression_statement "uVar10 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "uVar10 = *(undefined4 *)(param_2 + 0x14)" (identifier "uVar10") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "puVar13 = PTR___progname_0003f168 + -0x974;" (assignment_expression "puVar13 = PTR___progname_0003f168 + -0x974" (identifier "puVar13") (= "=") (binary_expression "PTR___progname_0003f168 + -0x974" (identifier "PTR___progname_0003f168") (+ "+") (number_literal "-0x974"))) (; ";")) (expression_statement "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;" (assignment_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6" (pointer_expression "*(undefined4 *)(PTR___progname_0003f168 + -0x96c)" (* "*") (cast_expression "(undefined4 *)(PTR___progname_0003f168 + -0x96c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___progname_0003f168 + -0x96c)" (( "(") (binary_expression "PTR___progname_0003f168 + -0x96c" (identifier "PTR___progname_0003f168") (+ "+") (number_literal "-0x96c")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "register_cleanup_file(uVar10);" (call_expression "register_cleanup_file(uVar10)" (identifier "register_cleanup_file") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (expression_statement "puVar2 = PTR_free_0003f4d8;" (assignment_expression "puVar2 = PTR_free_0003f4d8" (identifier "puVar2") (= "=") (identifier "PTR_free_0003f4d8")) (; ";")) (expression_statement "puVar11[-0x970] = 0;" (assignment_expression "puVar11[-0x970] = 0" (subscript_expression "puVar11[-0x970]" (identifier "puVar11") ([ "[") (number_literal "-0x970") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)puVar2)(puVar4);" (call_expression "(*(code *)puVar2)(puVar4)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")"))) (; ";")) (if_statement "if (-1 < iVar3) {\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }" (if "if") (parenthesized_expression "(-1 < iVar3)" (( "(") (binary_expression "-1 < iVar3" (number_literal "-1") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n          (*(code *)PTR_setfscreatecon_0003f414)(local_34);\n          (*(code *)PTR_freecon_0003f3a0)(local_34);\n        }" ({ "{") (expression_statement "(*(code *)PTR_setfscreatecon_0003f414)(local_34);" (call_expression "(*(code *)PTR_setfscreatecon_0003f414)(local_34)" (parenthesized_expression "(*(code *)PTR_setfscreatecon_0003f414)" (( "(") (pointer_expression "*(code *)PTR_setfscreatecon_0003f414" (* "*") (cast_expression "(code *)PTR_setfscreatecon_0003f414" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_setfscreatecon_0003f414"))) () ")")) (argument_list "(local_34)" (( "(") (identifier "local_34") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_freecon_0003f3a0)(local_34);" (call_expression "(*(code *)PTR_freecon_0003f3a0)(local_34)" (parenthesized_expression "(*(code *)PTR_freecon_0003f3a0)" (( "(") (pointer_expression "*(code *)PTR_freecon_0003f3a0" (* "*") (cast_expression "(code *)PTR_freecon_0003f3a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_freecon_0003f3a0"))) () ")")) (argument_list "(local_34)" (( "(") (identifier "local_34") () ")"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (*(int *)(puVar13 + 8) == 0) {\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar13 + 8) == 0)" (( "(") (binary_expression "*(int *)(puVar13 + 8) == 0" (pointer_expression "*(int *)(puVar13 + 8)" (* "*") (cast_expression "(int *)(puVar13 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 8)" (( "(") (binary_expression "puVar13 + 8" (identifier "puVar13") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);\n        uVar12 = *(undefined4 *)(param_2 + 0x14);\n        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n        uVar10 = rpl_strerror(*puVar9);\n                    \n        panic(uVar6,uVar12,uVar10);\n      }" ({ "{") (expression_statement "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" (* "*") (cast_expression "(code *)PTR_dcgettext_0003f4b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0003f4b4"))) () ")")) (argument_list "(0,PTR_DAT_0003f178 + -0x388c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_0003f178 + -0x388c" (identifier "PTR_DAT_0003f178") (+ "+") (number_literal "-0x388c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(param_2 + 0x14);" (assignment_expression "uVar12 = *(undefined4 *)(param_2 + 0x14)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003f3ec" (* "*") (cast_expression "(code *)PTR___errno_location_0003f3ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003f3ec"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar10 = rpl_strerror(*puVar9);" (assignment_expression "uVar10 = rpl_strerror(*puVar9)" (identifier "uVar10") (= "=") (call_expression "rpl_strerror(*puVar9)" (identifier "rpl_strerror") (argument_list "(*puVar9)" (( "(") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) () ")")))) (; ";")) (expression_statement "panic(uVar6,uVar12,uVar10);" (call_expression "panic(uVar6,uVar12,uVar10)" (identifier "panic") (argument_list "(uVar6,uVar12,uVar10)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar12") (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000180b0;" (goto "goto") (statement_identifier "LAB_000180b0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" (else "else") (compound_statement "{\nLAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }\n    piVar7 = (int *)PTR_in_place_extension_0003f1d0;\n    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);\n    *(int *)(param_2 + 0xc0) = iVar3;\n    if (iVar3 != 0) goto LAB_00017f98;\n    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();\n    uVar6 = rpl_strerror(*puVar9);\n    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;\n    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);\n    (*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);\n    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;\n    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;\nLAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }\n    (*(code *)PTR___stack_chk_fail_0003f4ac)();\n  }" ({ "{") (labeled_statement "LAB_00017f64:\n    if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }" (statement_identifier "LAB_00017f64") (: ":") (if_statement "if (*PTR_follow_symlinks_0003f1e4 != '\0') {\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }" (if "if") (parenthesized_expression "(*PTR_follow_symlinks_0003f1e4 != '\0')" (( "(") (binary_expression "*PTR_follow_symlinks_0003f1e4 != '\0'" (pointer_expression "*PTR_follow_symlinks_0003f1e4" (* "*") (identifier "PTR_follow_symlinks_0003f1e4")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar6 = follow_symlink(param_1);\n      *(undefined4 *)(param_2 + 0x18) = uVar6;\n    }" ({ "{") (expression_statement "uVar6 = follow_symlink(param_1);" (assignment_expression "uVar6 = follow_symlink(param_1)" (identifier "uVar6") (= "=") (call_expression "follow_symlink(param_1)" (identifier "follow_symlink") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_2 + 0x18) = uVar6;" (assignment_expression "*(undefined4 *)(param_2 + 0x18) = uVar6" (pointer_expression "*(undefined4 *)(param_2 + 0x18)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (} "}")))) (expression_statement "piVar7 = (int *)PTR_in_place_extension_0003f1d0;" (assignment_expression "piVar7 = (int *)PTR_in_place_extension_0003f1d0" (identifier "piVar7") (= "=") (cast_expression "(int *)PTR_in_place_extension_0003f1d0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_in_place_extension_0003f1d0"))) (; ";")) (expression_statement "iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);" (assignment_expression "iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0)" (identifier "iVar3") (= "=") (call_expression "ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0)" (identifier "ck_fopen") (argument_list "(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0)" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(undefined4 *)PTR_read_mode_0003f1dc" (* "*") (cast_expression "(undefined4 *)PTR_read_mode_0003f1dc" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_read_mode_0003f1dc"))) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(int *)(param_2 + 0xc0) = iVar3;" (assignment_expression "*(int *)(param_2 + 0xc0) = iVar3" (pointer_expression "*(int *)(param_2 + 0xc0)" (* "*") (cast_expression "(int *)(param_2 + 0xc0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc0)" (( "(") (binary_expression "param_2 + 0xc0" (identifier "param_2") (+ "+") (number_literal "0xc0")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_00017f98;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00017f98;" (goto "goto") (statement_identifier "LAB_00017f98") (; ";"))) (expression_statement "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();" (assignment_expression "puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_0003f3ec)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0003f3ec)()" (parenthesized_expression "(*(code *)PTR___errno_location_0003f3ec)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0003f3ec" (* "*") (cast_expression "(code *)PTR___errno_location_0003f3ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0003f3ec"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar6 = rpl_strerror(*puVar9);" (assignment_expression "uVar6 = rpl_strerror(*puVar9)" (identifier "uVar6") (= "=") (call_expression "rpl_strerror(*puVar9)" (identifier "rpl_strerror") (argument_list "(*puVar9)" (( "(") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) () ")")))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;" (assignment_expression "uVar12 = *(undefined4 *)PTR_stderr_0003f4e0" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)PTR_stderr_0003f4e0" (* "*") (cast_expression "(undefined4 *)PTR_stderr_0003f4e0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_0003f4e0")))) (; ";")) (expression_statement "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" (* "*") (cast_expression "(code *)PTR_dcgettext_0003f4b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0003f4b4"))) () ")")) (argument_list "(0,PTR_DAT_0003f178 + -0x3968,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_0003f178 + -0x3968" (identifier "PTR_DAT_0003f178") (+ "+") (number_literal "-0x3968")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);" (call_expression "(*(code *)PTR___fprintf_chk_0003f390)\n              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_0003f390)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_0003f390" (* "*") (cast_expression "(code *)PTR___fprintf_chk_0003f390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_0003f390"))) () ")")) (argument_list "(uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6)" (( "(") (identifier "uVar12") (, ",") (number_literal "1") (, ",") (identifier "uVar10") (, ",") (pointer_expression "*(undefined4 *)PTR_program_name_0003f17c" (* "*") (cast_expression "(undefined4 *)PTR_program_name_0003f17c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_program_name_0003f17c"))) (, ",") (identifier "param_1") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "*(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;" (assignment_expression "*(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1" (pointer_expression "*(int *)(param_2 + 4)" (* "*") (cast_expression "(int *)(param_2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(int *)(param_2 + 4) + 1" (pointer_expression "*(int *)(param_2 + 4)" (* "*") (cast_expression "(int *)(param_2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;" (assignment_expression "*(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80" (pointer_expression "*(undefined **)(param_2 + 0x10)" (* "*") (cast_expression "(undefined **)(param_2 + 0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "PTR_0003f174 + 0x7c80" (identifier "PTR_0003f174") (+ "+") (number_literal "0x7c80"))) (; ";")) (labeled_statement "LAB_000180b0:\n    if (local_2c == *(int *)puVar1) {\n      return;\n    }" (statement_identifier "LAB_000180b0") (: ":") (if_statement "if (local_2c == *(int *)puVar1) {\n      return;\n    }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar1)" (( "(") (binary_expression "local_2c == *(int *)puVar1" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar1" (* "*") (cast_expression "(int *)puVar1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1")))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "(*(code *)PTR___stack_chk_fail_0003f4ac)();" (call_expression "(*(code *)PTR___stack_chk_fail_0003f4ac)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0003f4ac)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0003f4ac" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0003f4ac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0003f4ac"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar11 = PTR_DAT_0003f178 + -0x3950;" (assignment_expression "puVar11 = PTR_DAT_0003f178 + -0x3950" (identifier "puVar11") (= "=") (binary_expression "PTR_DAT_0003f178 + -0x3950" (identifier "PTR_DAT_0003f178") (+ "+") (number_literal "-0x3950"))) (; ";")) (labeled_statement "LAB_00018410:\n  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);" (statement_identifier "LAB_00018410") (: ":") (expression_statement "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_0003f4b4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_0003f4b4" (* "*") (cast_expression "(code *)PTR_dcgettext_0003f4b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_0003f4b4"))) () ")")) (argument_list "(0,puVar11,5)" (( "(") (number_literal "0") (, ",") (identifier "puVar11") (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "panic(uVar6,*(undefined4 *)(param_2 + 0x18));" (call_expression "panic(uVar6,*(undefined4 *)(param_2 + 0x18))" (identifier "panic") (argument_list "(uVar6,*(undefined4 *)(param_2 + 0x18))" (( "(") (identifier "uVar6") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x18)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")")))) () ")"))) (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) 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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (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) (binary_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (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 (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (identifier) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_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 (number_literal) (identifier) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))

void MASKED(char *param_1,int param_2)

{
  undefined *puVar1;
  undefined *puVar2;
  int iVar3;
  undefined1 *puVar4;
  undefined1 *puVar5;
  undefined4 uVar6;
  int *piVar7;
  int iVar8;
  undefined4 *puVar9;
  undefined4 uVar10;
  undefined *puVar11;
  undefined4 uVar12;
  undefined *puVar13;
  undefined4 uVar14;
  undefined4 uVar15;
  undefined4 local_34;
  undefined4 local_30;
  int local_2c;
  
  *(undefined4 *)(PTR___progname_0003f168 + -0x9dc) = 0;
  *(char **)(param_2 + 0x18) = param_1;
  puVar1 = PTR___stack_chk_guard_0003f4cc;
  puVar11 = PTR_stdin_0003f40c;
  piVar7 = (int *)PTR_in_place_extension_0003f1d0;
  local_2c = *(int *)PTR___stack_chk_guard_0003f4cc;
  if ((*param_1 == '-') && (param_1[1] == '\0')) {
    if (*(int *)PTR_in_place_extension_0003f1d0 != 0) goto LAB_00017f64;
    (*(code *)PTR_clearerr_unlocked_0003f3c0)(*(undefined4 *)PTR_stdin_0003f40c);
    *(undefined4 *)(param_2 + 0xc0) = *(undefined4 *)puVar11;
LAB_00017f98:
    iVar3 = *piVar7;
    *(undefined **)(param_2 + 0x10) = PTR_LAB_0003f180 + -0x76a0;
    if (iVar3 == 0) {
      if ((*(int *)(param_2 + 0xc0) != 0) && (*PTR_unbuffered_0003f1bc != '\0')) {
        (*(code *)PTR_setvbuf_0003f3fc)(*(int *)(param_2 + 0xc0),0,2,0);
      }
      *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = *(undefined4 *)PTR_stdout_0003f3dc;
      goto LAB_000180b0;
    }
    local_34 = 0;
    puVar4 = (undefined1 *)xstrdup(*(undefined4 *)(param_2 + 0x18));
    puVar5 = (undefined1 *)(*(code *)PTR_strrchr_0003f3bc)(puVar4,0x2f);
    if (puVar5 == (undefined1 *)0x0) {
      puVar4[1] = 0;
      *puVar4 = 0x2e;
    }
    else {
      *puVar5 = 0;
    }
    uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));
    iVar3 = (*(code *)PTR_isatty_0003f374)(uVar6);
    if (iVar3 == 0) {
      uVar6 = (*(code *)PTR_fileno_0003f3e4)(*(undefined4 *)(param_2 + 0xc0));
      (*(code *)PTR___fxstat64_0003f480)(3,uVar6,param_2 + 0x20);
      if ((*(uint *)(param_2 + 0x38) & 0xf000) != 0x8000) {
        puVar11 = PTR_DAT_0003f178 + -0x3930;
        goto LAB_00018410;
      }
      iVar3 = (*(code *)PTR_is_selinux_enabled_0003f4f8)();
      if (iVar3 < 1) {
LAB_00018050:
        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,
                           *(undefined4 *)PTR_write_mode_0003f1e0);
        puVar11 = PTR___progname_0003f168;
        uVar10 = *(undefined4 *)(param_2 + 0x14);
        puVar13 = PTR___progname_0003f168 + -0x974;
        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;
        register_cleanup_file(uVar10);
        puVar2 = PTR_free_0003f4d8;
        puVar11[-0x970] = 0;
        (*(code *)puVar2)(puVar4);
      }
      else {
        iVar3 = rpl_lgetfilecon(*(undefined4 *)(param_2 + 0x18),&local_30);
        if (iVar3 == -1) {
          piVar7 = (int *)(*(code *)PTR___errno_location_0003f3ec)();
          if (*piVar7 != 0x59) {
            uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;
            uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x38c4,5);
            uVar12 = *(undefined4 *)(param_2 + 0x18);
            uVar15 = *(undefined4 *)PTR_program_name_0003f17c;
            uVar10 = rpl_strerror(*piVar7);
            (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar6,uVar15,uVar12,uVar10);
          }
          goto LAB_00018050;
        }
        iVar3 = (*(code *)PTR_getfscreatecon_0003f378)(&local_34);
        iVar8 = (*(code *)PTR_setfscreatecon_0003f414)(local_30);
        if (iVar8 < 0) {
          uVar14 = *(undefined4 *)PTR_stderr_0003f4e0;
          uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3908,5);
          uVar6 = local_30;
          uVar15 = *(undefined4 *)PTR_program_name_0003f17c;
          puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();
          uVar12 = rpl_strerror(*puVar9);
          (*(code *)PTR___fprintf_chk_0003f390)(uVar14,1,uVar10,uVar15,uVar6,uVar12);
        }
        (*(code *)PTR_freecon_0003f3a0)(local_30);
        uVar6 = ck_mkstemp(param_2 + 0x14,puVar4,PTR_DAT_0003f178 + -0x2cc0,
                           *(undefined4 *)PTR_write_mode_0003f1e0);
        puVar11 = PTR___progname_0003f168;
        uVar10 = *(undefined4 *)(param_2 + 0x14);
        puVar13 = PTR___progname_0003f168 + -0x974;
        *(undefined4 *)(PTR___progname_0003f168 + -0x96c) = uVar6;
        register_cleanup_file(uVar10);
        puVar2 = PTR_free_0003f4d8;
        puVar11[-0x970] = 0;
        (*(code *)puVar2)(puVar4);
        if (-1 < iVar3) {
          (*(code *)PTR_setfscreatecon_0003f414)(local_34);
          (*(code *)PTR_freecon_0003f3a0)(local_34);
        }
      }
      if (*(int *)(puVar13 + 8) == 0) {
        uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x388c,5);
        uVar12 = *(undefined4 *)(param_2 + 0x14);
        puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();
        uVar10 = rpl_strerror(*puVar9);
                    /* WARNING: Subroutine does not return */
        panic(uVar6,uVar12,uVar10);
      }
      goto LAB_000180b0;
    }
  }
  else {
LAB_00017f64:
    if (*PTR_follow_symlinks_0003f1e4 != '\0') {
      uVar6 = follow_symlink(param_1);
      *(undefined4 *)(param_2 + 0x18) = uVar6;
    }
    piVar7 = (int *)PTR_in_place_extension_0003f1d0;
    iVar3 = ck_fopen(param_1,*(undefined4 *)PTR_read_mode_0003f1dc,0);
    *(int *)(param_2 + 0xc0) = iVar3;
    if (iVar3 != 0) goto LAB_00017f98;
    puVar9 = (undefined4 *)(*(code *)PTR___errno_location_0003f3ec)();
    uVar6 = rpl_strerror(*puVar9);
    uVar12 = *(undefined4 *)PTR_stderr_0003f4e0;
    uVar10 = (*(code *)PTR_dcgettext_0003f4b4)(0,PTR_DAT_0003f178 + -0x3968,5);
    (*(code *)PTR___fprintf_chk_0003f390)
              (uVar12,1,uVar10,*(undefined4 *)PTR_program_name_0003f17c,param_1,uVar6);
    *(int *)(param_2 + 4) = *(int *)(param_2 + 4) + 1;
    *(undefined **)(param_2 + 0x10) = PTR_0003f174 + 0x7c80;
LAB_000180b0:
    if (local_2c == *(int *)puVar1) {
      return;
    }
    (*(code *)PTR___stack_chk_fail_0003f4ac)();
  }
  puVar11 = PTR_DAT_0003f178 + -0x3950;
LAB_00018410:
  uVar6 = (*(code *)PTR_dcgettext_0003f4b4)(0,puVar11,5);
                    /* WARNING: Subroutine does not return */
  panic(uVar6,*(undefined4 *)(param_2 + 0x18));
}

