
void efwrite(void *ptr,size_t size,size_t count,FILE *fp,char *from,redirect *rp,_Bool flush)

{
  int *piVar1;
  size_t sVar2;
  undefined4 uVar3;
  int iVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  size_t *psVar7;
  
  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();
  *piVar1 = 0;
  if (from == (char *)0x0) {
    sVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(ptr,1,size,count);
    psVar7 = (size_t *)PTR_stdout_004b2220;
    if (size == sVar2) goto LAB_0041caf8;
LAB_0041ccb8:
    if (count == *psVar7) {
      iVar4 = *piVar1;
LAB_0041cb5c:
      if (iVar4 == 0x20) {
        (*(code *)PTR_signal_004b2370)(0xd,0);
        uVar3 = (*(code *)PTR_getpid_004b22ec)();
        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);
      }
LAB_0041cb68:
      if (from != (char *)0x0) goto LAB_0041ca2c;
    }
    iVar4 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(count);
    if (iVar4 != 0) goto LAB_0041cbe4;
    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);
    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);
    if (count == *psVar7) {
      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);
    }
    else {
      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);
    }
  }
  else {
    sVar2 = (**(code **)(from + 0x38))(ptr,1,size,count,*(undefined4 *)(from + 0x34));
    if (size == sVar2) {
LAB_0041caf8:
      psVar7 = (size_t *)PTR_stdout_004b2220;
      if ((char)rp == '\0') {
        return;
      }
      if ((count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {
        if (from == (char *)0x0) {
          (*(code *)PTR_fflush_004b23bc)(count);
          iVar4 = (*(code *)PTR_ferror_004b2384)(count);
          if (iVar4 == 0) {
            return;
          }
          goto LAB_0041ccb8;
        }
      }
      else {
        if (from == (char *)0x0) {
          return;
        }
        if ((*(uint *)from & 0x20) == 0) {
          return;
        }
      }
      (**(code **)(from + 0x3c))(count,*(undefined4 *)(from + 0x34));
      iVar4 = (**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34));
      if (iVar4 == 0) {
        return;
      }
      if (count == *psVar7) goto LAB_0041cb58;
      goto LAB_0041cb68;
    }
    psVar7 = (size_t *)PTR_stdout_004b2220;
    if (count == *(size_t *)PTR_stdout_004b2220) {
LAB_0041cb58:
      iVar4 = *piVar1;
      goto LAB_0041cb5c;
    }
LAB_0041ca2c:
    uVar6 = *(undefined4 *)(from + 4);
    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar6);
    iVar4 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar6,uVar3);
    if (iVar4 != 0) {
LAB_0041cbe4:
                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);
      return;
    }
    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);
    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);
    uVar6 = *(undefined4 *)(from + 4);
  }
  if (*piVar1 == 0) {
    uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);
                    /* WARNING: Could not recover jumptable at 0x0041caf0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);
    return;
  }
  uVar5 = (*(code *)PTR_strerror_004b22c4)();
                    /* WARNING: Could not recover jumptable at 0x0041cc7c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);
  return;
}



void FUN_0041c994(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,
                 char param_6)

{
  int *piVar1;
  int iVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  uint uVar5;
  int *piVar6;
  
  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();
  *piVar1 = 0;
  if (param_5 == (uint *)0x0) {
    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);
    piVar6 = (int *)PTR_stdout_004b2220;
    if (param_2 == iVar2) goto LAB_0041caf8;
LAB_0041ccb8:
    if (param_3 == *piVar6) {
      iVar2 = *piVar1;
LAB_0041cb5c:
      if (iVar2 == 0x20) {
        (*(code *)PTR_signal_004b2370)(0xd,0);
        uVar3 = (*(code *)PTR_getpid_004b22ec)();
        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);
      }
LAB_0041cb68:
      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;
    }
    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);
    if (iVar2 != 0) goto LAB_0041cbe4;
    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);
    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);
    if (param_3 == *piVar6) {
      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);
    }
    else {
      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);
    }
  }
  else {
    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);
    if (param_2 == iVar2) {
LAB_0041caf8:
      piVar6 = (int *)PTR_stdout_004b2220;
      if (param_6 == '\0') {
        return;
      }
      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {
        if (param_5 == (uint *)0x0) {
          (*(code *)PTR_fflush_004b23bc)(param_3);
          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);
          if (iVar2 == 0) {
            return;
          }
          goto LAB_0041ccb8;
        }
      }
      else {
        if (param_5 == (uint *)0x0) {
          return;
        }
        if ((*param_5 & 0x20) == 0) {
          return;
        }
      }
      (*(code *)param_5[0xf])(param_3,param_5[0xd]);
      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);
      if (iVar2 == 0) {
        return;
      }
      if (param_3 == *piVar6) goto LAB_0041cb58;
      goto LAB_0041cb68;
    }
    piVar6 = (int *)PTR_stdout_004b2220;
    if (param_3 == *(int *)PTR_stdout_004b2220) {
LAB_0041cb58:
      iVar2 = *piVar1;
      goto LAB_0041cb5c;
    }
LAB_0041ca2c:
    uVar5 = param_5[1];
    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);
    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);
    if (iVar2 != 0) {
LAB_0041cbe4:
                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);
      return;
    }
    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);
    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);
    uVar5 = param_5[1];
  }
  if (*piVar1 == 0) {
    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);
    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);
    return;
  }
  uVar4 = (*(code *)PTR_strerror_004b22c4)();
  (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);
  return;
}


lui gp,0x4c
addiu sp,sp,-0x40
addiu gp,gp,-0x64e0
sw s0,0x20(sp)
sw s6,0x38(sp)
sw s5,0x34(sp)
or s5,a3,zero
sw s4,0x30(sp)
or s4,a0,zero
sw s3,0x2c(sp)
sw s2,0x28(sp)
or s2,a1,zero
sw s1,0x24(sp)
or s1,a2,zero
sw gp,0x18(sp)
sw ra,0x3c(sp)
lw t9,-0x78d0(gp)
lw s0,0x50(sp)
jalr t9
_lbu s6,0x57(sp)
lw gp,0x18(sp)
or s3,v0,zero
beq s0,zero,0x0041cd04
_sw zero,0x0(v0)
lw v0,0x34(s0)
li a1,0x1
lw t9,0x38(s0)
or a3,s1,zero
or a2,s2,zero
sw v0,0x10(sp)
jalr t9
_or a0,s4,zero
beq s2,v0,0x0041caf8
_lw gp,0x18(sp)
lw s2,-0x7900(gp)
lw v0,0x0(s2)
beq s1,v0,0x0041cb58
_nop
lw s1,0x4(s0)
lw t9,-0x7880(gp)
jalr t9
_or a0,s1,zero
or a0,s1,zero
lw gp,0x18(sp)
lw t9,-0x7c7c(gp)
jalr t9
_or a1,v0,zero
bne v0,zero,0x0041cbe4
_lw gp,0x18(sp)
lui a0,0x49
lw t9,-0x7fb4(gp)
li a1,0x90
jalr t9
_addiu a0,a0,0x3a64
lui a1,0x49
lw gp,0x18(sp)
li a2,0x5
addiu a1,a1,0x3ac0
lw t9,-0x77c4(gp)
jalr t9
_or a0,zero,zero
lw gp,0x18(sp)
or s2,v0,zero
lw s0,0x4(s0)
lw a0,0x0(s3)
bne a0,zero,0x0041cc3c
_lw t9,-0x785c(gp)
lui a1,0x49
lw t9,-0x77c4(gp)
li a2,0x5
addiu a1,a1,0x6a8
jalr t9
_or a0,zero,zero
or a2,s0,zero
lw gp,0x18(sp)
or a1,s5,zero
lw ra,0x3c(sp)
or a0,s2,zero
lw s6,0x38(sp)
or a3,v0,zero
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
lw t9,-0x7fb0(gp)
jr t9
_addiu sp,sp,0x40
beq s6,zero,0x0041cc14
_lw s2,-0x7900(gp)
lw v0,0x0(s2)
beq s1,v0,0x0041cc84
_lw v0,-0x7de8(gp)
beq s0,zero,0x0041cc18
_lw ra,0x3c(sp)
lw v0,0x0(s0)
andi v0,v0,0x20
beq v0,zero,0x0041cc1c
_lw s6,0x38(sp)
lw t9,0x3c(s0)
or a0,s1,zero
jalr t9
_lw a1,0x34(s0)
or a0,s1,zero
lw t9,0x40(s0)
jalr t9
_lw a1,0x34(s0)
beq v0,zero,0x0041cc14
_lw gp,0x18(sp)
lw v0,0x0(s2)
bne s1,v0,0x0041cb68
_nop
lw v1,0x0(s3)
li v0,0x20
beq v1,v0,0x0041cccc
_lw t9,-0x77b0(gp)
bne s0,zero,0x0041ca2c
_lw t9,-0x7c78(gp)
jalr t9
_or a0,s1,zero
bne v0,zero,0x0041cbe4
_lw gp,0x18(sp)
lui a0,0x49
lw t9,-0x7fb4(gp)
li a1,0x90
jalr t9
_addiu a0,a0,0x3a64
lui a1,0x49
lw gp,0x18(sp)
li a2,0x5
addiu a1,a1,0x3ac0
lw t9,-0x77c4(gp)
jalr t9
_or a0,zero,zero
lw v1,0x0(s2)
or s2,v0,zero
beq s1,v1,0x0041cd2c
_lw gp,0x18(sp)
lui a1,0x49
lw t9,-0x77c4(gp)
li a2,0x5
addiu a1,a1,0x3ab0
jalr t9
_or a0,zero,zero
lw gp,0x18(sp)
b 0x0041ca94
_or s0,v0,zero
lw a0,0x0(s3)
lw ra,0x3c(sp)
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
lw t9,-0x7c74(gp)
jr t9
_addiu sp,sp,0x40
lw ra,0x3c(sp)
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x40
jalr t9
_nop
or a2,s0,zero
lw gp,0x18(sp)
or a1,s5,zero
lw ra,0x3c(sp)
or a0,s2,zero
lw s6,0x38(sp)
or a3,v0,zero
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
lw t9,-0x7fb0(gp)
jr t9
_addiu sp,sp,0x40
lbu v0,0x0(v0)
beq v0,zero,0x0041cb0c
_nop
bne s0,zero,0x0041cb24
_lw t9,-0x7764(gp)
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
lw t9,-0x779c(gp)
jalr t9
_or a0,s1,zero
beq v0,zero,0x0041cc14
_lw gp,0x18(sp)
lw v0,0x0(s2)
bne s1,v0,0x0041cb70
_lw t9,-0x7c78(gp)
b 0x0041cb5c
_lw v1,0x0(s3)
or a1,zero,zero
jalr t9
_li a0,0xd
lw gp,0x18(sp)
lw t9,-0x7834(gp)
jalr t9
_nop
li a1,0xd
lw gp,0x18(sp)
lw t9,-0x7868(gp)
jalr t9
_or a0,v0,zero
b 0x0041cb68
_lw gp,0x18(sp)
lw t9,-0x77ac(gp)
li a1,0x1
or a3,s1,zero
or a2,s2,zero
jalr t9
_or a0,s4,zero
beq s2,v0,0x0041caf8
_lw gp,0x18(sp)
b 0x0041ccb8
_lw s2,-0x7900(gp)
lui a1,0x49
lw t9,-0x77c4(gp)
li a2,0x5
addiu a1,a1,0x3aa0
jalr t9
_or a0,zero,zero
lw gp,0x18(sp)
b 0x0041ca94
_or s0,v0,zero
(translation_unit "void FUN_0041c994(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,\n                 char param_6)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  int *piVar6;\n  \n  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();\n  *piVar1 = 0;\n  if (param_5 == (uint *)0x0) {\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }\n  if (*piVar1 == 0) {\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_strerror_004b22c4)();\n  (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n  return;\n}\n\n" (function_definition "void FUN_0041c994(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,\n                 char param_6)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  int *piVar6;\n  \n  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();\n  *piVar1 = 0;\n  if (param_5 == (uint *)0x0) {\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }\n  if (*piVar1 == 0) {\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_strerror_004b22c4)();\n  (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n  return;\n}" primitive_type (function_declarator "FUN_0041c994(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,\n                 char param_6)" identifier (parameter_list "(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,\n                 char param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "uint *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "char param_6" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  int *piVar6;\n  \n  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();\n  *piVar1 = 0;\n  if (param_5 == (uint *)0x0) {\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }\n  if (*piVar1 == 0) {\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_strerror_004b22c4)();\n  (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (expression_statement "piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();" (assignment_expression "piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_004b2250)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_004b2250)()" (parenthesized_expression "(*(code *)PTR___errno_location_004b2250)" ( (pointer_expression "*(code *)PTR___errno_location_004b2250" * (cast_expression "(code *)PTR___errno_location_004b2250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" * identifier) = number_literal) ;) (if_statement "if (param_5 == (uint *)0x0) {\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }" if (parenthesized_expression "(param_5 == (uint *)0x0)" ( (binary_expression "param_5 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }" { (expression_statement "iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3)" identifier = (call_expression "(*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_004b2374)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_004b2374" * (cast_expression "(code *)PTR_fwrite_unlocked_004b2374" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,1,param_2,param_3)" ( identifier , number_literal , identifier , identifier )))) ;) (expression_statement "piVar6 = (int *)PTR_stdout_004b2220;" (assignment_expression "piVar6 = (int *)PTR_stdout_004b2220" identifier = (cast_expression "(int *)PTR_stdout_004b2220" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_2 == iVar2) goto LAB_0041caf8;" if (parenthesized_expression "(param_2 == iVar2)" ( (binary_expression "param_2 == iVar2" identifier == identifier) )) (goto_statement "goto LAB_0041caf8;" goto statement_identifier ;)) (labeled_statement "LAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }" statement_identifier : (if_statement "if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }" if (parenthesized_expression "(param_3 == *piVar6)" ( (binary_expression "param_3 == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }" { (expression_statement "iVar2 = *piVar1;" (assignment_expression "iVar2 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (labeled_statement "LAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" statement_identifier : (if_statement "if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" if (parenthesized_expression "(iVar2 == 0x20)" ( (binary_expression "iVar2 == 0x20" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" { (expression_statement "(*(code *)PTR_signal_004b2370)(0xd,0);" (call_expression "(*(code *)PTR_signal_004b2370)(0xd,0)" (parenthesized_expression "(*(code *)PTR_signal_004b2370)" ( (pointer_expression "*(code *)PTR_signal_004b2370" * (cast_expression "(code *)PTR_signal_004b2370" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xd,0)" ( number_literal , number_literal ))) ;) (expression_statement "uVar3 = (*(code *)PTR_getpid_004b22ec)();" (assignment_expression "uVar3 = (*(code *)PTR_getpid_004b22ec)()" identifier = (call_expression "(*(code *)PTR_getpid_004b22ec)()" (parenthesized_expression "(*(code *)PTR_getpid_004b22ec)" ( (pointer_expression "*(code *)PTR_getpid_004b22ec" * (cast_expression "(code *)PTR_getpid_004b22ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_kill_004b22b8)(uVar3,0xd);" (call_expression "(*(code *)PTR_kill_004b22b8)(uVar3,0xd)" (parenthesized_expression "(*(code *)PTR_kill_004b22b8)" ( (pointer_expression "*(code *)PTR_kill_004b22b8" * (cast_expression "(code *)PTR_kill_004b22b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,0xd)" ( identifier , number_literal ))) ;) }))) (labeled_statement "LAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;" statement_identifier : (if_statement "if (param_5 != (uint *)0x0) goto LAB_0041ca2c;" if (parenthesized_expression "(param_5 != (uint *)0x0)" ( (binary_expression "param_5 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0041ca2c;" goto statement_identifier ;))) }))) (expression_statement "iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);" (assignment_expression "iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3)" identifier = (call_expression "(*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3)" (parenthesized_expression "(*(code *)PTR_is_non_fatal_std_004b1ea8)" ( (pointer_expression "*(code *)PTR_is_non_fatal_std_004b1ea8" * (cast_expression "(code *)PTR_is_non_fatal_std_004b1ea8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0041cbe4;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0041cbe4;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);" (call_expression "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90)" (parenthesized_expression "(*(code *)PTR_set_loc_004b1b6c)" ( (pointer_expression "*(code *)PTR_set_loc_004b1b6c" * (cast_expression "(code *)PTR_set_loc_004b1b6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "("builtin.c",0x90)" ( (string_literal ""builtin.c"" " string_content ") , number_literal ))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"%s to \"%s\" failed: %s",5)" ( number_literal , (string_literal ""%s to \"%s\" failed: %s"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (if_statement "if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" if (parenthesized_expression "(param_3 == *piVar6)" ( (binary_expression "param_3 == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }" { (expression_statement "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);" (assignment_expression "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"standard output",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"standard output",5)" ( number_literal , (string_literal ""standard output"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" else (compound_statement "{\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" { (expression_statement "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);" (assignment_expression "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"standard error",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"standard error",5)" ( number_literal , (string_literal ""standard error"" " string_content ") , number_literal )))) ;) }))) }) (else_clause "else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }" else (compound_statement "{\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }" { (expression_statement "iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);" (assignment_expression "iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd])" identifier = (call_expression "(*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd])" (parenthesized_expression "(*(code *)param_5[0xe])" ( (pointer_expression "*(code *)param_5[0xe]" * (cast_expression "(code *)param_5[0xe]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_5[0xe]" identifier [ number_literal ]))) )) (argument_list "(param_1,1,param_2,param_3,param_5[0xd])" ( identifier , number_literal , identifier , identifier , (subscript_expression "param_5[0xd]" identifier [ number_literal ]) )))) ;) (if_statement "if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }" if (parenthesized_expression "(param_2 == iVar2)" ( (binary_expression "param_2 == iVar2" identifier == identifier) )) (compound_statement "{\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }" { (labeled_statement "LAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;" statement_identifier : (expression_statement "piVar6 = (int *)PTR_stdout_004b2220;" (assignment_expression "piVar6 = (int *)PTR_stdout_004b2220" identifier = (cast_expression "(int *)PTR_stdout_004b2220" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (param_6 == '\0') {\n        return;\n      }" if (parenthesized_expression "(param_6 == '\0')" ( (binary_expression "param_6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }" if (parenthesized_expression "((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0'))" ( (binary_expression "(param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')" (parenthesized_expression "(param_3 == *(int *)PTR_stdout_004b2220)" ( (binary_expression "param_3 == *(int *)PTR_stdout_004b2220" identifier == (pointer_expression "*(int *)PTR_stdout_004b2220" * (cast_expression "(int *)PTR_stdout_004b2220" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(*PTR_output_is_tty_004b1d38 != '\0')" ( (binary_expression "*PTR_output_is_tty_004b1d38 != '\0'" (pointer_expression "*PTR_output_is_tty_004b1d38" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }" { (if_statement "if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }" if (parenthesized_expression "(param_5 == (uint *)0x0)" ( (binary_expression "param_5 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }" { (expression_statement "(*(code *)PTR_fflush_004b23bc)(param_3);" (call_expression "(*(code *)PTR_fflush_004b23bc)(param_3)" (parenthesized_expression "(*(code *)PTR_fflush_004b23bc)" ( (pointer_expression "*(code *)PTR_fflush_004b23bc" * (cast_expression "(code *)PTR_fflush_004b23bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier ))) ;) (expression_statement "iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);" (assignment_expression "iVar2 = (*(code *)PTR_ferror_004b2384)(param_3)" identifier = (call_expression "(*(code *)PTR_ferror_004b2384)(param_3)" (parenthesized_expression "(*(code *)PTR_ferror_004b2384)" ( (pointer_expression "*(code *)PTR_ferror_004b2384" * (cast_expression "(code *)PTR_ferror_004b2384" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n            return;\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0041ccb8;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }" else (compound_statement "{\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }" { (if_statement "if (param_5 == (uint *)0x0) {\n          return;\n        }" if (parenthesized_expression "(param_5 == (uint *)0x0)" ( (binary_expression "param_5 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if ((*param_5 & 0x20) == 0) {\n          return;\n        }" if (parenthesized_expression "((*param_5 & 0x20) == 0)" ( (binary_expression "(*param_5 & 0x20) == 0" (parenthesized_expression "(*param_5 & 0x20)" ( (binary_expression "*param_5 & 0x20" (pointer_expression "*param_5" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) }))) (expression_statement "(*(code *)param_5[0xf])(param_3,param_5[0xd]);" (call_expression "(*(code *)param_5[0xf])(param_3,param_5[0xd])" (parenthesized_expression "(*(code *)param_5[0xf])" ( (pointer_expression "*(code *)param_5[0xf]" * (cast_expression "(code *)param_5[0xf]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_5[0xf]" identifier [ number_literal ]))) )) (argument_list "(param_3,param_5[0xd])" ( identifier , (subscript_expression "param_5[0xd]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);" (assignment_expression "iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd])" identifier = (call_expression "(*(code *)param_5[0x10])(param_3,param_5[0xd])" (parenthesized_expression "(*(code *)param_5[0x10])" ( (pointer_expression "*(code *)param_5[0x10]" * (cast_expression "(code *)param_5[0x10]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_5[0x10]" identifier [ number_literal ]))) )) (argument_list "(param_3,param_5[0xd])" ( identifier , (subscript_expression "param_5[0xd]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar2 == 0) {\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == *piVar6) goto LAB_0041cb58;" if (parenthesized_expression "(param_3 == *piVar6)" ( (binary_expression "param_3 == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (goto_statement "goto LAB_0041cb58;" goto statement_identifier ;)) (goto_statement "goto LAB_0041cb68;" goto statement_identifier ;) })) (expression_statement "piVar6 = (int *)PTR_stdout_004b2220;" (assignment_expression "piVar6 = (int *)PTR_stdout_004b2220" identifier = (cast_expression "(int *)PTR_stdout_004b2220" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }" if (parenthesized_expression "(param_3 == *(int *)PTR_stdout_004b2220)" ( (binary_expression "param_3 == *(int *)PTR_stdout_004b2220" identifier == (pointer_expression "*(int *)PTR_stdout_004b2220" * (cast_expression "(int *)PTR_stdout_004b2220" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }" { (labeled_statement "LAB_0041cb58:\n      iVar2 = *piVar1;" statement_identifier : (expression_statement "iVar2 = *piVar1;" (assignment_expression "iVar2 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;)) (goto_statement "goto LAB_0041cb5c;" goto statement_identifier ;) })) (labeled_statement "LAB_0041ca2c:\n    uVar5 = param_5[1];" statement_identifier : (expression_statement "uVar5 = param_5[1];" (assignment_expression "uVar5 = param_5[1]" identifier = (subscript_expression "param_5[1]" identifier [ number_literal ])) ;)) (expression_statement "uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5)" identifier = (call_expression "(*(code *)PTR_strlen_004b22a0)(uVar5)" (parenthesized_expression "(*(code *)PTR_strlen_004b22a0)" ( (pointer_expression "*(code *)PTR_strlen_004b22a0" * (cast_expression "(code *)PTR_strlen_004b22a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);" (assignment_expression "iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3)" identifier = (call_expression "(*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3)" (parenthesized_expression "(*(code *)PTR_is_non_fatal_redirect_004b1ea4)" ( (pointer_expression "*(code *)PTR_is_non_fatal_redirect_004b1ea4" * (cast_expression "(code *)PTR_is_non_fatal_redirect_004b1ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,uVar3)" ( identifier , identifier )))) ;) (if_statement "if (iVar2 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }" { (labeled_statement "LAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);" statement_identifier : comment comment (expression_statement "(*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);" (call_expression "(*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1)" (parenthesized_expression "(*(code *)PTR_update_ERRNO_int_004b1eac)" ( (pointer_expression "*(code *)PTR_update_ERRNO_int_004b1eac" * (cast_expression "(code *)PTR_update_ERRNO_int_004b1eac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar1)" ( (pointer_expression "*piVar1" * identifier) ))) ;)) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);" (call_expression "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90)" (parenthesized_expression "(*(code *)PTR_set_loc_004b1b6c)" ( (pointer_expression "*(code *)PTR_set_loc_004b1b6c" * (cast_expression "(code *)PTR_set_loc_004b1b6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "("builtin.c",0x90)" ( (string_literal ""builtin.c"" " string_content ") , number_literal ))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"%s to \"%s\" failed: %s",5)" ( number_literal , (string_literal ""%s to \"%s\" failed: %s"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "uVar5 = param_5[1];" (assignment_expression "uVar5 = param_5[1]" identifier = (subscript_expression "param_5[1]" identifier [ number_literal ])) ;) }))) (if_statement "if (*piVar1 == 0) {\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }" { (expression_statement "uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);" (assignment_expression "uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"reason unknown",5)" ( number_literal , (string_literal ""reason unknown"" " string_content ") , number_literal )))) ;) (expression_statement "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);" (call_expression "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4)" (parenthesized_expression "(*(code *)PTR_r_fatal_004b1b70)" ( (pointer_expression "*(code *)PTR_r_fatal_004b1b70" * (cast_expression "(code *)PTR_r_fatal_004b1b70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,param_4,uVar5,uVar4)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar4 = (*(code *)PTR_strerror_004b22c4)();" (assignment_expression "uVar4 = (*(code *)PTR_strerror_004b22c4)()" identifier = (call_expression "(*(code *)PTR_strerror_004b22c4)()" (parenthesized_expression "(*(code *)PTR_strerror_004b22c4)" ( (pointer_expression "*(code *)PTR_strerror_004b22c4" * (cast_expression "(code *)PTR_strerror_004b22c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);" (call_expression "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4)" (parenthesized_expression "(*(code *)PTR_r_fatal_004b1b70)" ( (pointer_expression "*(code *)PTR_r_fatal_004b1b70" * (cast_expression "(code *)PTR_r_fatal_004b1b70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,param_4,uVar5,uVar4)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void efwrite(void *ptr,size_t size,size_t count,FILE *fp,char *from,redirect *rp,_Bool flush)\n\n{\n  int *piVar1;\n  size_t sVar2;\n  undefined4 uVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  size_t *psVar7;\n  \n  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();\n  *piVar1 = 0;\n  if (from == (char *)0x0) {\n    sVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(ptr,1,size,count);\n    psVar7 = (size_t *)PTR_stdout_004b2220;\n    if (size == sVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (count == *psVar7) {\n      iVar4 = *piVar1;\nLAB_0041cb5c:\n      if (iVar4 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (from != (char *)0x0) goto LAB_0041ca2c;\n    }\n    iVar4 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(count);\n    if (iVar4 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (count == *psVar7) {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    sVar2 = (**(code **)(from + 0x38))(ptr,1,size,count,*(undefined4 *)(from + 0x34));\n    if (size == sVar2) {\nLAB_0041caf8:\n      psVar7 = (size_t *)PTR_stdout_004b2220;\n      if ((char)rp == '\0') {\n        return;\n      }\n      if ((count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (from == (char *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (from == (char *)0x0) {\n          return;\n        }\n        if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }\n      }\n      (**(code **)(from + 0x3c))(count,*(undefined4 *)(from + 0x34));\n      iVar4 = (**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34));\n      if (iVar4 == 0) {\n        return;\n      }\n      if (count == *psVar7) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    psVar7 = (size_t *)PTR_stdout_004b2220;\n    if (count == *(size_t *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar4 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar6 = *(undefined4 *)(from + 4);\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar6);\n    iVar4 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar6,uVar3);\n    if (iVar4 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar6 = *(undefined4 *)(from + 4);\n  }\n  if (*piVar1 == 0) {\n    uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n                    /* WARNING: Could not recover jumptable at 0x0041caf0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);\n    return;\n  }\n  uVar5 = (*(code *)PTR_strerror_004b22c4)();\n                    /* WARNING: Could not recover jumptable at 0x0041cc7c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);\n  return;\n}\n\n" (function_definition "void efwrite(void *ptr,size_t size,size_t count,FILE *fp,char *from,redirect *rp,_Bool flush)\n\n{\n  int *piVar1;\n  size_t sVar2;\n  undefined4 uVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  size_t *psVar7;\n  \n  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();\n  *piVar1 = 0;\n  if (from == (char *)0x0) {\n    sVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(ptr,1,size,count);\n    psVar7 = (size_t *)PTR_stdout_004b2220;\n    if (size == sVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (count == *psVar7) {\n      iVar4 = *piVar1;\nLAB_0041cb5c:\n      if (iVar4 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (from != (char *)0x0) goto LAB_0041ca2c;\n    }\n    iVar4 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(count);\n    if (iVar4 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (count == *psVar7) {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    sVar2 = (**(code **)(from + 0x38))(ptr,1,size,count,*(undefined4 *)(from + 0x34));\n    if (size == sVar2) {\nLAB_0041caf8:\n      psVar7 = (size_t *)PTR_stdout_004b2220;\n      if ((char)rp == '\0') {\n        return;\n      }\n      if ((count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (from == (char *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (from == (char *)0x0) {\n          return;\n        }\n        if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }\n      }\n      (**(code **)(from + 0x3c))(count,*(undefined4 *)(from + 0x34));\n      iVar4 = (**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34));\n      if (iVar4 == 0) {\n        return;\n      }\n      if (count == *psVar7) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    psVar7 = (size_t *)PTR_stdout_004b2220;\n    if (count == *(size_t *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar4 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar6 = *(undefined4 *)(from + 4);\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar6);\n    iVar4 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar6,uVar3);\n    if (iVar4 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar6 = *(undefined4 *)(from + 4);\n  }\n  if (*piVar1 == 0) {\n    uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n                    /* WARNING: Could not recover jumptable at 0x0041caf0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);\n    return;\n  }\n  uVar5 = (*(code *)PTR_strerror_004b22c4)();\n                    /* WARNING: Could not recover jumptable at 0x0041cc7c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);\n  return;\n}" primitive_type (function_declarator "efwrite(void *ptr,size_t size,size_t count,FILE *fp,char *from,redirect *rp,_Bool flush)" identifier (parameter_list "(void *ptr,size_t size,size_t count,FILE *fp,char *from,redirect *rp,_Bool flush)" ( (parameter_declaration "void *ptr" primitive_type (pointer_declarator "*ptr" * identifier)) , (parameter_declaration "size_t size" primitive_type identifier) , (parameter_declaration "size_t count" primitive_type identifier) , (parameter_declaration "FILE *fp" type_identifier (pointer_declarator "*fp" * identifier)) , (parameter_declaration "char *from" primitive_type (pointer_declarator "*from" * identifier)) , (parameter_declaration "redirect *rp" type_identifier (pointer_declarator "*rp" * identifier)) , (parameter_declaration "_Bool flush" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  size_t sVar2;\n  undefined4 uVar3;\n  int iVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  size_t *psVar7;\n  \n  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();\n  *piVar1 = 0;\n  if (from == (char *)0x0) {\n    sVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(ptr,1,size,count);\n    psVar7 = (size_t *)PTR_stdout_004b2220;\n    if (size == sVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (count == *psVar7) {\n      iVar4 = *piVar1;\nLAB_0041cb5c:\n      if (iVar4 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (from != (char *)0x0) goto LAB_0041ca2c;\n    }\n    iVar4 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(count);\n    if (iVar4 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (count == *psVar7) {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    sVar2 = (**(code **)(from + 0x38))(ptr,1,size,count,*(undefined4 *)(from + 0x34));\n    if (size == sVar2) {\nLAB_0041caf8:\n      psVar7 = (size_t *)PTR_stdout_004b2220;\n      if ((char)rp == '\0') {\n        return;\n      }\n      if ((count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (from == (char *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (from == (char *)0x0) {\n          return;\n        }\n        if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }\n      }\n      (**(code **)(from + 0x3c))(count,*(undefined4 *)(from + 0x34));\n      iVar4 = (**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34));\n      if (iVar4 == 0) {\n        return;\n      }\n      if (count == *psVar7) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    psVar7 = (size_t *)PTR_stdout_004b2220;\n    if (count == *(size_t *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar4 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar6 = *(undefined4 *)(from + 4);\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar6);\n    iVar4 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar6,uVar3);\n    if (iVar4 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar6 = *(undefined4 *)(from + 4);\n  }\n  if (*piVar1 == 0) {\n    uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n                    /* WARNING: Could not recover jumptable at 0x0041caf0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);\n    return;\n  }\n  uVar5 = (*(code *)PTR_strerror_004b22c4)();\n                    /* WARNING: Could not recover jumptable at 0x0041cc7c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "size_t *psVar7;" primitive_type (pointer_declarator "*psVar7" * identifier) ;) (expression_statement "piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();" (assignment_expression "piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_004b2250)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_004b2250)()" (parenthesized_expression "(*(code *)PTR___errno_location_004b2250)" ( (pointer_expression "*(code *)PTR___errno_location_004b2250" * (cast_expression "(code *)PTR___errno_location_004b2250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" * identifier) = number_literal) ;) (if_statement "if (from == (char *)0x0) {\n    sVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(ptr,1,size,count);\n    psVar7 = (size_t *)PTR_stdout_004b2220;\n    if (size == sVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (count == *psVar7) {\n      iVar4 = *piVar1;\nLAB_0041cb5c:\n      if (iVar4 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (from != (char *)0x0) goto LAB_0041ca2c;\n    }\n    iVar4 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(count);\n    if (iVar4 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (count == *psVar7) {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    sVar2 = (**(code **)(from + 0x38))(ptr,1,size,count,*(undefined4 *)(from + 0x34));\n    if (size == sVar2) {\nLAB_0041caf8:\n      psVar7 = (size_t *)PTR_stdout_004b2220;\n      if ((char)rp == '\0') {\n        return;\n      }\n      if ((count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (from == (char *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (from == (char *)0x0) {\n          return;\n        }\n        if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }\n      }\n      (**(code **)(from + 0x3c))(count,*(undefined4 *)(from + 0x34));\n      iVar4 = (**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34));\n      if (iVar4 == 0) {\n        return;\n      }\n      if (count == *psVar7) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    psVar7 = (size_t *)PTR_stdout_004b2220;\n    if (count == *(size_t *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar4 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar6 = *(undefined4 *)(from + 4);\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar6);\n    iVar4 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar6,uVar3);\n    if (iVar4 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar6 = *(undefined4 *)(from + 4);\n  }" if (parenthesized_expression "(from == (char *)0x0)" ( (binary_expression "from == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(ptr,1,size,count);\n    psVar7 = (size_t *)PTR_stdout_004b2220;\n    if (size == sVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (count == *psVar7) {\n      iVar4 = *piVar1;\nLAB_0041cb5c:\n      if (iVar4 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (from != (char *)0x0) goto LAB_0041ca2c;\n    }\n    iVar4 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(count);\n    if (iVar4 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (count == *psVar7) {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }" { (expression_statement "sVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(ptr,1,size,count);" (assignment_expression "sVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(ptr,1,size,count)" identifier = (call_expression "(*(code *)PTR_fwrite_unlocked_004b2374)(ptr,1,size,count)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_004b2374)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_004b2374" * (cast_expression "(code *)PTR_fwrite_unlocked_004b2374" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(ptr,1,size,count)" ( identifier , number_literal , identifier , identifier )))) ;) (expression_statement "psVar7 = (size_t *)PTR_stdout_004b2220;" (assignment_expression "psVar7 = (size_t *)PTR_stdout_004b2220" identifier = (cast_expression "(size_t *)PTR_stdout_004b2220" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (size == sVar2) goto LAB_0041caf8;" if (parenthesized_expression "(size == sVar2)" ( (binary_expression "size == sVar2" identifier == identifier) )) (goto_statement "goto LAB_0041caf8;" goto statement_identifier ;)) (labeled_statement "LAB_0041ccb8:\n    if (count == *psVar7) {\n      iVar4 = *piVar1;\nLAB_0041cb5c:\n      if (iVar4 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (from != (char *)0x0) goto LAB_0041ca2c;\n    }" statement_identifier : (if_statement "if (count == *psVar7) {\n      iVar4 = *piVar1;\nLAB_0041cb5c:\n      if (iVar4 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (from != (char *)0x0) goto LAB_0041ca2c;\n    }" if (parenthesized_expression "(count == *psVar7)" ( (binary_expression "count == *psVar7" identifier == (pointer_expression "*psVar7" * identifier)) )) (compound_statement "{\n      iVar4 = *piVar1;\nLAB_0041cb5c:\n      if (iVar4 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (from != (char *)0x0) goto LAB_0041ca2c;\n    }" { (expression_statement "iVar4 = *piVar1;" (assignment_expression "iVar4 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (labeled_statement "LAB_0041cb5c:\n      if (iVar4 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" statement_identifier : (if_statement "if (iVar4 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" if (parenthesized_expression "(iVar4 == 0x20)" ( (binary_expression "iVar4 == 0x20" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" { (expression_statement "(*(code *)PTR_signal_004b2370)(0xd,0);" (call_expression "(*(code *)PTR_signal_004b2370)(0xd,0)" (parenthesized_expression "(*(code *)PTR_signal_004b2370)" ( (pointer_expression "*(code *)PTR_signal_004b2370" * (cast_expression "(code *)PTR_signal_004b2370" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xd,0)" ( number_literal , number_literal ))) ;) (expression_statement "uVar3 = (*(code *)PTR_getpid_004b22ec)();" (assignment_expression "uVar3 = (*(code *)PTR_getpid_004b22ec)()" identifier = (call_expression "(*(code *)PTR_getpid_004b22ec)()" (parenthesized_expression "(*(code *)PTR_getpid_004b22ec)" ( (pointer_expression "*(code *)PTR_getpid_004b22ec" * (cast_expression "(code *)PTR_getpid_004b22ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_kill_004b22b8)(uVar3,0xd);" (call_expression "(*(code *)PTR_kill_004b22b8)(uVar3,0xd)" (parenthesized_expression "(*(code *)PTR_kill_004b22b8)" ( (pointer_expression "*(code *)PTR_kill_004b22b8" * (cast_expression "(code *)PTR_kill_004b22b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,0xd)" ( identifier , number_literal ))) ;) }))) (labeled_statement "LAB_0041cb68:\n      if (from != (char *)0x0) goto LAB_0041ca2c;" statement_identifier : (if_statement "if (from != (char *)0x0) goto LAB_0041ca2c;" if (parenthesized_expression "(from != (char *)0x0)" ( (binary_expression "from != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0041ca2c;" goto statement_identifier ;))) }))) (expression_statement "iVar4 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(count);" (assignment_expression "iVar4 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(count)" identifier = (call_expression "(*(code *)PTR_is_non_fatal_std_004b1ea8)(count)" (parenthesized_expression "(*(code *)PTR_is_non_fatal_std_004b1ea8)" ( (pointer_expression "*(code *)PTR_is_non_fatal_std_004b1ea8" * (cast_expression "(code *)PTR_is_non_fatal_std_004b1ea8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(count)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) goto LAB_0041cbe4;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0041cbe4;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);" (call_expression "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90)" (parenthesized_expression "(*(code *)PTR_set_loc_004b1b6c)" ( (pointer_expression "*(code *)PTR_set_loc_004b1b6c" * (cast_expression "(code *)PTR_set_loc_004b1b6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "("builtin.c",0x90)" ( (string_literal ""builtin.c"" " string_content ") , number_literal ))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"%s to \"%s\" failed: %s",5)" ( number_literal , (string_literal ""%s to \"%s\" failed: %s"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (if_statement "if (count == *psVar7) {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" if (parenthesized_expression "(count == *psVar7)" ( (binary_expression "count == *psVar7" identifier == (pointer_expression "*psVar7" * identifier)) )) (compound_statement "{\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }" { (expression_statement "uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"standard output",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"standard output",5)" ( number_literal , (string_literal ""standard output"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" else (compound_statement "{\n      uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" { (expression_statement "uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"standard error",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"standard error",5)" ( number_literal , (string_literal ""standard error"" " string_content ") , number_literal )))) ;) }))) }) (else_clause "else {\n    sVar2 = (**(code **)(from + 0x38))(ptr,1,size,count,*(undefined4 *)(from + 0x34));\n    if (size == sVar2) {\nLAB_0041caf8:\n      psVar7 = (size_t *)PTR_stdout_004b2220;\n      if ((char)rp == '\0') {\n        return;\n      }\n      if ((count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (from == (char *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (from == (char *)0x0) {\n          return;\n        }\n        if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }\n      }\n      (**(code **)(from + 0x3c))(count,*(undefined4 *)(from + 0x34));\n      iVar4 = (**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34));\n      if (iVar4 == 0) {\n        return;\n      }\n      if (count == *psVar7) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    psVar7 = (size_t *)PTR_stdout_004b2220;\n    if (count == *(size_t *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar4 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar6 = *(undefined4 *)(from + 4);\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar6);\n    iVar4 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar6,uVar3);\n    if (iVar4 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar6 = *(undefined4 *)(from + 4);\n  }" else (compound_statement "{\n    sVar2 = (**(code **)(from + 0x38))(ptr,1,size,count,*(undefined4 *)(from + 0x34));\n    if (size == sVar2) {\nLAB_0041caf8:\n      psVar7 = (size_t *)PTR_stdout_004b2220;\n      if ((char)rp == '\0') {\n        return;\n      }\n      if ((count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (from == (char *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (from == (char *)0x0) {\n          return;\n        }\n        if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }\n      }\n      (**(code **)(from + 0x3c))(count,*(undefined4 *)(from + 0x34));\n      iVar4 = (**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34));\n      if (iVar4 == 0) {\n        return;\n      }\n      if (count == *psVar7) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    psVar7 = (size_t *)PTR_stdout_004b2220;\n    if (count == *(size_t *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar4 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar6 = *(undefined4 *)(from + 4);\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar6);\n    iVar4 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar6,uVar3);\n    if (iVar4 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar6 = *(undefined4 *)(from + 4);\n  }" { (expression_statement "sVar2 = (**(code **)(from + 0x38))(ptr,1,size,count,*(undefined4 *)(from + 0x34));" (assignment_expression "sVar2 = (**(code **)(from + 0x38))(ptr,1,size,count,*(undefined4 *)(from + 0x34))" identifier = (call_expression "(**(code **)(from + 0x38))(ptr,1,size,count,*(undefined4 *)(from + 0x34))" (parenthesized_expression "(**(code **)(from + 0x38))" ( (pointer_expression "**(code **)(from + 0x38)" * (pointer_expression "*(code **)(from + 0x38)" * (cast_expression "(code **)(from + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(from + 0x38)" ( (binary_expression "from + 0x38" identifier + number_literal) ))))) )) (argument_list "(ptr,1,size,count,*(undefined4 *)(from + 0x34))" ( identifier , number_literal , identifier , identifier , (pointer_expression "*(undefined4 *)(from + 0x34)" * (cast_expression "(undefined4 *)(from + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(from + 0x34)" ( (binary_expression "from + 0x34" identifier + number_literal) )))) )))) ;) (if_statement "if (size == sVar2) {\nLAB_0041caf8:\n      psVar7 = (size_t *)PTR_stdout_004b2220;\n      if ((char)rp == '\0') {\n        return;\n      }\n      if ((count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (from == (char *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (from == (char *)0x0) {\n          return;\n        }\n        if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }\n      }\n      (**(code **)(from + 0x3c))(count,*(undefined4 *)(from + 0x34));\n      iVar4 = (**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34));\n      if (iVar4 == 0) {\n        return;\n      }\n      if (count == *psVar7) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }" if (parenthesized_expression "(size == sVar2)" ( (binary_expression "size == sVar2" identifier == identifier) )) (compound_statement "{\nLAB_0041caf8:\n      psVar7 = (size_t *)PTR_stdout_004b2220;\n      if ((char)rp == '\0') {\n        return;\n      }\n      if ((count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (from == (char *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (from == (char *)0x0) {\n          return;\n        }\n        if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }\n      }\n      (**(code **)(from + 0x3c))(count,*(undefined4 *)(from + 0x34));\n      iVar4 = (**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34));\n      if (iVar4 == 0) {\n        return;\n      }\n      if (count == *psVar7) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }" { (labeled_statement "LAB_0041caf8:\n      psVar7 = (size_t *)PTR_stdout_004b2220;" statement_identifier : (expression_statement "psVar7 = (size_t *)PTR_stdout_004b2220;" (assignment_expression "psVar7 = (size_t *)PTR_stdout_004b2220" identifier = (cast_expression "(size_t *)PTR_stdout_004b2220" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if ((char)rp == '\0') {\n        return;\n      }" if (parenthesized_expression "((char)rp == '\0')" ( (binary_expression "(char)rp == '\0'" (cast_expression "(char)rp" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if ((count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (from == (char *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (from == (char *)0x0) {\n          return;\n        }\n        if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }\n      }" if (parenthesized_expression "((count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0'))" ( (binary_expression "(count == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')" (parenthesized_expression "(count == *(size_t *)PTR_stdout_004b2220)" ( (binary_expression "count == *(size_t *)PTR_stdout_004b2220" identifier == (pointer_expression "*(size_t *)PTR_stdout_004b2220" * (cast_expression "(size_t *)PTR_stdout_004b2220" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(*PTR_output_is_tty_004b1d38 != '\0')" ( (binary_expression "*PTR_output_is_tty_004b1d38 != '\0'" (pointer_expression "*PTR_output_is_tty_004b1d38" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if (from == (char *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }" { (if_statement "if (from == (char *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }" if (parenthesized_expression "(from == (char *)0x0)" ( (binary_expression "from == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_fflush_004b23bc)(count);\n          iVar4 = (*(code *)PTR_ferror_004b2384)(count);\n          if (iVar4 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }" { (expression_statement "(*(code *)PTR_fflush_004b23bc)(count);" (call_expression "(*(code *)PTR_fflush_004b23bc)(count)" (parenthesized_expression "(*(code *)PTR_fflush_004b23bc)" ( (pointer_expression "*(code *)PTR_fflush_004b23bc" * (cast_expression "(code *)PTR_fflush_004b23bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(count)" ( identifier ))) ;) (expression_statement "iVar4 = (*(code *)PTR_ferror_004b2384)(count);" (assignment_expression "iVar4 = (*(code *)PTR_ferror_004b2384)(count)" identifier = (call_expression "(*(code *)PTR_ferror_004b2384)(count)" (parenthesized_expression "(*(code *)PTR_ferror_004b2384)" ( (pointer_expression "*(code *)PTR_ferror_004b2384" * (cast_expression "(code *)PTR_ferror_004b2384" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(count)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n            return;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0041ccb8;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (from == (char *)0x0) {\n          return;\n        }\n        if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }\n      }" else (compound_statement "{\n        if (from == (char *)0x0) {\n          return;\n        }\n        if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }\n      }" { (if_statement "if (from == (char *)0x0) {\n          return;\n        }" if (parenthesized_expression "(from == (char *)0x0)" ( (binary_expression "from == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if ((*(uint *)from & 0x20) == 0) {\n          return;\n        }" if (parenthesized_expression "((*(uint *)from & 0x20) == 0)" ( (binary_expression "(*(uint *)from & 0x20) == 0" (parenthesized_expression "(*(uint *)from & 0x20)" ( (binary_expression "*(uint *)from & 0x20" (pointer_expression "*(uint *)from" * (cast_expression "(uint *)from" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) }))) (expression_statement "(**(code **)(from + 0x3c))(count,*(undefined4 *)(from + 0x34));" (call_expression "(**(code **)(from + 0x3c))(count,*(undefined4 *)(from + 0x34))" (parenthesized_expression "(**(code **)(from + 0x3c))" ( (pointer_expression "**(code **)(from + 0x3c)" * (pointer_expression "*(code **)(from + 0x3c)" * (cast_expression "(code **)(from + 0x3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(from + 0x3c)" ( (binary_expression "from + 0x3c" identifier + number_literal) ))))) )) (argument_list "(count,*(undefined4 *)(from + 0x34))" ( identifier , (pointer_expression "*(undefined4 *)(from + 0x34)" * (cast_expression "(undefined4 *)(from + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(from + 0x34)" ( (binary_expression "from + 0x34" identifier + number_literal) )))) ))) ;) (expression_statement "iVar4 = (**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34));" (assignment_expression "iVar4 = (**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34))" identifier = (call_expression "(**(code **)(from + 0x40))(count,*(undefined4 *)(from + 0x34))" (parenthesized_expression "(**(code **)(from + 0x40))" ( (pointer_expression "**(code **)(from + 0x40)" * (pointer_expression "*(code **)(from + 0x40)" * (cast_expression "(code **)(from + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(from + 0x40)" ( (binary_expression "from + 0x40" identifier + number_literal) ))))) )) (argument_list "(count,*(undefined4 *)(from + 0x34))" ( identifier , (pointer_expression "*(undefined4 *)(from + 0x34)" * (cast_expression "(undefined4 *)(from + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(from + 0x34)" ( (binary_expression "from + 0x34" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar4 == 0) {\n        return;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (count == *psVar7) goto LAB_0041cb58;" if (parenthesized_expression "(count == *psVar7)" ( (binary_expression "count == *psVar7" identifier == (pointer_expression "*psVar7" * identifier)) )) (goto_statement "goto LAB_0041cb58;" goto statement_identifier ;)) (goto_statement "goto LAB_0041cb68;" goto statement_identifier ;) })) (expression_statement "psVar7 = (size_t *)PTR_stdout_004b2220;" (assignment_expression "psVar7 = (size_t *)PTR_stdout_004b2220" identifier = (cast_expression "(size_t *)PTR_stdout_004b2220" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (count == *(size_t *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar4 = *piVar1;\n      goto LAB_0041cb5c;\n    }" if (parenthesized_expression "(count == *(size_t *)PTR_stdout_004b2220)" ( (binary_expression "count == *(size_t *)PTR_stdout_004b2220" identifier == (pointer_expression "*(size_t *)PTR_stdout_004b2220" * (cast_expression "(size_t *)PTR_stdout_004b2220" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\nLAB_0041cb58:\n      iVar4 = *piVar1;\n      goto LAB_0041cb5c;\n    }" { (labeled_statement "LAB_0041cb58:\n      iVar4 = *piVar1;" statement_identifier : (expression_statement "iVar4 = *piVar1;" (assignment_expression "iVar4 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;)) (goto_statement "goto LAB_0041cb5c;" goto statement_identifier ;) })) (labeled_statement "LAB_0041ca2c:\n    uVar6 = *(undefined4 *)(from + 4);" statement_identifier : (expression_statement "uVar6 = *(undefined4 *)(from + 4);" (assignment_expression "uVar6 = *(undefined4 *)(from + 4)" identifier = (pointer_expression "*(undefined4 *)(from + 4)" * (cast_expression "(undefined4 *)(from + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(from + 4)" ( (binary_expression "from + 4" identifier + number_literal) ))))) ;)) (expression_statement "uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar6);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar6)" identifier = (call_expression "(*(code *)PTR_strlen_004b22a0)(uVar6)" (parenthesized_expression "(*(code *)PTR_strlen_004b22a0)" ( (pointer_expression "*(code *)PTR_strlen_004b22a0" * (cast_expression "(code *)PTR_strlen_004b22a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6)" ( identifier )))) ;) (expression_statement "iVar4 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar6,uVar3);" (assignment_expression "iVar4 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar6,uVar3)" identifier = (call_expression "(*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar6,uVar3)" (parenthesized_expression "(*(code *)PTR_is_non_fatal_redirect_004b1ea4)" ( (pointer_expression "*(code *)PTR_is_non_fatal_redirect_004b1ea4" * (cast_expression "(code *)PTR_is_non_fatal_redirect_004b1ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,uVar3)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 != 0) {\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }" { (labeled_statement "LAB_0041cbe4:\n                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);" statement_identifier : comment comment (expression_statement "(*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);" (call_expression "(*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1)" (parenthesized_expression "(*(code *)PTR_update_ERRNO_int_004b1eac)" ( (pointer_expression "*(code *)PTR_update_ERRNO_int_004b1eac" * (cast_expression "(code *)PTR_update_ERRNO_int_004b1eac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar1)" ( (pointer_expression "*piVar1" * identifier) ))) ;)) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);" (call_expression "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90)" (parenthesized_expression "(*(code *)PTR_set_loc_004b1b6c)" ( (pointer_expression "*(code *)PTR_set_loc_004b1b6c" * (cast_expression "(code *)PTR_set_loc_004b1b6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "("builtin.c",0x90)" ( (string_literal ""builtin.c"" " string_content ") , number_literal ))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"%s to \"%s\" failed: %s",5)" ( number_literal , (string_literal ""%s to \"%s\" failed: %s"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "uVar6 = *(undefined4 *)(from + 4);" (assignment_expression "uVar6 = *(undefined4 *)(from + 4)" identifier = (pointer_expression "*(undefined4 *)(from + 4)" * (cast_expression "(undefined4 *)(from + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(from + 4)" ( (binary_expression "from + 4" identifier + number_literal) ))))) ;) }))) (if_statement "if (*piVar1 == 0) {\n    uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n                    /* WARNING: Could not recover jumptable at 0x0041caf0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);\n    return;\n  }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n    uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n                    /* WARNING: Could not recover jumptable at 0x0041caf0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);\n    return;\n  }" { (expression_statement "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);" (assignment_expression "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"reason unknown",5)" ( number_literal , (string_literal ""reason unknown"" " string_content ") , number_literal )))) ;) comment comment (expression_statement "(*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);" (call_expression "(*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5)" (parenthesized_expression "(*(code *)PTR_r_fatal_004b1b70)" ( (pointer_expression "*(code *)PTR_r_fatal_004b1b70" * (cast_expression "(code *)PTR_r_fatal_004b1b70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,fp,uVar6,uVar5)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar5 = (*(code *)PTR_strerror_004b22c4)();" (assignment_expression "uVar5 = (*(code *)PTR_strerror_004b22c4)()" identifier = (call_expression "(*(code *)PTR_strerror_004b22c4)()" (parenthesized_expression "(*(code *)PTR_strerror_004b22c4)" ( (pointer_expression "*(code *)PTR_strerror_004b22c4" * (cast_expression "(code *)PTR_strerror_004b22c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) comment comment (expression_statement "(*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);" (call_expression "(*(code *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5)" (parenthesized_expression "(*(code *)PTR_r_fatal_004b1b70)" ( (pointer_expression "*(code *)PTR_r_fatal_004b1b70" * (cast_expression "(code *)PTR_r_fatal_004b1b70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,fp,uVar6,uVar5)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0041c994(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,\n                 char param_6)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  int *piVar6;\n  \n  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();\n  *piVar1 = 0;\n  if (param_5 == (uint *)0x0) {\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }\n  if (*piVar1 == 0) {\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_strerror_004b22c4)();\n  (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n  return;\n}\n\n" (function_definition "void FUN_0041c994(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,\n                 char param_6)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  int *piVar6;\n  \n  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();\n  *piVar1 = 0;\n  if (param_5 == (uint *)0x0) {\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }\n  if (*piVar1 == 0) {\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_strerror_004b22c4)();\n  (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n  return;\n}" primitive_type (function_declarator "FUN_0041c994(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,\n                 char param_6)" identifier (parameter_list "(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,\n                 char param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "uint *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "char param_6" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  int *piVar6;\n  \n  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();\n  *piVar1 = 0;\n  if (param_5 == (uint *)0x0) {\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }\n  if (*piVar1 == 0) {\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_strerror_004b22c4)();\n  (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (expression_statement "piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();" (assignment_expression "piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_004b2250)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_004b2250)()" (parenthesized_expression "(*(code *)PTR___errno_location_004b2250)" ( (pointer_expression "*(code *)PTR___errno_location_004b2250" * (cast_expression "(code *)PTR___errno_location_004b2250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" * identifier) = number_literal) ;) (if_statement "if (param_5 == (uint *)0x0) {\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }" if (parenthesized_expression "(param_5 == (uint *)0x0)" ( (binary_expression "param_5 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }" { (expression_statement "iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3)" identifier = (call_expression "(*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_004b2374)" ( (pointer_expression "*(code *)PTR_fwrite_unlocked_004b2374" * (cast_expression "(code *)PTR_fwrite_unlocked_004b2374" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,1,param_2,param_3)" ( identifier , number_literal , identifier , identifier )))) ;) (expression_statement "piVar6 = (int *)PTR_stdout_004b2220;" (assignment_expression "piVar6 = (int *)PTR_stdout_004b2220" identifier = (cast_expression "(int *)PTR_stdout_004b2220" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_2 == iVar2) goto LAB_0041caf8;" if (parenthesized_expression "(param_2 == iVar2)" ( (binary_expression "param_2 == iVar2" identifier == identifier) )) (goto_statement "goto LAB_0041caf8;" goto statement_identifier ;)) (labeled_statement "LAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }" statement_identifier : (if_statement "if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }" if (parenthesized_expression "(param_3 == *piVar6)" ( (binary_expression "param_3 == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }" { (expression_statement "iVar2 = *piVar1;" (assignment_expression "iVar2 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (labeled_statement "LAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" statement_identifier : (if_statement "if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" if (parenthesized_expression "(iVar2 == 0x20)" ( (binary_expression "iVar2 == 0x20" identifier == number_literal) )) (compound_statement "{\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" { (expression_statement "(*(code *)PTR_signal_004b2370)(0xd,0);" (call_expression "(*(code *)PTR_signal_004b2370)(0xd,0)" (parenthesized_expression "(*(code *)PTR_signal_004b2370)" ( (pointer_expression "*(code *)PTR_signal_004b2370" * (cast_expression "(code *)PTR_signal_004b2370" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xd,0)" ( number_literal , number_literal ))) ;) (expression_statement "uVar3 = (*(code *)PTR_getpid_004b22ec)();" (assignment_expression "uVar3 = (*(code *)PTR_getpid_004b22ec)()" identifier = (call_expression "(*(code *)PTR_getpid_004b22ec)()" (parenthesized_expression "(*(code *)PTR_getpid_004b22ec)" ( (pointer_expression "*(code *)PTR_getpid_004b22ec" * (cast_expression "(code *)PTR_getpid_004b22ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_kill_004b22b8)(uVar3,0xd);" (call_expression "(*(code *)PTR_kill_004b22b8)(uVar3,0xd)" (parenthesized_expression "(*(code *)PTR_kill_004b22b8)" ( (pointer_expression "*(code *)PTR_kill_004b22b8" * (cast_expression "(code *)PTR_kill_004b22b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,0xd)" ( identifier , number_literal ))) ;) }))) (labeled_statement "LAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;" statement_identifier : (if_statement "if (param_5 != (uint *)0x0) goto LAB_0041ca2c;" if (parenthesized_expression "(param_5 != (uint *)0x0)" ( (binary_expression "param_5 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0041ca2c;" goto statement_identifier ;))) }))) (expression_statement "iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);" (assignment_expression "iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3)" identifier = (call_expression "(*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3)" (parenthesized_expression "(*(code *)PTR_is_non_fatal_std_004b1ea8)" ( (pointer_expression "*(code *)PTR_is_non_fatal_std_004b1ea8" * (cast_expression "(code *)PTR_is_non_fatal_std_004b1ea8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0041cbe4;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0041cbe4;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);" (call_expression "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90)" (parenthesized_expression "(*(code *)PTR_set_loc_004b1b6c)" ( (pointer_expression "*(code *)PTR_set_loc_004b1b6c" * (cast_expression "(code *)PTR_set_loc_004b1b6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "("builtin.c",0x90)" ( (string_literal ""builtin.c"" " string_content ") , number_literal ))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"%s to \"%s\" failed: %s",5)" ( number_literal , (string_literal ""%s to \"%s\" failed: %s"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (if_statement "if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" if (parenthesized_expression "(param_3 == *piVar6)" ( (binary_expression "param_3 == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }" { (expression_statement "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);" (assignment_expression "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"standard output",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"standard output",5)" ( number_literal , (string_literal ""standard output"" " string_content ") , number_literal )))) ;) }) (else_clause "else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" else (compound_statement "{\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" { (expression_statement "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);" (assignment_expression "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"standard error",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"standard error",5)" ( number_literal , (string_literal ""standard error"" " string_content ") , number_literal )))) ;) }))) }) (else_clause "else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }" else (compound_statement "{\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }" { (expression_statement "iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);" (assignment_expression "iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd])" identifier = (call_expression "(*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd])" (parenthesized_expression "(*(code *)param_5[0xe])" ( (pointer_expression "*(code *)param_5[0xe]" * (cast_expression "(code *)param_5[0xe]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_5[0xe]" identifier [ number_literal ]))) )) (argument_list "(param_1,1,param_2,param_3,param_5[0xd])" ( identifier , number_literal , identifier , identifier , (subscript_expression "param_5[0xd]" identifier [ number_literal ]) )))) ;) (if_statement "if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }" if (parenthesized_expression "(param_2 == iVar2)" ( (binary_expression "param_2 == iVar2" identifier == identifier) )) (compound_statement "{\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }" { (labeled_statement "LAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;" statement_identifier : (expression_statement "piVar6 = (int *)PTR_stdout_004b2220;" (assignment_expression "piVar6 = (int *)PTR_stdout_004b2220" identifier = (cast_expression "(int *)PTR_stdout_004b2220" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (param_6 == '\0') {\n        return;\n      }" if (parenthesized_expression "(param_6 == '\0')" ( (binary_expression "param_6 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }" if (parenthesized_expression "((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0'))" ( (binary_expression "(param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')" (parenthesized_expression "(param_3 == *(int *)PTR_stdout_004b2220)" ( (binary_expression "param_3 == *(int *)PTR_stdout_004b2220" identifier == (pointer_expression "*(int *)PTR_stdout_004b2220" * (cast_expression "(int *)PTR_stdout_004b2220" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(*PTR_output_is_tty_004b1d38 != '\0')" ( (binary_expression "*PTR_output_is_tty_004b1d38 != '\0'" (pointer_expression "*PTR_output_is_tty_004b1d38" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }" { (if_statement "if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }" if (parenthesized_expression "(param_5 == (uint *)0x0)" ( (binary_expression "param_5 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }" { (expression_statement "(*(code *)PTR_fflush_004b23bc)(param_3);" (call_expression "(*(code *)PTR_fflush_004b23bc)(param_3)" (parenthesized_expression "(*(code *)PTR_fflush_004b23bc)" ( (pointer_expression "*(code *)PTR_fflush_004b23bc" * (cast_expression "(code *)PTR_fflush_004b23bc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier ))) ;) (expression_statement "iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);" (assignment_expression "iVar2 = (*(code *)PTR_ferror_004b2384)(param_3)" identifier = (call_expression "(*(code *)PTR_ferror_004b2384)(param_3)" (parenthesized_expression "(*(code *)PTR_ferror_004b2384)" ( (pointer_expression "*(code *)PTR_ferror_004b2384" * (cast_expression "(code *)PTR_ferror_004b2384" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n            return;\n          }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0041ccb8;" goto statement_identifier ;) })) }) (else_clause "else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }" else (compound_statement "{\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }" { (if_statement "if (param_5 == (uint *)0x0) {\n          return;\n        }" if (parenthesized_expression "(param_5 == (uint *)0x0)" ( (binary_expression "param_5 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if ((*param_5 & 0x20) == 0) {\n          return;\n        }" if (parenthesized_expression "((*param_5 & 0x20) == 0)" ( (binary_expression "(*param_5 & 0x20) == 0" (parenthesized_expression "(*param_5 & 0x20)" ( (binary_expression "*param_5 & 0x20" (pointer_expression "*param_5" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) }))) (expression_statement "(*(code *)param_5[0xf])(param_3,param_5[0xd]);" (call_expression "(*(code *)param_5[0xf])(param_3,param_5[0xd])" (parenthesized_expression "(*(code *)param_5[0xf])" ( (pointer_expression "*(code *)param_5[0xf]" * (cast_expression "(code *)param_5[0xf]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_5[0xf]" identifier [ number_literal ]))) )) (argument_list "(param_3,param_5[0xd])" ( identifier , (subscript_expression "param_5[0xd]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);" (assignment_expression "iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd])" identifier = (call_expression "(*(code *)param_5[0x10])(param_3,param_5[0xd])" (parenthesized_expression "(*(code *)param_5[0x10])" ( (pointer_expression "*(code *)param_5[0x10]" * (cast_expression "(code *)param_5[0x10]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_5[0x10]" identifier [ number_literal ]))) )) (argument_list "(param_3,param_5[0xd])" ( identifier , (subscript_expression "param_5[0xd]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar2 == 0) {\n        return;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == *piVar6) goto LAB_0041cb58;" if (parenthesized_expression "(param_3 == *piVar6)" ( (binary_expression "param_3 == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (goto_statement "goto LAB_0041cb58;" goto statement_identifier ;)) (goto_statement "goto LAB_0041cb68;" goto statement_identifier ;) })) (expression_statement "piVar6 = (int *)PTR_stdout_004b2220;" (assignment_expression "piVar6 = (int *)PTR_stdout_004b2220" identifier = (cast_expression "(int *)PTR_stdout_004b2220" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }" if (parenthesized_expression "(param_3 == *(int *)PTR_stdout_004b2220)" ( (binary_expression "param_3 == *(int *)PTR_stdout_004b2220" identifier == (pointer_expression "*(int *)PTR_stdout_004b2220" * (cast_expression "(int *)PTR_stdout_004b2220" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }" { (labeled_statement "LAB_0041cb58:\n      iVar2 = *piVar1;" statement_identifier : (expression_statement "iVar2 = *piVar1;" (assignment_expression "iVar2 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;)) (goto_statement "goto LAB_0041cb5c;" goto statement_identifier ;) })) (labeled_statement "LAB_0041ca2c:\n    uVar5 = param_5[1];" statement_identifier : (expression_statement "uVar5 = param_5[1];" (assignment_expression "uVar5 = param_5[1]" identifier = (subscript_expression "param_5[1]" identifier [ number_literal ])) ;)) (expression_statement "uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5)" identifier = (call_expression "(*(code *)PTR_strlen_004b22a0)(uVar5)" (parenthesized_expression "(*(code *)PTR_strlen_004b22a0)" ( (pointer_expression "*(code *)PTR_strlen_004b22a0" * (cast_expression "(code *)PTR_strlen_004b22a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5)" ( identifier )))) ;) (expression_statement "iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);" (assignment_expression "iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3)" identifier = (call_expression "(*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3)" (parenthesized_expression "(*(code *)PTR_is_non_fatal_redirect_004b1ea4)" ( (pointer_expression "*(code *)PTR_is_non_fatal_redirect_004b1ea4" * (cast_expression "(code *)PTR_is_non_fatal_redirect_004b1ea4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,uVar3)" ( identifier , identifier )))) ;) (if_statement "if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }" { (labeled_statement "LAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);" statement_identifier : (expression_statement "(*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);" (call_expression "(*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1)" (parenthesized_expression "(*(code *)PTR_update_ERRNO_int_004b1eac)" ( (pointer_expression "*(code *)PTR_update_ERRNO_int_004b1eac" * (cast_expression "(code *)PTR_update_ERRNO_int_004b1eac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar1)" ( (pointer_expression "*piVar1" * identifier) ))) ;)) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);" (call_expression "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90)" (parenthesized_expression "(*(code *)PTR_set_loc_004b1b6c)" ( (pointer_expression "*(code *)PTR_set_loc_004b1b6c" * (cast_expression "(code *)PTR_set_loc_004b1b6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "("builtin.c",0x90)" ( (string_literal ""builtin.c"" " string_content ") , number_literal ))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"%s to \"%s\" failed: %s",5)" ( number_literal , (string_literal ""%s to \"%s\" failed: %s"" " string_content escape_sequence string_content escape_sequence string_content ") , number_literal )))) ;) (expression_statement "uVar5 = param_5[1];" (assignment_expression "uVar5 = param_5[1]" identifier = (subscript_expression "param_5[1]" identifier [ number_literal ])) ;) }))) (if_statement "if (*piVar1 == 0) {\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }" { (expression_statement "uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);" (assignment_expression "uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5)" identifier = (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" ( (pointer_expression "*(code *)PTR_dcgettext_004b235c" * (cast_expression "(code *)PTR_dcgettext_004b235c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,"reason unknown",5)" ( number_literal , (string_literal ""reason unknown"" " string_content ") , number_literal )))) ;) (expression_statement "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);" (call_expression "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4)" (parenthesized_expression "(*(code *)PTR_r_fatal_004b1b70)" ( (pointer_expression "*(code *)PTR_r_fatal_004b1b70" * (cast_expression "(code *)PTR_r_fatal_004b1b70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,param_4,uVar5,uVar4)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar4 = (*(code *)PTR_strerror_004b22c4)();" (assignment_expression "uVar4 = (*(code *)PTR_strerror_004b22c4)()" identifier = (call_expression "(*(code *)PTR_strerror_004b22c4)()" (parenthesized_expression "(*(code *)PTR_strerror_004b22c4)" ( (pointer_expression "*(code *)PTR_strerror_004b22c4" * (cast_expression "(code *)PTR_strerror_004b22c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);" (call_expression "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4)" (parenthesized_expression "(*(code *)PTR_r_fatal_004b1b70)" ( (pointer_expression "*(code *)PTR_r_fatal_004b1b70" * (cast_expression "(code *)PTR_r_fatal_004b1b70" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,param_4,uVar5,uVar4)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (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 (pointer_expression * 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 IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (assignment_expression IDENT = (call_expression (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (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 , (string_literal " string_content ") , LIT )))) ;) }) (else_clause else (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 , (string_literal " string_content ") , LIT )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , LIT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 (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 { (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) & LIT) )) == LIT) )) (compound_statement { (return_statement return ;) })) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_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 )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) ))) ;)) (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (string_literal " string_content ") , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content ") , LIT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_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 ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0041c994(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,\n                 char param_6)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  int *piVar6;\n  \n  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();\n  *piVar1 = 0;\n  if (param_5 == (uint *)0x0) {\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }\n  if (*piVar1 == 0) {\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_strerror_004b22c4)();\n  (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0041c994(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,\n                 char param_6)" (identifier "FUN_0041c994") (parameter_list "(undefined4 param_1,int param_2,int param_3,undefined4 param_4,uint *param_5,\n                 char param_6)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "uint *param_5" (type_identifier "uint") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "char param_6" (primitive_type "char") (identifier "param_6")) () ")"))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  uint uVar5;\n  int *piVar6;\n  \n  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();\n  *piVar1 = 0;\n  if (param_5 == (uint *)0x0) {\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }\n  if (*piVar1 == 0) {\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }\n  uVar4 = (*(code *)PTR_strerror_004b22c4)();\n  (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (expression_statement "piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();" (assignment_expression "piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)()" (identifier "piVar1") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_004b2250)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_004b2250)()" (parenthesized_expression "(*(code *)PTR___errno_location_004b2250)" (( "(") (pointer_expression "*(code *)PTR___errno_location_004b2250" (* "*") (cast_expression "(code *)PTR___errno_location_004b2250" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_004b2250"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_5 == (uint *)0x0) {\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }\n  else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }" (if "if") (parenthesized_expression "(param_5 == (uint *)0x0)" (( "(") (binary_expression "param_5 == (uint *)0x0" (identifier "param_5") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_2 == iVar2) goto LAB_0041caf8;\nLAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }\n    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);\n    if (iVar2 != 0) goto LAB_0041cbe4;\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }\n  }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);" (assignment_expression "iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3)" (parenthesized_expression "(*(code *)PTR_fwrite_unlocked_004b2374)" (( "(") (pointer_expression "*(code *)PTR_fwrite_unlocked_004b2374" (* "*") (cast_expression "(code *)PTR_fwrite_unlocked_004b2374" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_unlocked_004b2374"))) () ")")) (argument_list "(param_1,1,param_2,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "piVar6 = (int *)PTR_stdout_004b2220;" (assignment_expression "piVar6 = (int *)PTR_stdout_004b2220" (identifier "piVar6") (= "=") (cast_expression "(int *)PTR_stdout_004b2220" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_004b2220"))) (; ";")) (if_statement "if (param_2 == iVar2) goto LAB_0041caf8;" (if "if") (parenthesized_expression "(param_2 == iVar2)" (( "(") (binary_expression "param_2 == iVar2" (identifier "param_2") (== "==") (identifier "iVar2")) () ")")) (goto_statement "goto LAB_0041caf8;" (goto "goto") (statement_identifier "LAB_0041caf8") (; ";"))) (labeled_statement "LAB_0041ccb8:\n    if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }" (statement_identifier "LAB_0041ccb8") (: ":") (if_statement "if (param_3 == *piVar6) {\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }" (if "if") (parenthesized_expression "(param_3 == *piVar6)" (( "(") (binary_expression "param_3 == *piVar6" (identifier "param_3") (== "==") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) () ")")) (compound_statement "{\n      iVar2 = *piVar1;\nLAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }\nLAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;\n    }" ({ "{") (expression_statement "iVar2 = *piVar1;" (assignment_expression "iVar2 = *piVar1" (identifier "iVar2") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (labeled_statement "LAB_0041cb5c:\n      if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" (statement_identifier "LAB_0041cb5c") (: ":") (if_statement "if (iVar2 == 0x20) {\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" (if "if") (parenthesized_expression "(iVar2 == 0x20)" (( "(") (binary_expression "iVar2 == 0x20" (identifier "iVar2") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n        (*(code *)PTR_signal_004b2370)(0xd,0);\n        uVar3 = (*(code *)PTR_getpid_004b22ec)();\n        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);\n      }" ({ "{") (expression_statement "(*(code *)PTR_signal_004b2370)(0xd,0);" (call_expression "(*(code *)PTR_signal_004b2370)(0xd,0)" (parenthesized_expression "(*(code *)PTR_signal_004b2370)" (( "(") (pointer_expression "*(code *)PTR_signal_004b2370" (* "*") (cast_expression "(code *)PTR_signal_004b2370" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_signal_004b2370"))) () ")")) (argument_list "(0xd,0)" (( "(") (number_literal "0xd") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar3 = (*(code *)PTR_getpid_004b22ec)();" (assignment_expression "uVar3 = (*(code *)PTR_getpid_004b22ec)()" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_getpid_004b22ec)()" (parenthesized_expression "(*(code *)PTR_getpid_004b22ec)" (( "(") (pointer_expression "*(code *)PTR_getpid_004b22ec" (* "*") (cast_expression "(code *)PTR_getpid_004b22ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_getpid_004b22ec"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_kill_004b22b8)(uVar3,0xd);" (call_expression "(*(code *)PTR_kill_004b22b8)(uVar3,0xd)" (parenthesized_expression "(*(code *)PTR_kill_004b22b8)" (( "(") (pointer_expression "*(code *)PTR_kill_004b22b8" (* "*") (cast_expression "(code *)PTR_kill_004b22b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_kill_004b22b8"))) () ")")) (argument_list "(uVar3,0xd)" (( "(") (identifier "uVar3") (, ",") (number_literal "0xd") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_0041cb68:\n      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;" (statement_identifier "LAB_0041cb68") (: ":") (if_statement "if (param_5 != (uint *)0x0) goto LAB_0041ca2c;" (if "if") (parenthesized_expression "(param_5 != (uint *)0x0)" (( "(") (binary_expression "param_5 != (uint *)0x0" (identifier "param_5") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0041ca2c;" (goto "goto") (statement_identifier "LAB_0041ca2c") (; ";")))) (} "}")))) (expression_statement "iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);" (assignment_expression "iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3)" (parenthesized_expression "(*(code *)PTR_is_non_fatal_std_004b1ea8)" (( "(") (pointer_expression "*(code *)PTR_is_non_fatal_std_004b1ea8" (* "*") (cast_expression "(code *)PTR_is_non_fatal_std_004b1ea8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_is_non_fatal_std_004b1ea8"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_0041cbe4;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0041cbe4;" (goto "goto") (statement_identifier "LAB_0041cbe4") (; ";"))) (expression_statement "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);" (call_expression "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90)" (parenthesized_expression "(*(code *)PTR_set_loc_004b1b6c)" (( "(") (pointer_expression "*(code *)PTR_set_loc_004b1b6c" (* "*") (cast_expression "(code *)PTR_set_loc_004b1b6c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_loc_004b1b6c"))) () ")")) (argument_list "("builtin.c",0x90)" (( "(") (string_literal ""builtin.c"" (" """) (string_content "builtin.c") (" """)) (, ",") (number_literal "0x90") () ")"))) (; ";")) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_004b235c" (* "*") (cast_expression "(code *)PTR_dcgettext_004b235c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_004b235c"))) () ")")) (argument_list "(0,"%s to \"%s\" failed: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s to \"%s\" failed: %s"" (" """) (string_content "%s to ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " failed: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (if_statement "if (param_3 == *piVar6) {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }\n    else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" (if "if") (parenthesized_expression "(param_3 == *piVar6)" (( "(") (binary_expression "param_3 == *piVar6" (identifier "param_3") (== "==") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) () ")")) (compound_statement "{\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);\n    }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);" (assignment_expression "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"standard output",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_004b235c" (* "*") (cast_expression "(code *)PTR_dcgettext_004b235c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_004b235c"))) () ")")) (argument_list "(0,"standard output",5)" (( "(") (number_literal "0") (, ",") (string_literal ""standard output"" (" """) (string_content "standard output") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" (else "else") (compound_statement "{\n      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);\n    }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);" (assignment_expression "uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"standard error",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_004b235c" (* "*") (cast_expression "(code *)PTR_dcgettext_004b235c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_004b235c"))) () ")")) (argument_list "(0,"standard error",5)" (( "(") (number_literal "0") (, ",") (string_literal ""standard error"" (" """) (string_content "standard error") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }" (else "else") (compound_statement "{\n    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);\n    if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }\n    piVar6 = (int *)PTR_stdout_004b2220;\n    if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }\nLAB_0041ca2c:\n    uVar5 = param_5[1];\n    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);\n    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);\n    if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }\n    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);\n    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);\n    uVar5 = param_5[1];\n  }" ({ "{") (expression_statement "iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);" (assignment_expression "iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd])" (identifier "iVar2") (= "=") (call_expression "(*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd])" (parenthesized_expression "(*(code *)param_5[0xe])" (( "(") (pointer_expression "*(code *)param_5[0xe]" (* "*") (cast_expression "(code *)param_5[0xe]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_5[0xe]" (identifier "param_5") ([ "[") (number_literal "0xe") (] "]")))) () ")")) (argument_list "(param_1,1,param_2,param_3,param_5[0xd])" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (subscript_expression "param_5[0xd]" (identifier "param_5") ([ "[") (number_literal "0xd") (] "]")) () ")")))) (; ";")) (if_statement "if (param_2 == iVar2) {\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }" (if "if") (parenthesized_expression "(param_2 == iVar2)" (( "(") (binary_expression "param_2 == iVar2" (identifier "param_2") (== "==") (identifier "iVar2")) () ")")) (compound_statement "{\nLAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;\n      if (param_6 == '\0') {\n        return;\n      }\n      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }\n      (*(code *)param_5[0xf])(param_3,param_5[0xd]);\n      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);\n      if (iVar2 == 0) {\n        return;\n      }\n      if (param_3 == *piVar6) goto LAB_0041cb58;\n      goto LAB_0041cb68;\n    }" ({ "{") (labeled_statement "LAB_0041caf8:\n      piVar6 = (int *)PTR_stdout_004b2220;" (statement_identifier "LAB_0041caf8") (: ":") (expression_statement "piVar6 = (int *)PTR_stdout_004b2220;" (assignment_expression "piVar6 = (int *)PTR_stdout_004b2220" (identifier "piVar6") (= "=") (cast_expression "(int *)PTR_stdout_004b2220" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_004b2220"))) (; ";"))) (if_statement "if (param_6 == '\0') {\n        return;\n      }" (if "if") (parenthesized_expression "(param_6 == '\0')" (( "(") (binary_expression "param_6 == '\0'" (identifier "param_6") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }\n      else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }" (if "if") (parenthesized_expression "((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0'))" (( "(") (binary_expression "(param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')" (parenthesized_expression "(param_3 == *(int *)PTR_stdout_004b2220)" (( "(") (binary_expression "param_3 == *(int *)PTR_stdout_004b2220" (identifier "param_3") (== "==") (pointer_expression "*(int *)PTR_stdout_004b2220" (* "*") (cast_expression "(int *)PTR_stdout_004b2220" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_004b2220")))) () ")")) (&& "&&") (parenthesized_expression "(*PTR_output_is_tty_004b1d38 != '\0')" (( "(") (binary_expression "*PTR_output_is_tty_004b1d38 != '\0'" (pointer_expression "*PTR_output_is_tty_004b1d38" (* "*") (identifier "PTR_output_is_tty_004b1d38")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }\n      }" ({ "{") (if_statement "if (param_5 == (uint *)0x0) {\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }" (if "if") (parenthesized_expression "(param_5 == (uint *)0x0)" (( "(") (binary_expression "param_5 == (uint *)0x0" (identifier "param_5") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (*(code *)PTR_fflush_004b23bc)(param_3);\n          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);\n          if (iVar2 == 0) {\n            return;\n          }\n          goto LAB_0041ccb8;\n        }" ({ "{") (expression_statement "(*(code *)PTR_fflush_004b23bc)(param_3);" (call_expression "(*(code *)PTR_fflush_004b23bc)(param_3)" (parenthesized_expression "(*(code *)PTR_fflush_004b23bc)" (( "(") (pointer_expression "*(code *)PTR_fflush_004b23bc" (* "*") (cast_expression "(code *)PTR_fflush_004b23bc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fflush_004b23bc"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")"))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);" (assignment_expression "iVar2 = (*(code *)PTR_ferror_004b2384)(param_3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_ferror_004b2384)(param_3)" (parenthesized_expression "(*(code *)PTR_ferror_004b2384)" (( "(") (pointer_expression "*(code *)PTR_ferror_004b2384" (* "*") (cast_expression "(code *)PTR_ferror_004b2384" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ferror_004b2384"))) () ")")) (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n            return;\n          }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            return;\n          }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_0041ccb8;" (goto "goto") (statement_identifier "LAB_0041ccb8") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }" (else "else") (compound_statement "{\n        if (param_5 == (uint *)0x0) {\n          return;\n        }\n        if ((*param_5 & 0x20) == 0) {\n          return;\n        }\n      }" ({ "{") (if_statement "if (param_5 == (uint *)0x0) {\n          return;\n        }" (if "if") (parenthesized_expression "(param_5 == (uint *)0x0)" (( "(") (binary_expression "param_5 == (uint *)0x0" (identifier "param_5") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((*param_5 & 0x20) == 0) {\n          return;\n        }" (if "if") (parenthesized_expression "((*param_5 & 0x20) == 0)" (( "(") (binary_expression "(*param_5 & 0x20) == 0" (parenthesized_expression "(*param_5 & 0x20)" (( "(") (binary_expression "*param_5 & 0x20" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (expression_statement "(*(code *)param_5[0xf])(param_3,param_5[0xd]);" (call_expression "(*(code *)param_5[0xf])(param_3,param_5[0xd])" (parenthesized_expression "(*(code *)param_5[0xf])" (( "(") (pointer_expression "*(code *)param_5[0xf]" (* "*") (cast_expression "(code *)param_5[0xf]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_5[0xf]" (identifier "param_5") ([ "[") (number_literal "0xf") (] "]")))) () ")")) (argument_list "(param_3,param_5[0xd])" (( "(") (identifier "param_3") (, ",") (subscript_expression "param_5[0xd]" (identifier "param_5") ([ "[") (number_literal "0xd") (] "]")) () ")"))) (; ";")) (expression_statement "iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);" (assignment_expression "iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd])" (identifier "iVar2") (= "=") (call_expression "(*(code *)param_5[0x10])(param_3,param_5[0xd])" (parenthesized_expression "(*(code *)param_5[0x10])" (( "(") (pointer_expression "*(code *)param_5[0x10]" (* "*") (cast_expression "(code *)param_5[0x10]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_5[0x10]" (identifier "param_5") ([ "[") (number_literal "0x10") (] "]")))) () ")")) (argument_list "(param_3,param_5[0xd])" (( "(") (identifier "param_3") (, ",") (subscript_expression "param_5[0xd]" (identifier "param_5") ([ "[") (number_literal "0xd") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n        return;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 == *piVar6) goto LAB_0041cb58;" (if "if") (parenthesized_expression "(param_3 == *piVar6)" (( "(") (binary_expression "param_3 == *piVar6" (identifier "param_3") (== "==") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) () ")")) (goto_statement "goto LAB_0041cb58;" (goto "goto") (statement_identifier "LAB_0041cb58") (; ";"))) (goto_statement "goto LAB_0041cb68;" (goto "goto") (statement_identifier "LAB_0041cb68") (; ";")) (} "}"))) (expression_statement "piVar6 = (int *)PTR_stdout_004b2220;" (assignment_expression "piVar6 = (int *)PTR_stdout_004b2220" (identifier "piVar6") (= "=") (cast_expression "(int *)PTR_stdout_004b2220" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_004b2220"))) (; ";")) (if_statement "if (param_3 == *(int *)PTR_stdout_004b2220) {\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }" (if "if") (parenthesized_expression "(param_3 == *(int *)PTR_stdout_004b2220)" (( "(") (binary_expression "param_3 == *(int *)PTR_stdout_004b2220" (identifier "param_3") (== "==") (pointer_expression "*(int *)PTR_stdout_004b2220" (* "*") (cast_expression "(int *)PTR_stdout_004b2220" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_004b2220")))) () ")")) (compound_statement "{\nLAB_0041cb58:\n      iVar2 = *piVar1;\n      goto LAB_0041cb5c;\n    }" ({ "{") (labeled_statement "LAB_0041cb58:\n      iVar2 = *piVar1;" (statement_identifier "LAB_0041cb58") (: ":") (expression_statement "iVar2 = *piVar1;" (assignment_expression "iVar2 = *piVar1" (identifier "iVar2") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";"))) (goto_statement "goto LAB_0041cb5c;" (goto "goto") (statement_identifier "LAB_0041cb5c") (; ";")) (} "}"))) (labeled_statement "LAB_0041ca2c:\n    uVar5 = param_5[1];" (statement_identifier "LAB_0041ca2c") (: ":") (expression_statement "uVar5 = param_5[1];" (assignment_expression "uVar5 = param_5[1]" (identifier "uVar5") (= "=") (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (expression_statement "uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);" (assignment_expression "uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_strlen_004b22a0)(uVar5)" (parenthesized_expression "(*(code *)PTR_strlen_004b22a0)" (( "(") (pointer_expression "*(code *)PTR_strlen_004b22a0" (* "*") (cast_expression "(code *)PTR_strlen_004b22a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004b22a0"))) () ")")) (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);" (assignment_expression "iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3)" (parenthesized_expression "(*(code *)PTR_is_non_fatal_redirect_004b1ea4)" (( "(") (pointer_expression "*(code *)PTR_is_non_fatal_redirect_004b1ea4" (* "*") (cast_expression "(code *)PTR_is_non_fatal_redirect_004b1ea4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_is_non_fatal_redirect_004b1ea4"))) () ")")) (argument_list "(uVar5,uVar3)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar3") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);\n      return;\n    }" ({ "{") (labeled_statement "LAB_0041cbe4:\n                    \n                    \n      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);" (statement_identifier "LAB_0041cbe4") (: ":") (expression_statement "(*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);" (call_expression "(*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1)" (parenthesized_expression "(*(code *)PTR_update_ERRNO_int_004b1eac)" (( "(") (pointer_expression "*(code *)PTR_update_ERRNO_int_004b1eac" (* "*") (cast_expression "(code *)PTR_update_ERRNO_int_004b1eac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_update_ERRNO_int_004b1eac"))) () ")")) (argument_list "(*piVar1)" (( "(") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);" (call_expression "(*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90)" (parenthesized_expression "(*(code *)PTR_set_loc_004b1b6c)" (( "(") (pointer_expression "*(code *)PTR_set_loc_004b1b6c" (* "*") (cast_expression "(code *)PTR_set_loc_004b1b6c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_loc_004b1b6c"))) () ")")) (argument_list "("builtin.c",0x90)" (( "(") (string_literal ""builtin.c"" (" """) (string_content "builtin.c") (" """)) (, ",") (number_literal "0x90") () ")"))) (; ";")) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_004b235c" (* "*") (cast_expression "(code *)PTR_dcgettext_004b235c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_004b235c"))) () ")")) (argument_list "(0,"%s to \"%s\" failed: %s",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s to \"%s\" failed: %s"" (" """) (string_content "%s to ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " failed: %s") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar5 = param_5[1];" (assignment_expression "uVar5 = param_5[1]" (identifier "uVar5") (= "=") (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}")))) (if_statement "if (*piVar1 == 0) {\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }" (if "if") (parenthesized_expression "(*piVar1 == 0)" (( "(") (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);\n    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);\n    return;\n  }" ({ "{") (expression_statement "uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);" (assignment_expression "uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5)" (parenthesized_expression "(*(code *)PTR_dcgettext_004b235c)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_004b235c" (* "*") (cast_expression "(code *)PTR_dcgettext_004b235c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_004b235c"))) () ")")) (argument_list "(0,"reason unknown",5)" (( "(") (number_literal "0") (, ",") (string_literal ""reason unknown"" (" """) (string_content "reason unknown") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);" (call_expression "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4)" (parenthesized_expression "(*(code *)PTR_r_fatal_004b1b70)" (( "(") (pointer_expression "*(code *)PTR_r_fatal_004b1b70" (* "*") (cast_expression "(code *)PTR_r_fatal_004b1b70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_r_fatal_004b1b70"))) () ")")) (argument_list "(uVar3,param_4,uVar5,uVar4)" (( "(") (identifier "uVar3") (, ",") (identifier "param_4") (, ",") (identifier "uVar5") (, ",") (identifier "uVar4") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar4 = (*(code *)PTR_strerror_004b22c4)();" (assignment_expression "uVar4 = (*(code *)PTR_strerror_004b22c4)()" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_strerror_004b22c4)()" (parenthesized_expression "(*(code *)PTR_strerror_004b22c4)" (( "(") (pointer_expression "*(code *)PTR_strerror_004b22c4" (* "*") (cast_expression "(code *)PTR_strerror_004b22c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_004b22c4"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);" (call_expression "(*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4)" (parenthesized_expression "(*(code *)PTR_r_fatal_004b1b70)" (( "(") (pointer_expression "*(code *)PTR_r_fatal_004b1b70" (* "*") (cast_expression "(code *)PTR_r_fatal_004b1b70" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_r_fatal_004b1b70"))) () ")")) (argument_list "(uVar3,param_4,uVar5,uVar4)" (( "(") (identifier "uVar3") (, ",") (identifier "param_4") (, ",") (identifier "uVar5") (, ",") (identifier "uVar4") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(void *ptr,size_t var_2,size_t var_4,type_1 *fp,char *var_1,type_2 *rp,type_3 flush)

{
  int *piVar1;
  size_t var_3;
  type_4 uVar3;
  int var_5;
  type_4 uVar5;
  type_4 uVar6;
  size_t *psVar7;
  
  piVar1 = (int *)(*(type_5 *)PTR___errno_location_004b2250)();
  *piVar1 = 0;
  if (var_1 == (char *)0x0) {
    var_3 = (*(type_5 *)PTR_fwrite_unlocked_004b2374)(ptr,1,var_2,var_4);
    psVar7 = (size_t *)PTR_stdout_004b2220;
    if (var_2 == var_3) goto LAB_0041caf8;
LAB_0041ccb8:
    if (var_4 == *psVar7) {
      var_5 = *piVar1;
LAB_0041cb5c:
      if (var_5 == 0x20) {
        (*(type_5 *)PTR_signal_004b2370)(0xd,0);
        uVar3 = (*(type_5 *)PTR_getpid_004b22ec)();
        (*(type_5 *)PTR_kill_004b22b8)(uVar3,0xd);
      }
LAB_0041cb68:
      if (var_1 != (char *)0x0) goto LAB_0041ca2c;
    }
    var_5 = (*(type_5 *)PTR_is_non_fatal_std_004b1ea8)(var_4);
    if (var_5 != 0) goto LAB_0041cbe4;
    (*(type_5 *)PTR_set_loc_004b1b6c)("builtin.c",0x90);
    uVar3 = (*(type_5 *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);
    if (var_4 == *psVar7) {
      uVar6 = (*(type_5 *)PTR_dcgettext_004b235c)(0,"standard output",5);
    }
    else {
      uVar6 = (*(type_5 *)PTR_dcgettext_004b235c)(0,"standard error",5);
    }
  }
  else {
    var_3 = (**(type_5 **)(var_1 + 0x38))(ptr,1,var_2,var_4,*(type_4 *)(var_1 + 0x34));
    if (var_2 == var_3) {
LAB_0041caf8:
      psVar7 = (size_t *)PTR_stdout_004b2220;
      if ((char)rp == '\0') {
        return;
      }
      if ((var_4 == *(size_t *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {
        if (var_1 == (char *)0x0) {
          (*(type_5 *)PTR_fflush_004b23bc)(var_4);
          var_5 = (*(type_5 *)PTR_ferror_004b2384)(var_4);
          if (var_5 == 0) {
            return;
          }
          goto LAB_0041ccb8;
        }
      }
      else {
        if (var_1 == (char *)0x0) {
          return;
        }
        if ((*(type_6 *)var_1 & 0x20) == 0) {
          return;
        }
      }
      (**(type_5 **)(var_1 + 0x3c))(var_4,*(type_4 *)(var_1 + 0x34));
      var_5 = (**(type_5 **)(var_1 + 0x40))(var_4,*(type_4 *)(var_1 + 0x34));
      if (var_5 == 0) {
        return;
      }
      if (var_4 == *psVar7) goto LAB_0041cb58;
      goto LAB_0041cb68;
    }
    psVar7 = (size_t *)PTR_stdout_004b2220;
    if (var_4 == *(size_t *)PTR_stdout_004b2220) {
LAB_0041cb58:
      var_5 = *piVar1;
      goto LAB_0041cb5c;
    }
LAB_0041ca2c:
    uVar6 = *(type_4 *)(var_1 + 4);
    uVar3 = (*(type_5 *)PTR_strlen_004b22a0)(uVar6);
    var_5 = (*(type_5 *)PTR_is_non_fatal_redirect_004b1ea4)(uVar6,uVar3);
    if (var_5 != 0) {
LAB_0041cbe4:
                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*(type_5 *)PTR_update_ERRNO_int_004b1eac)(*piVar1);
      return;
    }
    (*(type_5 *)PTR_set_loc_004b1b6c)("builtin.c",0x90);
    uVar3 = (*(type_5 *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);
    uVar6 = *(type_4 *)(var_1 + 4);
  }
  if (*piVar1 == 0) {
    uVar5 = (*(type_5 *)PTR_dcgettext_004b235c)(0,"reason unknown",5);
                    /* WARNING: Could not recover jumptable at 0x0041caf0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(type_5 *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);
    return;
  }
  uVar5 = (*(type_5 *)PTR_strerror_004b22c4)();
                    /* WARNING: Could not recover jumptable at 0x0041cc7c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*(type_5 *)PTR_r_fatal_004b1b70)(uVar3,fp,uVar6,uVar5);
  return;
}


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

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

{
  int *piVar1;
  int iVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  uint uVar5;
  int *piVar6;
  
  piVar1 = (int *)(*(code *)PTR___errno_location_004b2250)();
  *piVar1 = 0;
  if (param_5 == (uint *)0x0) {
    iVar2 = (*(code *)PTR_fwrite_unlocked_004b2374)(param_1,1,param_2,param_3);
    piVar6 = (int *)PTR_stdout_004b2220;
    if (param_2 == iVar2) goto LAB_0041caf8;
LAB_0041ccb8:
    if (param_3 == *piVar6) {
      iVar2 = *piVar1;
LAB_0041cb5c:
      if (iVar2 == 0x20) {
        (*(code *)PTR_signal_004b2370)(0xd,0);
        uVar3 = (*(code *)PTR_getpid_004b22ec)();
        (*(code *)PTR_kill_004b22b8)(uVar3,0xd);
      }
LAB_0041cb68:
      if (param_5 != (uint *)0x0) goto LAB_0041ca2c;
    }
    iVar2 = (*(code *)PTR_is_non_fatal_std_004b1ea8)(param_3);
    if (iVar2 != 0) goto LAB_0041cbe4;
    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);
    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);
    if (param_3 == *piVar6) {
      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard output",5);
    }
    else {
      uVar5 = (*(code *)PTR_dcgettext_004b235c)(0,"standard error",5);
    }
  }
  else {
    iVar2 = (*(code *)param_5[0xe])(param_1,1,param_2,param_3,param_5[0xd]);
    if (param_2 == iVar2) {
LAB_0041caf8:
      piVar6 = (int *)PTR_stdout_004b2220;
      if (param_6 == '\0') {
        return;
      }
      if ((param_3 == *(int *)PTR_stdout_004b2220) && (*PTR_output_is_tty_004b1d38 != '\0')) {
        if (param_5 == (uint *)0x0) {
          (*(code *)PTR_fflush_004b23bc)(param_3);
          iVar2 = (*(code *)PTR_ferror_004b2384)(param_3);
          if (iVar2 == 0) {
            return;
          }
          goto LAB_0041ccb8;
        }
      }
      else {
        if (param_5 == (uint *)0x0) {
          return;
        }
        if ((*param_5 & 0x20) == 0) {
          return;
        }
      }
      (*(code *)param_5[0xf])(param_3,param_5[0xd]);
      iVar2 = (*(code *)param_5[0x10])(param_3,param_5[0xd]);
      if (iVar2 == 0) {
        return;
      }
      if (param_3 == *piVar6) goto LAB_0041cb58;
      goto LAB_0041cb68;
    }
    piVar6 = (int *)PTR_stdout_004b2220;
    if (param_3 == *(int *)PTR_stdout_004b2220) {
LAB_0041cb58:
      iVar2 = *piVar1;
      goto LAB_0041cb5c;
    }
LAB_0041ca2c:
    uVar5 = param_5[1];
    uVar3 = (*(code *)PTR_strlen_004b22a0)(uVar5);
    iVar2 = (*(code *)PTR_is_non_fatal_redirect_004b1ea4)(uVar5,uVar3);
    if (iVar2 != 0) {
LAB_0041cbe4:
                    /* WARNING: Could not recover jumptable at 0x0041cc0c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      (*(code *)PTR_update_ERRNO_int_004b1eac)(*piVar1);
      return;
    }
    (*(code *)PTR_set_loc_004b1b6c)("builtin.c",0x90);
    uVar3 = (*(code *)PTR_dcgettext_004b235c)(0,"%s to \"%s\" failed: %s",5);
    uVar5 = param_5[1];
  }
  if (*piVar1 == 0) {
    uVar4 = (*(code *)PTR_dcgettext_004b235c)(0,"reason unknown",5);
    (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);
    return;
  }
  uVar4 = (*(code *)PTR_strerror_004b22c4)();
  (*(code *)PTR_r_fatal_004b1b70)(uVar3,param_4,uVar5,uVar4);
  return;
}

