
bfd_boolean gldelf32btsmipn32_search_needed(char *path,dt_needed *n,int force)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  int iVar5;
  code *pcVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined *puVar9;
  char *pcVar10;
  char *pcVar11;
  int iVar12;
  undefined4 uVar13;
  undefined1 *puVar14;
  int iVar15;
  undefined1 *puVar16;
  char cVar20;
  char *pcVar17;
  bfd *pbVar18;
  bfd_boolean bVar19;
  char *force_00;
  int iVar21;
  int iVar22;
  undefined *puVar23;
  dt_needed needed;
  
  puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974;
  puVar3 = PTR_config_001db90c;
  force_00 = n->name;
  if (*force_00 == '/') {
    bVar19 = gldelf32btsmipn32_try_needed(n,(int)force_00,(dt_needed *)force);
    return bVar19;
  }
  if ((path == (char *)0x0) || (*path == '\0')) {
    return 0;
  }
  needed.by = n->by;
  needed.name = force_00;
  iVar5 = (*(code *)PTR_strlen_001dbf90)(force_00);
  pcVar6 = (code *)(PTR_LAB_001dbd8c + -0x141c);
  puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;
  puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;
  puVar9 = PTR_yy_accept_1428__001db910 + 0x72fc;
  do {
    pcVar10 = (char *)(*(code *)PTR_strchr_001dbf9c)(path,(int)(char)puVar3[0x48]);
    if (pcVar10 == (char *)0x0) {
      iVar21 = (*(code *)PTR_strlen_001dbf90)(path);
      pcVar10 = path + iVar21;
    }
    iVar21 = (int)pcVar10 - (int)path;
    pcVar11 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar5 + 2);
    pcVar17 = pcVar11;
    if (path != pcVar10) {
      (*(code *)PTR_memcpy_001dc0e4)(pcVar11,path,iVar21);
      pcVar11[iVar21] = '/';
      pcVar17 = pcVar11 + iVar21 + 1;
    }
    puVar2 = PTR_LAB_001db908;
    iVar21 = 0;
    (*(code *)PTR_strcpy_001dc024)(pcVar17,force_00);
    while (iVar15 = (*(code *)PTR_strchr_001dbf9c)(pcVar11 + iVar21,0x24), iVar15 != 0) {
      puVar16 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f);
      iVar21 = (*(code *)PTR_strlen_001dbf90)(pcVar11);
      if (puVar16 != (undefined1 *)0x0) {
        *puVar16 = 0;
      }
      cVar20 = *(char *)(iVar15 + 1);
      if (cVar20 == '{') {
        cVar20 = *(char *)(iVar15 + 2);
        iVar22 = iVar15 + 3;
        if (cVar20 != 'L') goto LAB_0004f35c;
LAB_0004f3d4:
        iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);
        if ((iVar12 != 0) &&
           (iVar22 = (*(code *)PTR_strcmp_001dc144)
                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),
           iVar22 != 0)) goto LAB_0004f36c;
        puVar23 = (undefined *)0x0;
        pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3);
        puVar1 = puVar9;
joined_r0x0004f27c:
        iVar15 = iVar15 - (int)pcVar11;
        if (puVar16 == (undefined1 *)0x0) {
          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);
          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);
          iVar21 = iVar21 + iVar15;
        }
        else {
          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);
          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);
          iVar21 = iVar15 + 1 + iVar21;
        }
        (*(code *)PTR_free_001dc0ec)(pcVar11);
      }
      else {
        iVar22 = iVar15 + 2;
        if (cVar20 == 'L') goto LAB_0004f3d4;
LAB_0004f35c:
        if ((((cVar20 == 'O') &&
             ((iVar12 = (*(code *)PTR_strcmp_001dc144)
                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),
              iVar12 == 0 ||
              (iVar22 = (*(code *)PTR_strcmp_001dc144)
                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),
              iVar22 == 0)))) &&
            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||
             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&
           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {
          if (*pcVar17 == '/') {
            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);
          }
          else {
            uVar13 = (*(code *)PTR_getpwd_001dc07c)();
            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);
            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);
            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);
            (*(code *)PTR_sprintf_001dbea0)
                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,
                       pcVar17);
          }
          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);
          puVar1 = PTR_strlen_001dbf90;
          if (puVar14 == (undefined1 *)0x0) {
            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);
          }
          else {
            *puVar14 = 0;
            iVar22 = (*(code *)puVar1)();
          }
          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);
          puVar1 = puVar23;
          goto joined_r0x0004f27c;
        }
LAB_0004f36c:
        if (*(int *)PTR_verbose_001db950 != 0) {
          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);
          info_msg(pcVar17,iVar15);
        }
        if (puVar16 != (undefined1 *)0x0) {
          *puVar16 = 0x2f;
        }
        iVar21 = (iVar15 + 1) - (int)pcVar11;
        puVar23 = (undefined *)0x0;
        pcVar17 = pcVar11;
      }
      (*(code *)PTR_free_001dc0ec)(puVar23);
      pcVar11 = pcVar17;
    }
    needed.name = pcVar11;
    iVar21 = (*pcVar6)(&needed,pcVar11,force);
    if (iVar21 != 0) {
      return 1;
    }
    (*(code *)PTR_free_001dc0ec)(pcVar11);
    if (*pcVar10 == '\0') {
      return 0;
    }
    path = pcVar10 + 1;
  } while( true );
}



undefined4 FUN_0004f008(char *param_1,undefined4 *param_2,undefined4 param_3)

{
  undefined *puVar1;
  char *pcVar2;
  char *pcVar3;
  int iVar4;
  undefined1 *puVar5;
  int iVar6;
  undefined1 *puVar7;
  char cVar10;
  undefined4 uVar8;
  undefined4 *puVar9;
  int iVar11;
  char *pcVar12;
  int iVar13;
  undefined *puVar14;
  undefined4 *local_58;
  char *local_54;
  undefined *local_50;
  undefined *local_4c;
  undefined *local_48;
  undefined *local_44;
  char *local_40;
  int local_3c;
  undefined *local_38;
  code *local_34;
  undefined *local_30;
  
  local_54 = (char *)param_2[1];
  local_40 = local_54;
  if (*local_54 == '/') {
    uVar8 = FUN_0004ebe4(param_2);
    return uVar8;
  }
  if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {
    return 0;
  }
  local_58 = (undefined4 *)*param_2;
  local_38 = PTR_config_001db90c;
  local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;
  local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);
  local_3c = local_3c + 2;
  local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);
  local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;
  local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;
  local_4c = PTR_DAT_001db910 + 0x72fc;
  do {
    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);
    if (pcVar2 == (char *)0x0) {
      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);
      pcVar2 = param_1 + iVar11;
    }
    iVar11 = (int)pcVar2 - (int)param_1;
    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);
    pcVar12 = pcVar3;
    if (param_1 != pcVar2) {
      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);
      pcVar3[iVar11] = '/';
      pcVar12 = pcVar3 + iVar11 + 1;
    }
    local_50 = PTR_LAB_001db908;
    iVar11 = 0;
    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);
    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {
      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);
      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);
      if (puVar7 != (undefined1 *)0x0) {
        *puVar7 = 0;
      }
      cVar10 = *(char *)(iVar6 + 1);
      if (cVar10 == '{') {
        cVar10 = *(char *)(iVar6 + 2);
        iVar13 = iVar6 + 3;
        if (cVar10 != 'L') goto LAB_0004f35c;
LAB_0004f3d4:
        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);
        if ((iVar4 != 0) &&
           (iVar13 = (*(code *)PTR_strcmp_001dc144)
                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),
           iVar13 != 0)) goto LAB_0004f36c;
        puVar1 = local_4c;
        puVar14 = (undefined *)0x0;
        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);
joined_r0x0004f27c:
        iVar6 = iVar6 - (int)pcVar3;
        if (puVar7 == (undefined1 *)0x0) {
          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);
          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);
          iVar11 = iVar11 + iVar6;
        }
        else {
          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);
          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);
          iVar11 = iVar6 + 1 + iVar11;
        }
        (*(code *)PTR_free_001dc0ec)(pcVar3);
      }
      else {
        iVar13 = iVar6 + 2;
        if (cVar10 == 'L') goto LAB_0004f3d4;
LAB_0004f35c:
        if ((((cVar10 == 'O') &&
             ((iVar4 = (*(code *)PTR_strcmp_001dc144)
                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),
              iVar4 == 0 ||
              (iVar13 = (*(code *)PTR_strcmp_001dc144)
                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),
              iVar13 == 0)))) &&
            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||
             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)
             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {
          if (*pcVar12 == '/') {
            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);
          }
          else {
            uVar8 = (*(code *)PTR_getpwd_001dc07c)();
            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);
            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);
            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);
            (*(code *)PTR_sprintf_001dbea0)
                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12
                      );
          }
          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);
          puVar1 = PTR_strlen_001dbf90;
          if (puVar5 == (undefined1 *)0x0) {
            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);
          }
          else {
            *puVar5 = 0;
            iVar13 = (*(code *)puVar1)();
          }
          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);
          puVar1 = puVar14;
          goto joined_r0x0004f27c;
        }
LAB_0004f36c:
        if (*(int *)PTR_verbose_001db950 != 0) {
          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);
          info_msg(uVar8,iVar6);
        }
        if (puVar7 != (undefined1 *)0x0) {
          *puVar7 = 0x2f;
        }
        iVar11 = (iVar6 + 1) - (int)pcVar3;
        puVar14 = (undefined *)0x0;
        pcVar12 = pcVar3;
      }
      (*(code *)PTR_free_001dc0ec)(puVar14);
      pcVar3 = pcVar12;
    }
    local_54 = pcVar3;
    iVar11 = (*local_34)(&local_58,pcVar3,param_3);
    if (iVar11 != 0) {
      return 1;
    }
    (*(code *)PTR_free_001dc0ec)(pcVar3);
    if (*pcVar2 == '\0') {
      return 0;
    }
    param_1 = pcVar2 + 1;
  } while( true );
}


lui gp,0x19
addiu gp,gp,0x48c8
addu gp,gp,t9
addiu sp,sp,-0x78
or v0,a1,zero
lw a1,0x4(a1)
li v1,0x2f
sw s1,0x54(sp)
or s1,a0,zero
sw gp,0x18(sp)
sw ra,0x74(sp)
sw s8,0x70(sp)
sw s7,0x6c(sp)
sw s6,0x68(sp)
sw s5,0x64(sp)
sw s4,0x60(sp)
sw s3,0x5c(sp)
sw s2,0x58(sp)
sw s0,0x50(sp)
sw a1,0x38(sp)
sw a2,0x80(sp)
lb a0,0x0(a1)
beq a0,v1,0x0004f56c
_lw t9,-0x7b44(gp)
beq s1,zero,0x0004f394
_lw ra,0x74(sp)
lb v1,0x0(s1)
beq v1,zero,0x0004f394
_lw a1,-0x7fc4(gp)
addiu s8,sp,0x20
lw v1,0x38(sp)
lw v0,0x0(v0)
lw t9,-0x7940(gp)
sw a1,0x40(sp)
or a0,v1,zero
sw v0,0x20(sp)
sw v1,0x24(sp)
lw a1,-0x7f5c(gp)
jalr t9
_sw a1,0x34(sp)
lw gp,0x18(sp)
addiu v0,v0,0x2
sw v0,0x3c(sp)
lw v0,-0x7b44(gp)
lw s7,-0x7fc0(gp)
addiu v0,v0,-0x141c
sw v0,0x44(sp)
lw v0,-0x7f5c(gp)
addiu v0,v0,0xc80
sw v0,0x48(sp)
lw v0,-0x7f5c(gp)
addiu v0,v0,0xc88
sw v0,0x30(sp)
addiu v0,s7,0x72fc
sw v0,0x2c(sp)
lw v0,0x40(sp)
or a0,s1,zero
lw t9,-0x7934(gp)
jalr t9
_lb a1,0x48(v0)
lw gp,0x18(sp)
beq v0,zero,0x0004f520
_or s5,v0,zero
lw v0,0x3c(sp)
subu s0,s5,s1
lw t9,-0x7894(gp)
jalr t9
_addu a0,s0,v0
lw gp,0x18(sp)
beq s1,s5,0x0004f4f0
_or s2,v0,zero
lw t9,-0x77ec(gp)
or a0,v0,zero
or a2,s0,zero
jalr t9
_or a1,s1,zero
addu v0,s2,s0
addiu a0,s0,0x1
lw gp,0x18(sp)
li v1,0x2f
addu a0,s2,a0
sb v1,0x0(v0)
lw v0,-0x7fc8(gp)
or s0,zero,zero
lw t9,-0x78ac(gp)
lw a1,0x38(sp)
jalr t9
_sw v0,0x28(sp)
b 0x0004f2ec
_lw gp,0x18(sp)
or a0,s3,zero
lw t9,-0x778c(gp)
jalr t9
_addiu a1,a1,0xc60
beq v0,zero,0x0004f1a4
_lw gp,0x18(sp)
lw a1,-0x7f5c(gp)
or a0,s3,zero
lw t9,-0x778c(gp)
jalr t9
_addiu a1,a1,0xc68
bne v0,zero,0x0004f368
_lw gp,0x18(sp)
lw v0,0x20(sp)
beq v0,zero,0x0004f4d8
_nop
lw s3,0x0(v0)
beq s3,zero,0x0004f368
_li v0,0x2f
lb a0,0x0(s3)
beq a0,v0,0x0004f4f8
_nop
lw t9,-0x7854(gp)
jalr t9
_nop
or a0,s3,zero
lw gp,0x18(sp)
lw t9,-0x7940(gp)
jalr t9
_or s0,v0,zero
or a0,s0,zero
lw gp,0x18(sp)
lw t9,-0x7940(gp)
jalr t9
_or s7,v0,zero
lw gp,0x18(sp)
addu v0,s7,v0
lw t9,-0x7894(gp)
jalr t9
_addiu a0,v0,0x2
or a3,s3,zero
lw gp,0x18(sp)
or a2,s0,zero
or a0,v0,zero
or s3,v0,zero
lw a1,-0x7f5c(gp)
lw t9,-0x7a30(gp)
jalr t9
_addiu a1,a1,0xc78
lw gp,0x18(sp)
lw t9,-0x79f0(gp)
li a1,0x2f
jalr t9
_or a0,s3,zero
or a0,s3,zero
lw gp,0x18(sp)
beq v0,zero,0x0004f510
_lw t9,-0x7940(gp)
sb zero,0x0(v0)
jalr t9
_or s7,s3,zero
lw gp,0x18(sp)
lw t9,-0x7894(gp)
addu a0,s4,v0
jalr t9
_subu s0,s6,s2
lw gp,0x18(sp)
beq s1,zero,0x0004f434
_or s4,v0,zero
lw v0,0x34(sp)
addiu s1,s1,0x1
lw t9,-0x7a30(gp)
or a2,s0,zero
or a0,s4,zero
sw s3,0x10(sp)
addiu a1,v0,0xc74
sw s1,0x14(sp)
jalr t9
_or a3,s2,zero
or a0,s3,zero
lw gp,0x18(sp)
lw t9,-0x7940(gp)
jalr t9
_addiu s0,s0,0x1
lw gp,0x18(sp)
addu s0,s0,v0
lw t9,-0x77e4(gp)
or a0,s2,zero
jalr t9
_or s2,s4,zero
lw gp,0x18(sp)
lw t9,-0x77e4(gp)
jalr t9
_or a0,s7,zero
lw gp,0x18(sp)
lw t9,-0x7934(gp)
li a1,0x24
jalr t9
_addu a0,s2,s0
lw gp,0x18(sp)
beq v0,zero,0x0004f498
_or s6,v0,zero
lw t9,-0x7934(gp)
li a1,0x2f
or a0,s6,zero
jalr t9
_addiu s0,s6,0x1
or a0,s2,zero
lw gp,0x18(sp)
lw t9,-0x7940(gp)
jalr t9
_or s1,v0,zero
lw gp,0x18(sp)
beq s1,zero,0x0004f340
_or s4,v0,zero
sb zero,0x0(s1)
lb v0,0x1(s6)
li a0,0x7b
beq v0,a0,0x0004f3c4
_li a1,0x4c
or a0,s0,zero
beq v0,a1,0x0004f3d4
_addiu s3,a0,0x1
li a0,0x4f
beq v0,a0,0x0004f170
_lw a1,-0x7f5c(gp)
lw v0,-0x7f80(gp)
lw v0,0x0(v0)
bne v0,zero,0x0004f46c
_lw t9,-0x782c(gp)
beq s1,zero,0x0004f384
_li v0,0x2f
sb v0,0x0(s1)
subu s0,s0,s2
b 0x0004f2dc
_or s7,zero,zero
lw ra,0x74(sp)
or v0,zero,zero
lw s8,0x70(sp)
lw s7,0x6c(sp)
lw s6,0x68(sp)
lw s5,0x64(sp)
lw s4,0x60(sp)
lw s3,0x5c(sp)
lw s2,0x58(sp)
lw s1,0x54(sp)
lw s0,0x50(sp)
jr ra
_addiu sp,sp,0x78
lb v0,0x2(s6)
addiu a0,s6,0x2
bne v0,a1,0x0004f35c
_addiu s3,a0,0x1
lw v0,0x28(sp)
or a0,s3,zero
lw t9,-0x778c(gp)
jalr t9
_addiu a1,v0,0x55d4
beq v0,zero,0x0004f40c
_lw gp,0x18(sp)
lw a1,-0x7f5c(gp)
or a0,s3,zero
lw t9,-0x778c(gp)
jalr t9
_addiu a1,a1,0xc70
bne v0,zero,0x0004f368
_lw gp,0x18(sp)
li v0,0x3
lw t9,-0x7894(gp)
lw s3,0x2c(sp)
or s7,zero,zero
addu a0,s4,v0
jalr t9
_subu s0,s6,s2
lw gp,0x18(sp)
bne s1,zero,0x0004f284
_or s4,v0,zero
lw t9,-0x7a30(gp)
or a2,s0,zero
lw a1,0x48(sp)
or a0,s4,zero
or a3,s2,zero
jalr t9
_sw s3,0x10(sp)
lw gp,0x18(sp)
lw t9,-0x7940(gp)
jalr t9
_or a0,s3,zero
lw gp,0x18(sp)
b 0x0004f2c8
_addu s0,v0,s0
li a2,0x5
lw a1,0x30(sp)
jalr t9
_or a0,zero,zero
or a1,s6,zero
lw gp,0x18(sp)
lw t9,-0x7f7c(gp)
bal 0x0003b940
_or a0,v0,zero
b 0x0004f378
_lw gp,0x18(sp)
lw a2,0x80(sp)
or a1,s2,zero
lw t9,0x44(sp)
or a0,s8,zero
jalr t9
_sw s2,0x24(sp)
bne v0,zero,0x0004f538
_lw gp,0x18(sp)
lw t9,-0x77e4(gp)
jalr t9
_or a0,s2,zero
lb v0,0x0(s5)
beq v0,zero,0x0004f390
_lw gp,0x18(sp)
b 0x0004f0e4
_addiu s1,s5,0x1
lw v0,-0x7fa8(gp)
lw v0,0x34(v0)
bne v0,zero,0x0004f1b0
_nop
b 0x0004f36c
_lw v0,-0x7f80(gp)
b 0x0004f150
_or a0,v0,zero
lw t9,-0x78a0(gp)
jalr t9
_or a0,s3,zero
lw gp,0x18(sp)
b 0x0004f238
_or s3,v0,zero
jalr t9
_or s7,s3,zero
b 0x0004f268
_lw gp,0x18(sp)
lw t9,-0x7940(gp)
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
b 0x0004f104
_addu s5,s1,v0
lw ra,0x74(sp)
li v0,0x1
lw s8,0x70(sp)
lw s7,0x6c(sp)
lw s6,0x68(sp)
lw s5,0x64(sp)
lw s4,0x60(sp)
lw s3,0x5c(sp)
lw s2,0x58(sp)
lw s1,0x54(sp)
lw s0,0x50(sp)
jr ra
_addiu sp,sp,0x78
addiu t9,t9,-0x141c
bal 0x0004ebe4
_or a0,v0,zero
lw ra,0x74(sp)
lw s8,0x70(sp)
lw s7,0x6c(sp)
lw s6,0x68(sp)
lw s5,0x64(sp)
lw s4,0x60(sp)
lw s3,0x5c(sp)
lw s2,0x58(sp)
lw s1,0x54(sp)
lw s0,0x50(sp)
jr ra
_addiu sp,sp,0x78
(translation_unit "undefined4 FUN_0004f008(char *param_1,undefined4 *param_2,undefined4 param_3)\n\n{\n  undefined *puVar1;\n  char *pcVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  char cVar10;\n  undefined4 uVar8;\n  undefined4 *puVar9;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  undefined *puVar14;\n  undefined4 *local_58;\n  char *local_54;\n  undefined *local_50;\n  undefined *local_4c;\n  undefined *local_48;\n  undefined *local_44;\n  char *local_40;\n  int local_3c;\n  undefined *local_38;\n  code *local_34;\n  undefined *local_30;\n  \n  local_54 = (char *)param_2[1];\n  local_40 = local_54;\n  if (*local_54 == '/') {\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }\n  if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {\n    return 0;\n  }\n  local_58 = (undefined4 *)*param_2;\n  local_38 = PTR_config_001db90c;\n  local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;\n  local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);\n  local_3c = local_3c + 2;\n  local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);\n  local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;\n  local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;\n  local_4c = PTR_DAT_001db910 + 0x72fc;\n  do {\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  } while( true );\n}\n\n" (function_definition "undefined4 FUN_0004f008(char *param_1,undefined4 *param_2,undefined4 param_3)\n\n{\n  undefined *puVar1;\n  char *pcVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  char cVar10;\n  undefined4 uVar8;\n  undefined4 *puVar9;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  undefined *puVar14;\n  undefined4 *local_58;\n  char *local_54;\n  undefined *local_50;\n  undefined *local_4c;\n  undefined *local_48;\n  undefined *local_44;\n  char *local_40;\n  int local_3c;\n  undefined *local_38;\n  code *local_34;\n  undefined *local_30;\n  \n  local_54 = (char *)param_2[1];\n  local_40 = local_54;\n  if (*local_54 == '/') {\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }\n  if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {\n    return 0;\n  }\n  local_58 = (undefined4 *)*param_2;\n  local_38 = PTR_config_001db90c;\n  local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;\n  local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);\n  local_3c = local_3c + 2;\n  local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);\n  local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;\n  local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;\n  local_4c = PTR_DAT_001db910 + 0x72fc;\n  do {\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  } while( true );\n}" type_identifier (function_declarator "FUN_0004f008(char *param_1,undefined4 *param_2,undefined4 param_3)" identifier (parameter_list "(char *param_1,undefined4 *param_2,undefined4 param_3)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  char *pcVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  char cVar10;\n  undefined4 uVar8;\n  undefined4 *puVar9;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  undefined *puVar14;\n  undefined4 *local_58;\n  char *local_54;\n  undefined *local_50;\n  undefined *local_4c;\n  undefined *local_48;\n  undefined *local_44;\n  char *local_40;\n  int local_3c;\n  undefined *local_38;\n  code *local_34;\n  undefined *local_30;\n  \n  local_54 = (char *)param_2[1];\n  local_40 = local_54;\n  if (*local_54 == '/') {\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }\n  if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {\n    return 0;\n  }\n  local_58 = (undefined4 *)*param_2;\n  local_38 = PTR_config_001db90c;\n  local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;\n  local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);\n  local_3c = local_3c + 2;\n  local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);\n  local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;\n  local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;\n  local_4c = PTR_DAT_001db910 + 0x72fc;\n  do {\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "undefined *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "code *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "local_54 = (char *)param_2[1];" (assignment_expression "local_54 = (char *)param_2[1]" identifier = (cast_expression "(char *)param_2[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) ;) (expression_statement "local_40 = local_54;" (assignment_expression "local_40 = local_54" identifier = identifier) ;) (if_statement "if (*local_54 == '/') {\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }" if (parenthesized_expression "(*local_54 == '/')" ( (binary_expression "*local_54 == '/'" (pointer_expression "*local_54" * identifier) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }" { (expression_statement "uVar8 = FUN_0004ebe4(param_2);" (assignment_expression "uVar8 = FUN_0004ebe4(param_2)" identifier = (call_expression "FUN_0004ebe4(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (return_statement "return uVar8;" return identifier ;) })) (if_statement "if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {\n    return 0;\n  }" if (parenthesized_expression "((param_1 == (char *)0x0) || (*param_1 == '\0'))" ( (binary_expression "(param_1 == (char *)0x0) || (*param_1 == '\0')" (parenthesized_expression "(param_1 == (char *)0x0)" ( (binary_expression "param_1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*param_1 == '\0')" ( (binary_expression "*param_1 == '\0'" (pointer_expression "*param_1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "local_58 = (undefined4 *)*param_2;" (assignment_expression "local_58 = (undefined4 *)*param_2" identifier = (cast_expression "(undefined4 *)*param_2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "local_38 = PTR_config_001db90c;" (assignment_expression "local_38 = PTR_config_001db90c" identifier = identifier) ;) (expression_statement "local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;" (assignment_expression "local_44 = PTR_s____debug_str_____debug_loc_0_____001db974" identifier = identifier) ;) (expression_statement "local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);" (assignment_expression "local_3c = (*(code *)PTR_strlen_001dbf90)(local_54)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(local_54)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_54)" ( identifier )))) ;) (expression_statement "local_3c = local_3c + 2;" (assignment_expression "local_3c = local_3c + 2" identifier = (binary_expression "local_3c + 2" identifier + number_literal)) ;) (expression_statement "local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);" (assignment_expression "local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c)" identifier = (cast_expression "(code *)(PTR_LAB_001dbd8c + -0x141c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_001dbd8c + -0x141c)" ( (binary_expression "PTR_LAB_001dbd8c + -0x141c" identifier + number_literal) )))) ;) (expression_statement "local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;" (assignment_expression "local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80" identifier + number_literal)) ;) (expression_statement "local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;" (assignment_expression "local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88" identifier + number_literal)) ;) (expression_statement "local_4c = PTR_DAT_001db910 + 0x72fc;" (assignment_expression "local_4c = PTR_DAT_001db910 + 0x72fc" identifier = (binary_expression "PTR_DAT_001db910 + 0x72fc" identifier + number_literal)) ;) (do_statement "do {\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  } while( true );" do (compound_statement "{\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  }" { (expression_statement "pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);" (assignment_expression "pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48])" identifier = (cast_expression "(char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48])" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" ( (pointer_expression "*(code *)PTR_strchr_001dbf9c" * (cast_expression "(code *)PTR_strchr_001dbf9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,(int)(char)local_38[0x48])" ( identifier , (cast_expression "(int)(char)local_38[0x48]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)local_38[0x48]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_38[0x48]" identifier [ number_literal ]))) ))))) ;) (if_statement "if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }" if (parenthesized_expression "(pcVar2 == (char *)0x0)" ( (binary_expression "pcVar2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }" { (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(param_1)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar2 = param_1 + iVar11;" (assignment_expression "pcVar2 = param_1 + iVar11" identifier = (binary_expression "param_1 + iVar11" identifier + identifier)) ;) })) (expression_statement "iVar11 = (int)pcVar2 - (int)param_1;" (assignment_expression "iVar11 = (int)pcVar2 - (int)param_1" identifier = (binary_expression "(int)pcVar2 - (int)param_1" (cast_expression "(int)pcVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);" (assignment_expression "pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c)" identifier = (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11 + local_3c)" ( (binary_expression "iVar11 + local_3c" identifier + identifier) ))))) ;) (expression_statement "pcVar12 = pcVar3;" (assignment_expression "pcVar12 = pcVar3" identifier = identifier) ;) (if_statement "if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }" if (parenthesized_expression "(param_1 != pcVar2)" ( (binary_expression "param_1 != pcVar2" identifier != identifier) )) (compound_statement "{\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }" { (expression_statement "(*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);" (call_expression "(*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11)" (parenthesized_expression "(*(code *)PTR_memcpy_001dc0e4)" ( (pointer_expression "*(code *)PTR_memcpy_001dc0e4" * (cast_expression "(code *)PTR_memcpy_001dc0e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3,param_1,iVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar3[iVar11] = '/';" (assignment_expression "pcVar3[iVar11] = '/'" (subscript_expression "pcVar3[iVar11]" identifier [ identifier ]) = (char_literal "'/'" ' character ')) ;) (expression_statement "pcVar12 = pcVar3 + iVar11 + 1;" (assignment_expression "pcVar12 = pcVar3 + iVar11 + 1" identifier = (binary_expression "pcVar3 + iVar11 + 1" (binary_expression "pcVar3 + iVar11" identifier + identifier) + number_literal)) ;) })) (expression_statement "local_50 = PTR_LAB_001db908;" (assignment_expression "local_50 = PTR_LAB_001db908" identifier = identifier) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);" (call_expression "(*(code *)PTR_strcpy_001dc024)(pcVar12,local_40)" (parenthesized_expression "(*(code *)PTR_strcpy_001dc024)" ( (pointer_expression "*(code *)PTR_strcpy_001dc024" * (cast_expression "(code *)PTR_strcpy_001dc024" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12,local_40)" ( identifier , identifier ))) ;) (while_statement "while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }" while (parenthesized_expression "(iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0)" ( (comma_expression "iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0" (assignment_expression "iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24)" identifier = (call_expression "(*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24)" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" ( (pointer_expression "*(code *)PTR_strchr_001dbf9c" * (cast_expression "(code *)PTR_strchr_001dbf9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3 + iVar11,0x24)" ( (binary_expression "pcVar3 + iVar11" identifier + identifier) , number_literal )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) )) (compound_statement "{\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }" { (expression_statement "puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);" (assignment_expression "puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f)" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" ( (pointer_expression "*(code *)PTR_strchr_001dbf9c" * (cast_expression "(code *)PTR_strchr_001dbf9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,0x2f)" ( identifier , number_literal ))))) ;) (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(pcVar3)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3)" ( identifier )))) ;) (if_statement "if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }" if (parenthesized_expression "(puVar7 != (undefined1 *)0x0)" ( (binary_expression "puVar7 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *puVar7 = 0;\n      }" { (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) })) (expression_statement "cVar10 = *(char *)(iVar6 + 1);" (assignment_expression "cVar10 = *(char *)(iVar6 + 1)" identifier = (pointer_expression "*(char *)(iVar6 + 1)" * (cast_expression "(char *)(iVar6 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) ))))) ;) (if_statement "if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }" if (parenthesized_expression "(cVar10 == '{')" ( (binary_expression "cVar10 == '{'" identifier == (char_literal "'{'" ' character ')) )) (compound_statement "{\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }" { (expression_statement "cVar10 = *(char *)(iVar6 + 2);" (assignment_expression "cVar10 = *(char *)(iVar6 + 2)" identifier = (pointer_expression "*(char *)(iVar6 + 2)" * (cast_expression "(char *)(iVar6 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 2)" ( (binary_expression "iVar6 + 2" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = iVar6 + 3;" (assignment_expression "iVar13 = iVar6 + 3" identifier = (binary_expression "iVar6 + 3" identifier + number_literal)) ;) (if_statement "if (cVar10 != 'L') goto LAB_0004f35c;" if (parenthesized_expression "(cVar10 != 'L')" ( (binary_expression "cVar10 != 'L'" identifier != (char_literal "'L'" ' character ')) )) (goto_statement "goto LAB_0004f35c;" goto statement_identifier ;)) (labeled_statement "LAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);" statement_identifier : (expression_statement "iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,local_50 + 0x55d4)" ( identifier , (binary_expression "local_50 + 0x55d4" identifier + number_literal) )))) ;)) (if_statement "if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;" if (parenthesized_expression "((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0))" ( (binary_expression "(iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)" ( (comma_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0" (assignment_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70" identifier + number_literal) )))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0004f36c;" goto statement_identifier ;)) (expression_statement "puVar1 = local_4c;" (assignment_expression "puVar1 = local_4c" identifier = identifier) ;) (expression_statement "puVar14 = (undefined *)0x0;" (assignment_expression "puVar14 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);" (assignment_expression "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3)" identifier = (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11 + 3)" ( (binary_expression "iVar11 + 3" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;" statement_identifier : (expression_statement "iVar6 = iVar6 - (int)pcVar3;" (assignment_expression "iVar6 = iVar6 - (int)pcVar3" identifier = (binary_expression "iVar6 - (int)pcVar3" identifier - (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (if_statement "if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }" if (parenthesized_expression "(puVar7 == (undefined1 *)0x0)" ( (binary_expression "puVar7 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }" { (expression_statement "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);" (call_expression "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1)" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" ( (pointer_expression "*(code *)PTR_sprintf_001dbea0" * (cast_expression "(code *)PTR_sprintf_001dbea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12,local_30,iVar6,pcVar3,puVar1)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar1)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1)" ( identifier )))) ;) (expression_statement "iVar11 = iVar11 + iVar6;" (assignment_expression "iVar11 = iVar11 + iVar6" identifier = (binary_expression "iVar11 + iVar6" identifier + identifier)) ;) }) (else_clause "else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }" else (compound_statement "{\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }" { (expression_statement "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);" (call_expression "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1)" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" ( (pointer_expression "*(code *)PTR_sprintf_001dbea0" * (cast_expression "(code *)PTR_sprintf_001dbea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1)" ( identifier , (binary_expression "local_44 + 0xc74" identifier + number_literal) , identifier , identifier , identifier , (binary_expression "puVar7 + 1" identifier + number_literal) ))) ;) (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar1)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1)" ( identifier )))) ;) (expression_statement "iVar11 = iVar6 + 1 + iVar11;" (assignment_expression "iVar11 = iVar6 + 1 + iVar11" identifier = (binary_expression "iVar6 + 1 + iVar11" (binary_expression "iVar6 + 1" identifier + number_literal) + identifier)) ;) }))) (expression_statement "(*(code *)PTR_free_001dc0ec)(pcVar3);" (call_expression "(*(code *)PTR_free_001dc0ec)(pcVar3)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" ( (pointer_expression "*(code *)PTR_free_001dc0ec" * (cast_expression "(code *)PTR_free_001dc0ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3)" ( identifier ))) ;) }) (else_clause "else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }" else (compound_statement "{\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }" { (expression_statement "iVar13 = iVar6 + 2;" (assignment_expression "iVar13 = iVar6 + 2" identifier = (binary_expression "iVar6 + 2" identifier + number_literal)) ;) (if_statement "if (cVar10 == 'L') goto LAB_0004f3d4;" if (parenthesized_expression "(cVar10 == 'L')" ( (binary_expression "cVar10 == 'L'" identifier == (char_literal "'L'" ' character ')) )) (goto_statement "goto LAB_0004f3d4;" goto statement_identifier ;)) (labeled_statement "LAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }" statement_identifier : (if_statement "if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }" if (parenthesized_expression "((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0))" ( (binary_expression "(((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)" (parenthesized_expression "(((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             )))" ( (binary_expression "((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))" (parenthesized_expression "((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0))))" ( (binary_expression "(cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))" (parenthesized_expression "(cVar10 == 'O')" ( (binary_expression "cVar10 == 'O'" identifier == (char_literal "'O'" ' character ')) )) && (parenthesized_expression "((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))" ( (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0))" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60" identifier + number_literal) )))) , (binary_expression "iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)" (binary_expression "iVar4 == 0" identifier == number_literal) || (parenthesized_expression "(iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)" ( (comma_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0" (assignment_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68" identifier + number_literal) )))) , (binary_expression "iVar13 == 0" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))" ( (parenthesized_expression "(puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             )" ( (comma_expression "puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)" (assignment_expression "puVar9 = local_58" identifier = identifier) , (binary_expression "local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)" (binary_expression "local_58 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)" ( (comma_expression "puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0" (assignment_expression "puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34)" identifier = (pointer_expression "*(undefined4 **)(PTR_link_info_001db928 + 0x34)" * (cast_expression "(undefined4 **)(PTR_link_info_001db928 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_link_info_001db928 + 0x34)" ( (binary_expression "PTR_link_info_001db928 + 0x34" identifier + number_literal) ))))) , (binary_expression "puVar9 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) ))) )) && (parenthesized_expression "(pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)" ( (comma_expression "pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = (char *)*puVar9" identifier = (cast_expression "(char *)*puVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) , (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }" { (if_statement "if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }" if (parenthesized_expression "(*pcVar12 == '/')" ( (binary_expression "*pcVar12 == '/'" (pointer_expression "*pcVar12" * identifier) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }" { (expression_statement "puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);" (assignment_expression "puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12)" identifier = (cast_expression "(undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xstrdup_001dc030)(pcVar12)" (parenthesized_expression "(*(code *)PTR_xstrdup_001dc030)" ( (pointer_expression "*(code *)PTR_xstrdup_001dc030" * (cast_expression "(code *)PTR_xstrdup_001dc030" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12)" ( identifier ))))) ;) }) (else_clause "else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }" else (compound_statement "{\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }" { (expression_statement "uVar8 = (*(code *)PTR_getpwd_001dc07c)();" (assignment_expression "uVar8 = (*(code *)PTR_getpwd_001dc07c)()" identifier = (call_expression "(*(code *)PTR_getpwd_001dc07c)()" (parenthesized_expression "(*(code *)PTR_getpwd_001dc07c)" ( (pointer_expression "*(code *)PTR_getpwd_001dc07c" * (cast_expression "(code *)PTR_getpwd_001dc07c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);" (assignment_expression "iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(pcVar12)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);" (assignment_expression "iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(uVar8)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);" (assignment_expression "puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2)" identifier = (cast_expression "(undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13 + iVar4 + 2)" ( (binary_expression "iVar13 + iVar4 + 2" (binary_expression "iVar13 + iVar4" identifier + identifier) + number_literal) ))))) ;) (expression_statement "(*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );" (call_expression "(*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      )" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" ( (pointer_expression "*(code *)PTR_sprintf_001dbea0" * (cast_expression "(code *)PTR_sprintf_001dbea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      )" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78" identifier + number_literal) , identifier , identifier ))) ;) }))) (expression_statement "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);" (assignment_expression "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f)" (parenthesized_expression "(*(code *)PTR_strrchr_001dbee0)" ( (pointer_expression "*(code *)PTR_strrchr_001dbee0" * (cast_expression "(code *)PTR_strrchr_001dbee0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14,0x2f)" ( identifier , number_literal ))))) ;) (expression_statement "puVar1 = PTR_strlen_001dbf90;" (assignment_expression "puVar1 = PTR_strlen_001dbf90" identifier = identifier) ;) (if_statement "if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }" if (parenthesized_expression "(puVar5 == (undefined1 *)0x0)" ( (binary_expression "puVar5 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }" { (expression_statement "iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);" (assignment_expression "iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar14)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14)" ( identifier )))) ;) }) (else_clause "else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }" else (compound_statement "{\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }" { (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "iVar13 = (*(code *)puVar1)();" (assignment_expression "iVar13 = (*(code *)puVar1)()" identifier = (call_expression "(*(code *)puVar1)()" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) }))) (expression_statement "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);" (assignment_expression "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13)" identifier = (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11 + iVar13)" ( (binary_expression "iVar11 + iVar13" identifier + identifier) ))))) ;) (expression_statement "puVar1 = puVar14;" (assignment_expression "puVar1 = puVar14" identifier = identifier) ;) (goto_statement "goto joined_r0x0004f27c;" goto statement_identifier ;) }))) (labeled_statement "LAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }" statement_identifier : (if_statement "if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }" if (parenthesized_expression "(*(int *)PTR_verbose_001db950 != 0)" ( (binary_expression "*(int *)PTR_verbose_001db950 != 0" (pointer_expression "*(int *)PTR_verbose_001db950" * (cast_expression "(int *)PTR_verbose_001db950" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }" { (expression_statement "uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);" (assignment_expression "uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,local_48,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "info_msg(uVar8,iVar6);" (call_expression "info_msg(uVar8,iVar6)" identifier (argument_list "(uVar8,iVar6)" ( identifier , identifier ))) ;) }))) (if_statement "if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }" if (parenthesized_expression "(puVar7 != (undefined1 *)0x0)" ( (binary_expression "puVar7 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *puVar7 = 0x2f;\n        }" { (expression_statement "*puVar7 = 0x2f;" (assignment_expression "*puVar7 = 0x2f" (pointer_expression "*puVar7" * identifier) = number_literal) ;) })) (expression_statement "iVar11 = (iVar6 + 1) - (int)pcVar3;" (assignment_expression "iVar11 = (iVar6 + 1) - (int)pcVar3" identifier = (binary_expression "(iVar6 + 1) - (int)pcVar3" (parenthesized_expression "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )) - (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar14 = (undefined *)0x0;" (assignment_expression "puVar14 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar12 = pcVar3;" (assignment_expression "pcVar12 = pcVar3" identifier = identifier) ;) }))) (expression_statement "(*(code *)PTR_free_001dc0ec)(puVar14);" (call_expression "(*(code *)PTR_free_001dc0ec)(puVar14)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" ( (pointer_expression "*(code *)PTR_free_001dc0ec" * (cast_expression "(code *)PTR_free_001dc0ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14)" ( identifier ))) ;) (expression_statement "pcVar3 = pcVar12;" (assignment_expression "pcVar3 = pcVar12" identifier = identifier) ;) })) (expression_statement "local_54 = pcVar3;" (assignment_expression "local_54 = pcVar3" identifier = identifier) ;) (expression_statement "iVar11 = (*local_34)(&local_58,pcVar3,param_3);" (assignment_expression "iVar11 = (*local_34)(&local_58,pcVar3,param_3)" identifier = (call_expression "(*local_34)(&local_58,pcVar3,param_3)" (parenthesized_expression "(*local_34)" ( (pointer_expression "*local_34" * identifier) )) (argument_list "(&local_58,pcVar3,param_3)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier )))) ;) (if_statement "if (iVar11 != 0) {\n      return 1;\n    }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "(*(code *)PTR_free_001dc0ec)(pcVar3);" (call_expression "(*(code *)PTR_free_001dc0ec)(pcVar3)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" ( (pointer_expression "*(code *)PTR_free_001dc0ec" * (cast_expression "(code *)PTR_free_001dc0ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3)" ( identifier ))) ;) (if_statement "if (*pcVar2 == '\0') {\n      return 0;\n    }" if (parenthesized_expression "(*pcVar2 == '\0')" ( (binary_expression "*pcVar2 == '\0'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_1 = pcVar2 + 1;" (assignment_expression "param_1 = pcVar2 + 1" identifier = (binary_expression "pcVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "bfd_boolean gldelf32btsmipn32_search_needed(char *path,dt_needed *n,int force)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  code *pcVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *pcVar10;\n  char *pcVar11;\n  int iVar12;\n  undefined4 uVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  undefined1 *puVar16;\n  char cVar20;\n  char *pcVar17;\n  bfd *pbVar18;\n  bfd_boolean bVar19;\n  char *force_00;\n  int iVar21;\n  int iVar22;\n  undefined *puVar23;\n  dt_needed needed;\n  \n  puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974;\n  puVar3 = PTR_config_001db90c;\n  force_00 = n->name;\n  if (*force_00 == '/') {\n    bVar19 = gldelf32btsmipn32_try_needed(n,(int)force_00,(dt_needed *)force);\n    return bVar19;\n  }\n  if ((path == (char *)0x0) || (*path == '\0')) {\n    return 0;\n  }\n  needed.by = n->by;\n  needed.name = force_00;\n  iVar5 = (*(code *)PTR_strlen_001dbf90)(force_00);\n  pcVar6 = (code *)(PTR_LAB_001dbd8c + -0x141c);\n  puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;\n  puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;\n  puVar9 = PTR_yy_accept_1428__001db910 + 0x72fc;\n  do {\n    pcVar10 = (char *)(*(code *)PTR_strchr_001dbf9c)(path,(int)(char)puVar3[0x48]);\n    if (pcVar10 == (char *)0x0) {\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(path);\n      pcVar10 = path + iVar21;\n    }\n    iVar21 = (int)pcVar10 - (int)path;\n    pcVar11 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar5 + 2);\n    pcVar17 = pcVar11;\n    if (path != pcVar10) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar11,path,iVar21);\n      pcVar11[iVar21] = '/';\n      pcVar17 = pcVar11 + iVar21 + 1;\n    }\n    puVar2 = PTR_LAB_001db908;\n    iVar21 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar17,force_00);\n    while (iVar15 = (*(code *)PTR_strchr_001dbf9c)(pcVar11 + iVar21,0x24), iVar15 != 0) {\n      puVar16 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f);\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(pcVar11);\n      if (puVar16 != (undefined1 *)0x0) {\n        *puVar16 = 0;\n      }\n      cVar20 = *(char *)(iVar15 + 1);\n      if (cVar20 == '{') {\n        cVar20 = *(char *)(iVar15 + 2);\n        iVar22 = iVar15 + 3;\n        if (cVar20 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);\n        if ((iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)) goto LAB_0004f36c;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3);\n        puVar1 = puVar9;\njoined_r0x0004f27c:\n        iVar15 = iVar15 - (int)pcVar11;\n        if (puVar16 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar21 + iVar15;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar11);\n      }\n      else {\n        iVar22 = iVar15 + 2;\n        if (cVar20 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }\n        if (puVar16 != (undefined1 *)0x0) {\n          *puVar16 = 0x2f;\n        }\n        iVar21 = (iVar15 + 1) - (int)pcVar11;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = pcVar11;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar23);\n      pcVar11 = pcVar17;\n    }\n    needed.name = pcVar11;\n    iVar21 = (*pcVar6)(&needed,pcVar11,force);\n    if (iVar21 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar11);\n    if (*pcVar10 == '\0') {\n      return 0;\n    }\n    path = pcVar10 + 1;\n  } while( true );\n}\n\n" (function_definition "bfd_boolean gldelf32btsmipn32_search_needed(char *path,dt_needed *n,int force)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  code *pcVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *pcVar10;\n  char *pcVar11;\n  int iVar12;\n  undefined4 uVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  undefined1 *puVar16;\n  char cVar20;\n  char *pcVar17;\n  bfd *pbVar18;\n  bfd_boolean bVar19;\n  char *force_00;\n  int iVar21;\n  int iVar22;\n  undefined *puVar23;\n  dt_needed needed;\n  \n  puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974;\n  puVar3 = PTR_config_001db90c;\n  force_00 = n->name;\n  if (*force_00 == '/') {\n    bVar19 = gldelf32btsmipn32_try_needed(n,(int)force_00,(dt_needed *)force);\n    return bVar19;\n  }\n  if ((path == (char *)0x0) || (*path == '\0')) {\n    return 0;\n  }\n  needed.by = n->by;\n  needed.name = force_00;\n  iVar5 = (*(code *)PTR_strlen_001dbf90)(force_00);\n  pcVar6 = (code *)(PTR_LAB_001dbd8c + -0x141c);\n  puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;\n  puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;\n  puVar9 = PTR_yy_accept_1428__001db910 + 0x72fc;\n  do {\n    pcVar10 = (char *)(*(code *)PTR_strchr_001dbf9c)(path,(int)(char)puVar3[0x48]);\n    if (pcVar10 == (char *)0x0) {\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(path);\n      pcVar10 = path + iVar21;\n    }\n    iVar21 = (int)pcVar10 - (int)path;\n    pcVar11 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar5 + 2);\n    pcVar17 = pcVar11;\n    if (path != pcVar10) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar11,path,iVar21);\n      pcVar11[iVar21] = '/';\n      pcVar17 = pcVar11 + iVar21 + 1;\n    }\n    puVar2 = PTR_LAB_001db908;\n    iVar21 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar17,force_00);\n    while (iVar15 = (*(code *)PTR_strchr_001dbf9c)(pcVar11 + iVar21,0x24), iVar15 != 0) {\n      puVar16 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f);\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(pcVar11);\n      if (puVar16 != (undefined1 *)0x0) {\n        *puVar16 = 0;\n      }\n      cVar20 = *(char *)(iVar15 + 1);\n      if (cVar20 == '{') {\n        cVar20 = *(char *)(iVar15 + 2);\n        iVar22 = iVar15 + 3;\n        if (cVar20 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);\n        if ((iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)) goto LAB_0004f36c;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3);\n        puVar1 = puVar9;\njoined_r0x0004f27c:\n        iVar15 = iVar15 - (int)pcVar11;\n        if (puVar16 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar21 + iVar15;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar11);\n      }\n      else {\n        iVar22 = iVar15 + 2;\n        if (cVar20 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }\n        if (puVar16 != (undefined1 *)0x0) {\n          *puVar16 = 0x2f;\n        }\n        iVar21 = (iVar15 + 1) - (int)pcVar11;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = pcVar11;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar23);\n      pcVar11 = pcVar17;\n    }\n    needed.name = pcVar11;\n    iVar21 = (*pcVar6)(&needed,pcVar11,force);\n    if (iVar21 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar11);\n    if (*pcVar10 == '\0') {\n      return 0;\n    }\n    path = pcVar10 + 1;\n  } while( true );\n}" type_identifier (function_declarator "gldelf32btsmipn32_search_needed(char *path,dt_needed *n,int force)" identifier (parameter_list "(char *path,dt_needed *n,int force)" ( (parameter_declaration "char *path" primitive_type (pointer_declarator "*path" * identifier)) , (parameter_declaration "dt_needed *n" type_identifier (pointer_declarator "*n" * identifier)) , (parameter_declaration "int force" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  code *pcVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined *puVar9;\n  char *pcVar10;\n  char *pcVar11;\n  int iVar12;\n  undefined4 uVar13;\n  undefined1 *puVar14;\n  int iVar15;\n  undefined1 *puVar16;\n  char cVar20;\n  char *pcVar17;\n  bfd *pbVar18;\n  bfd_boolean bVar19;\n  char *force_00;\n  int iVar21;\n  int iVar22;\n  undefined *puVar23;\n  dt_needed needed;\n  \n  puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974;\n  puVar3 = PTR_config_001db90c;\n  force_00 = n->name;\n  if (*force_00 == '/') {\n    bVar19 = gldelf32btsmipn32_try_needed(n,(int)force_00,(dt_needed *)force);\n    return bVar19;\n  }\n  if ((path == (char *)0x0) || (*path == '\0')) {\n    return 0;\n  }\n  needed.by = n->by;\n  needed.name = force_00;\n  iVar5 = (*(code *)PTR_strlen_001dbf90)(force_00);\n  pcVar6 = (code *)(PTR_LAB_001dbd8c + -0x141c);\n  puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;\n  puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;\n  puVar9 = PTR_yy_accept_1428__001db910 + 0x72fc;\n  do {\n    pcVar10 = (char *)(*(code *)PTR_strchr_001dbf9c)(path,(int)(char)puVar3[0x48]);\n    if (pcVar10 == (char *)0x0) {\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(path);\n      pcVar10 = path + iVar21;\n    }\n    iVar21 = (int)pcVar10 - (int)path;\n    pcVar11 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar5 + 2);\n    pcVar17 = pcVar11;\n    if (path != pcVar10) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar11,path,iVar21);\n      pcVar11[iVar21] = '/';\n      pcVar17 = pcVar11 + iVar21 + 1;\n    }\n    puVar2 = PTR_LAB_001db908;\n    iVar21 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar17,force_00);\n    while (iVar15 = (*(code *)PTR_strchr_001dbf9c)(pcVar11 + iVar21,0x24), iVar15 != 0) {\n      puVar16 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f);\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(pcVar11);\n      if (puVar16 != (undefined1 *)0x0) {\n        *puVar16 = 0;\n      }\n      cVar20 = *(char *)(iVar15 + 1);\n      if (cVar20 == '{') {\n        cVar20 = *(char *)(iVar15 + 2);\n        iVar22 = iVar15 + 3;\n        if (cVar20 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);\n        if ((iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)) goto LAB_0004f36c;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3);\n        puVar1 = puVar9;\njoined_r0x0004f27c:\n        iVar15 = iVar15 - (int)pcVar11;\n        if (puVar16 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar21 + iVar15;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar11);\n      }\n      else {\n        iVar22 = iVar15 + 2;\n        if (cVar20 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }\n        if (puVar16 != (undefined1 *)0x0) {\n          *puVar16 = 0x2f;\n        }\n        iVar21 = (iVar15 + 1) - (int)pcVar11;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = pcVar11;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar23);\n      pcVar11 = pcVar17;\n    }\n    needed.name = pcVar11;\n    iVar21 = (*pcVar6)(&needed,pcVar11,force);\n    if (iVar21 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar11);\n    if (*pcVar10 == '\0') {\n      return 0;\n    }\n    path = pcVar10 + 1;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "undefined1 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "char cVar20;" primitive_type identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "bfd *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "bfd_boolean bVar19;" type_identifier identifier ;) (declaration "char *force_00;" primitive_type (pointer_declarator "*force_00" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "dt_needed needed;" type_identifier identifier ;) (expression_statement "puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974;" (assignment_expression "puVar4 = PTR_s____debug_str_____debug_loc_0_____001db974" identifier = identifier) ;) (expression_statement "puVar3 = PTR_config_001db90c;" (assignment_expression "puVar3 = PTR_config_001db90c" identifier = identifier) ;) (expression_statement "force_00 = n->name;" (assignment_expression "force_00 = n->name" identifier = (field_expression "n->name" identifier -> field_identifier)) ;) (if_statement "if (*force_00 == '/') {\n    bVar19 = gldelf32btsmipn32_try_needed(n,(int)force_00,(dt_needed *)force);\n    return bVar19;\n  }" if (parenthesized_expression "(*force_00 == '/')" ( (binary_expression "*force_00 == '/'" (pointer_expression "*force_00" * identifier) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n    bVar19 = gldelf32btsmipn32_try_needed(n,(int)force_00,(dt_needed *)force);\n    return bVar19;\n  }" { (expression_statement "bVar19 = gldelf32btsmipn32_try_needed(n,(int)force_00,(dt_needed *)force);" (assignment_expression "bVar19 = gldelf32btsmipn32_try_needed(n,(int)force_00,(dt_needed *)force)" identifier = (call_expression "gldelf32btsmipn32_try_needed(n,(int)force_00,(dt_needed *)force)" identifier (argument_list "(n,(int)force_00,(dt_needed *)force)" ( identifier , (cast_expression "(int)force_00" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(dt_needed *)force" ( (type_descriptor "dt_needed *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (return_statement "return bVar19;" return identifier ;) })) (if_statement "if ((path == (char *)0x0) || (*path == '\0')) {\n    return 0;\n  }" if (parenthesized_expression "((path == (char *)0x0) || (*path == '\0'))" ( (binary_expression "(path == (char *)0x0) || (*path == '\0')" (parenthesized_expression "(path == (char *)0x0)" ( (binary_expression "path == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*path == '\0')" ( (binary_expression "*path == '\0'" (pointer_expression "*path" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "needed.by = n->by;" (assignment_expression "needed.by = n->by" (field_expression "needed.by" identifier . field_identifier) = (field_expression "n->by" identifier -> field_identifier)) ;) (expression_statement "needed.name = force_00;" (assignment_expression "needed.name = force_00" (field_expression "needed.name" identifier . field_identifier) = identifier) ;) (expression_statement "iVar5 = (*(code *)PTR_strlen_001dbf90)(force_00);" (assignment_expression "iVar5 = (*(code *)PTR_strlen_001dbf90)(force_00)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(force_00)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(force_00)" ( identifier )))) ;) (expression_statement "pcVar6 = (code *)(PTR_LAB_001dbd8c + -0x141c);" (assignment_expression "pcVar6 = (code *)(PTR_LAB_001dbd8c + -0x141c)" identifier = (cast_expression "(code *)(PTR_LAB_001dbd8c + -0x141c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_001dbd8c + -0x141c)" ( (binary_expression "PTR_LAB_001dbd8c + -0x141c" identifier + number_literal) )))) ;) (expression_statement "puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;" (assignment_expression "puVar7 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80" identifier + number_literal)) ;) (expression_statement "puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;" (assignment_expression "puVar8 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88" identifier + number_literal)) ;) (expression_statement "puVar9 = PTR_yy_accept_1428__001db910 + 0x72fc;" (assignment_expression "puVar9 = PTR_yy_accept_1428__001db910 + 0x72fc" identifier = (binary_expression "PTR_yy_accept_1428__001db910 + 0x72fc" identifier + number_literal)) ;) (do_statement "do {\n    pcVar10 = (char *)(*(code *)PTR_strchr_001dbf9c)(path,(int)(char)puVar3[0x48]);\n    if (pcVar10 == (char *)0x0) {\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(path);\n      pcVar10 = path + iVar21;\n    }\n    iVar21 = (int)pcVar10 - (int)path;\n    pcVar11 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar5 + 2);\n    pcVar17 = pcVar11;\n    if (path != pcVar10) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar11,path,iVar21);\n      pcVar11[iVar21] = '/';\n      pcVar17 = pcVar11 + iVar21 + 1;\n    }\n    puVar2 = PTR_LAB_001db908;\n    iVar21 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar17,force_00);\n    while (iVar15 = (*(code *)PTR_strchr_001dbf9c)(pcVar11 + iVar21,0x24), iVar15 != 0) {\n      puVar16 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f);\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(pcVar11);\n      if (puVar16 != (undefined1 *)0x0) {\n        *puVar16 = 0;\n      }\n      cVar20 = *(char *)(iVar15 + 1);\n      if (cVar20 == '{') {\n        cVar20 = *(char *)(iVar15 + 2);\n        iVar22 = iVar15 + 3;\n        if (cVar20 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);\n        if ((iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)) goto LAB_0004f36c;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3);\n        puVar1 = puVar9;\njoined_r0x0004f27c:\n        iVar15 = iVar15 - (int)pcVar11;\n        if (puVar16 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar21 + iVar15;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar11);\n      }\n      else {\n        iVar22 = iVar15 + 2;\n        if (cVar20 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }\n        if (puVar16 != (undefined1 *)0x0) {\n          *puVar16 = 0x2f;\n        }\n        iVar21 = (iVar15 + 1) - (int)pcVar11;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = pcVar11;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar23);\n      pcVar11 = pcVar17;\n    }\n    needed.name = pcVar11;\n    iVar21 = (*pcVar6)(&needed,pcVar11,force);\n    if (iVar21 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar11);\n    if (*pcVar10 == '\0') {\n      return 0;\n    }\n    path = pcVar10 + 1;\n  } while( true );" do (compound_statement "{\n    pcVar10 = (char *)(*(code *)PTR_strchr_001dbf9c)(path,(int)(char)puVar3[0x48]);\n    if (pcVar10 == (char *)0x0) {\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(path);\n      pcVar10 = path + iVar21;\n    }\n    iVar21 = (int)pcVar10 - (int)path;\n    pcVar11 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar5 + 2);\n    pcVar17 = pcVar11;\n    if (path != pcVar10) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar11,path,iVar21);\n      pcVar11[iVar21] = '/';\n      pcVar17 = pcVar11 + iVar21 + 1;\n    }\n    puVar2 = PTR_LAB_001db908;\n    iVar21 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar17,force_00);\n    while (iVar15 = (*(code *)PTR_strchr_001dbf9c)(pcVar11 + iVar21,0x24), iVar15 != 0) {\n      puVar16 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f);\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(pcVar11);\n      if (puVar16 != (undefined1 *)0x0) {\n        *puVar16 = 0;\n      }\n      cVar20 = *(char *)(iVar15 + 1);\n      if (cVar20 == '{') {\n        cVar20 = *(char *)(iVar15 + 2);\n        iVar22 = iVar15 + 3;\n        if (cVar20 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);\n        if ((iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)) goto LAB_0004f36c;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3);\n        puVar1 = puVar9;\njoined_r0x0004f27c:\n        iVar15 = iVar15 - (int)pcVar11;\n        if (puVar16 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar21 + iVar15;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar11);\n      }\n      else {\n        iVar22 = iVar15 + 2;\n        if (cVar20 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }\n        if (puVar16 != (undefined1 *)0x0) {\n          *puVar16 = 0x2f;\n        }\n        iVar21 = (iVar15 + 1) - (int)pcVar11;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = pcVar11;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar23);\n      pcVar11 = pcVar17;\n    }\n    needed.name = pcVar11;\n    iVar21 = (*pcVar6)(&needed,pcVar11,force);\n    if (iVar21 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar11);\n    if (*pcVar10 == '\0') {\n      return 0;\n    }\n    path = pcVar10 + 1;\n  }" { (expression_statement "pcVar10 = (char *)(*(code *)PTR_strchr_001dbf9c)(path,(int)(char)puVar3[0x48]);" (assignment_expression "pcVar10 = (char *)(*(code *)PTR_strchr_001dbf9c)(path,(int)(char)puVar3[0x48])" identifier = (cast_expression "(char *)(*(code *)PTR_strchr_001dbf9c)(path,(int)(char)puVar3[0x48])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strchr_001dbf9c)(path,(int)(char)puVar3[0x48])" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" ( (pointer_expression "*(code *)PTR_strchr_001dbf9c" * (cast_expression "(code *)PTR_strchr_001dbf9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(path,(int)(char)puVar3[0x48])" ( identifier , (cast_expression "(int)(char)puVar3[0x48]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)puVar3[0x48]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "puVar3[0x48]" identifier [ number_literal ]))) ))))) ;) (if_statement "if (pcVar10 == (char *)0x0) {\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(path);\n      pcVar10 = path + iVar21;\n    }" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(path);\n      pcVar10 = path + iVar21;\n    }" { (expression_statement "iVar21 = (*(code *)PTR_strlen_001dbf90)(path);" (assignment_expression "iVar21 = (*(code *)PTR_strlen_001dbf90)(path)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(path)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(path)" ( identifier )))) ;) (expression_statement "pcVar10 = path + iVar21;" (assignment_expression "pcVar10 = path + iVar21" identifier = (binary_expression "path + iVar21" identifier + identifier)) ;) })) (expression_statement "iVar21 = (int)pcVar10 - (int)path;" (assignment_expression "iVar21 = (int)pcVar10 - (int)path" identifier = (binary_expression "(int)pcVar10 - (int)path" (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)path" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar11 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar5 + 2);" (assignment_expression "pcVar11 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar5 + 2)" identifier = (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar5 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar5 + 2)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar21 + iVar5 + 2)" ( (binary_expression "iVar21 + iVar5 + 2" (binary_expression "iVar21 + iVar5" identifier + identifier) + number_literal) ))))) ;) (expression_statement "pcVar17 = pcVar11;" (assignment_expression "pcVar17 = pcVar11" identifier = identifier) ;) (if_statement "if (path != pcVar10) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar11,path,iVar21);\n      pcVar11[iVar21] = '/';\n      pcVar17 = pcVar11 + iVar21 + 1;\n    }" if (parenthesized_expression "(path != pcVar10)" ( (binary_expression "path != pcVar10" identifier != identifier) )) (compound_statement "{\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar11,path,iVar21);\n      pcVar11[iVar21] = '/';\n      pcVar17 = pcVar11 + iVar21 + 1;\n    }" { (expression_statement "(*(code *)PTR_memcpy_001dc0e4)(pcVar11,path,iVar21);" (call_expression "(*(code *)PTR_memcpy_001dc0e4)(pcVar11,path,iVar21)" (parenthesized_expression "(*(code *)PTR_memcpy_001dc0e4)" ( (pointer_expression "*(code *)PTR_memcpy_001dc0e4" * (cast_expression "(code *)PTR_memcpy_001dc0e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar11,path,iVar21)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar11[iVar21] = '/';" (assignment_expression "pcVar11[iVar21] = '/'" (subscript_expression "pcVar11[iVar21]" identifier [ identifier ]) = (char_literal "'/'" ' character ')) ;) (expression_statement "pcVar17 = pcVar11 + iVar21 + 1;" (assignment_expression "pcVar17 = pcVar11 + iVar21 + 1" identifier = (binary_expression "pcVar11 + iVar21 + 1" (binary_expression "pcVar11 + iVar21" identifier + identifier) + number_literal)) ;) })) (expression_statement "puVar2 = PTR_LAB_001db908;" (assignment_expression "puVar2 = PTR_LAB_001db908" identifier = identifier) ;) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_strcpy_001dc024)(pcVar17,force_00);" (call_expression "(*(code *)PTR_strcpy_001dc024)(pcVar17,force_00)" (parenthesized_expression "(*(code *)PTR_strcpy_001dc024)" ( (pointer_expression "*(code *)PTR_strcpy_001dc024" * (cast_expression "(code *)PTR_strcpy_001dc024" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,force_00)" ( identifier , identifier ))) ;) (while_statement "while (iVar15 = (*(code *)PTR_strchr_001dbf9c)(pcVar11 + iVar21,0x24), iVar15 != 0) {\n      puVar16 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f);\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(pcVar11);\n      if (puVar16 != (undefined1 *)0x0) {\n        *puVar16 = 0;\n      }\n      cVar20 = *(char *)(iVar15 + 1);\n      if (cVar20 == '{') {\n        cVar20 = *(char *)(iVar15 + 2);\n        iVar22 = iVar15 + 3;\n        if (cVar20 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);\n        if ((iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)) goto LAB_0004f36c;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3);\n        puVar1 = puVar9;\njoined_r0x0004f27c:\n        iVar15 = iVar15 - (int)pcVar11;\n        if (puVar16 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar21 + iVar15;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar11);\n      }\n      else {\n        iVar22 = iVar15 + 2;\n        if (cVar20 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }\n        if (puVar16 != (undefined1 *)0x0) {\n          *puVar16 = 0x2f;\n        }\n        iVar21 = (iVar15 + 1) - (int)pcVar11;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = pcVar11;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar23);\n      pcVar11 = pcVar17;\n    }" while (parenthesized_expression "(iVar15 = (*(code *)PTR_strchr_001dbf9c)(pcVar11 + iVar21,0x24), iVar15 != 0)" ( (comma_expression "iVar15 = (*(code *)PTR_strchr_001dbf9c)(pcVar11 + iVar21,0x24), iVar15 != 0" (assignment_expression "iVar15 = (*(code *)PTR_strchr_001dbf9c)(pcVar11 + iVar21,0x24)" identifier = (call_expression "(*(code *)PTR_strchr_001dbf9c)(pcVar11 + iVar21,0x24)" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" ( (pointer_expression "*(code *)PTR_strchr_001dbf9c" * (cast_expression "(code *)PTR_strchr_001dbf9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar11 + iVar21,0x24)" ( (binary_expression "pcVar11 + iVar21" identifier + identifier) , number_literal )))) , (binary_expression "iVar15 != 0" identifier != number_literal)) )) (compound_statement "{\n      puVar16 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f);\n      iVar21 = (*(code *)PTR_strlen_001dbf90)(pcVar11);\n      if (puVar16 != (undefined1 *)0x0) {\n        *puVar16 = 0;\n      }\n      cVar20 = *(char *)(iVar15 + 1);\n      if (cVar20 == '{') {\n        cVar20 = *(char *)(iVar15 + 2);\n        iVar22 = iVar15 + 3;\n        if (cVar20 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);\n        if ((iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)) goto LAB_0004f36c;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3);\n        puVar1 = puVar9;\njoined_r0x0004f27c:\n        iVar15 = iVar15 - (int)pcVar11;\n        if (puVar16 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar21 + iVar15;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar11);\n      }\n      else {\n        iVar22 = iVar15 + 2;\n        if (cVar20 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }\n        if (puVar16 != (undefined1 *)0x0) {\n          *puVar16 = 0x2f;\n        }\n        iVar21 = (iVar15 + 1) - (int)pcVar11;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = pcVar11;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar23);\n      pcVar11 = pcVar17;\n    }" { (expression_statement "puVar16 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f);" (assignment_expression "puVar16 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strchr_001dbf9c)(iVar15,0x2f)" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" ( (pointer_expression "*(code *)PTR_strchr_001dbf9c" * (cast_expression "(code *)PTR_strchr_001dbf9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar15,0x2f)" ( identifier , number_literal ))))) ;) (expression_statement "iVar21 = (*(code *)PTR_strlen_001dbf90)(pcVar11);" (assignment_expression "iVar21 = (*(code *)PTR_strlen_001dbf90)(pcVar11)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(pcVar11)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar11)" ( identifier )))) ;) (if_statement "if (puVar16 != (undefined1 *)0x0) {\n        *puVar16 = 0;\n      }" if (parenthesized_expression "(puVar16 != (undefined1 *)0x0)" ( (binary_expression "puVar16 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *puVar16 = 0;\n      }" { (expression_statement "*puVar16 = 0;" (assignment_expression "*puVar16 = 0" (pointer_expression "*puVar16" * identifier) = number_literal) ;) })) (expression_statement "cVar20 = *(char *)(iVar15 + 1);" (assignment_expression "cVar20 = *(char *)(iVar15 + 1)" identifier = (pointer_expression "*(char *)(iVar15 + 1)" * (cast_expression "(char *)(iVar15 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 1)" ( (binary_expression "iVar15 + 1" identifier + number_literal) ))))) ;) (if_statement "if (cVar20 == '{') {\n        cVar20 = *(char *)(iVar15 + 2);\n        iVar22 = iVar15 + 3;\n        if (cVar20 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);\n        if ((iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)) goto LAB_0004f36c;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3);\n        puVar1 = puVar9;\njoined_r0x0004f27c:\n        iVar15 = iVar15 - (int)pcVar11;\n        if (puVar16 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar21 + iVar15;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar11);\n      }\n      else {\n        iVar22 = iVar15 + 2;\n        if (cVar20 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }\n        if (puVar16 != (undefined1 *)0x0) {\n          *puVar16 = 0x2f;\n        }\n        iVar21 = (iVar15 + 1) - (int)pcVar11;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = pcVar11;\n      }" if (parenthesized_expression "(cVar20 == '{')" ( (binary_expression "cVar20 == '{'" identifier == (char_literal "'{'" ' character ')) )) (compound_statement "{\n        cVar20 = *(char *)(iVar15 + 2);\n        iVar22 = iVar15 + 3;\n        if (cVar20 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);\n        if ((iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)) goto LAB_0004f36c;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3);\n        puVar1 = puVar9;\njoined_r0x0004f27c:\n        iVar15 = iVar15 - (int)pcVar11;\n        if (puVar16 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar21 + iVar15;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar11);\n      }" { (expression_statement "cVar20 = *(char *)(iVar15 + 2);" (assignment_expression "cVar20 = *(char *)(iVar15 + 2)" identifier = (pointer_expression "*(char *)(iVar15 + 2)" * (cast_expression "(char *)(iVar15 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 2)" ( (binary_expression "iVar15 + 2" identifier + number_literal) ))))) ;) (expression_statement "iVar22 = iVar15 + 3;" (assignment_expression "iVar22 = iVar15 + 3" identifier = (binary_expression "iVar15 + 3" identifier + number_literal)) ;) (if_statement "if (cVar20 != 'L') goto LAB_0004f35c;" if (parenthesized_expression "(cVar20 != 'L')" ( (binary_expression "cVar20 != 'L'" identifier != (char_literal "'L'" ' character ')) )) (goto_statement "goto LAB_0004f35c;" goto statement_identifier ;)) (labeled_statement "LAB_0004f3d4:\n        iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);" statement_identifier : (expression_statement "iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4);" (assignment_expression "iVar12 = (*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)(iVar22,puVar2 + 0x55d4)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar22,puVar2 + 0x55d4)" ( identifier , (binary_expression "puVar2 + 0x55d4" identifier + number_literal) )))) ;)) (if_statement "if ((iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)) goto LAB_0004f36c;" if (parenthesized_expression "((iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0))" ( (binary_expression "(iVar12 != 0) &&\n           (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0)" ( (comma_expression "iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar22 != 0" (assignment_expression "iVar22 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)\n                               (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70" identifier + number_literal) )))) , (binary_expression "iVar22 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0004f36c;" goto statement_identifier ;)) (expression_statement "puVar23 = (undefined *)0x0;" (assignment_expression "puVar23 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3);" (assignment_expression "pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3)" identifier = (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar21 + 3)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar21 + 3)" ( (binary_expression "iVar21 + 3" identifier + number_literal) ))))) ;) (expression_statement "puVar1 = puVar9;" (assignment_expression "puVar1 = puVar9" identifier = identifier) ;) (labeled_statement "joined_r0x0004f27c:\n        iVar15 = iVar15 - (int)pcVar11;" statement_identifier : (expression_statement "iVar15 = iVar15 - (int)pcVar11;" (assignment_expression "iVar15 = iVar15 - (int)pcVar11" identifier = (binary_expression "iVar15 - (int)pcVar11" identifier - (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (if_statement "if (puVar16 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar21 + iVar15;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }" if (parenthesized_expression "(puVar16 == (undefined1 *)0x0)" ( (binary_expression "puVar16 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar21 + iVar15;\n        }" { (expression_statement "(*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1);" (call_expression "(*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar7,iVar15,pcVar11,puVar1)" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" ( (pointer_expression "*(code *)PTR_sprintf_001dbea0" * (cast_expression "(code *)PTR_sprintf_001dbea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,puVar7,iVar15,pcVar11,puVar1)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);" (assignment_expression "iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar1)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1)" ( identifier )))) ;) (expression_statement "iVar21 = iVar21 + iVar15;" (assignment_expression "iVar21 = iVar21 + iVar15" identifier = (binary_expression "iVar21 + iVar15" identifier + identifier)) ;) }) (else_clause "else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }" else (compound_statement "{\n          (*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);\n          iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar21 = iVar15 + 1 + iVar21;\n        }" { (expression_statement "(*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1);" (call_expression "(*(code *)PTR_sprintf_001dbea0)(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1)" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" ( (pointer_expression "*(code *)PTR_sprintf_001dbea0" * (cast_expression "(code *)PTR_sprintf_001dbea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,puVar4 + 0xc74,iVar15,pcVar11,puVar1,puVar16 + 1)" ( identifier , (binary_expression "puVar4 + 0xc74" identifier + number_literal) , identifier , identifier , identifier , (binary_expression "puVar16 + 1" identifier + number_literal) ))) ;) (expression_statement "iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1);" (assignment_expression "iVar21 = (*(code *)PTR_strlen_001dbf90)(puVar1)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar1)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1)" ( identifier )))) ;) (expression_statement "iVar21 = iVar15 + 1 + iVar21;" (assignment_expression "iVar21 = iVar15 + 1 + iVar21" identifier = (binary_expression "iVar15 + 1 + iVar21" (binary_expression "iVar15 + 1" identifier + number_literal) + identifier)) ;) }))) (expression_statement "(*(code *)PTR_free_001dc0ec)(pcVar11);" (call_expression "(*(code *)PTR_free_001dc0ec)(pcVar11)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" ( (pointer_expression "*(code *)PTR_free_001dc0ec" * (cast_expression "(code *)PTR_free_001dc0ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar11)" ( identifier ))) ;) }) (else_clause "else {\n        iVar22 = iVar15 + 2;\n        if (cVar20 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }\n        if (puVar16 != (undefined1 *)0x0) {\n          *puVar16 = 0x2f;\n        }\n        iVar21 = (iVar15 + 1) - (int)pcVar11;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = pcVar11;\n      }" else (compound_statement "{\n        iVar22 = iVar15 + 2;\n        if (cVar20 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }\n        if (puVar16 != (undefined1 *)0x0) {\n          *puVar16 = 0x2f;\n        }\n        iVar21 = (iVar15 + 1) - (int)pcVar11;\n        puVar23 = (undefined *)0x0;\n        pcVar17 = pcVar11;\n      }" { (expression_statement "iVar22 = iVar15 + 2;" (assignment_expression "iVar22 = iVar15 + 2" identifier = (binary_expression "iVar15 + 2" identifier + number_literal)) ;) (if_statement "if (cVar20 == 'L') goto LAB_0004f3d4;" if (parenthesized_expression "(cVar20 == 'L')" ( (binary_expression "cVar20 == 'L'" identifier == (char_literal "'L'" ' character ')) )) (goto_statement "goto LAB_0004f3d4;" goto statement_identifier ;)) (labeled_statement "LAB_0004f35c:\n        if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }" statement_identifier : (if_statement "if ((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)) {\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }" if (parenthesized_expression "((((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0))" ( (binary_expression "(((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))) &&\n           (pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)" (parenthesized_expression "(((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0))))" ( (binary_expression "((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))) &&\n            ((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))" (parenthesized_expression "((cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0))))" ( (binary_expression "(cVar20 == 'O') &&\n             ((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))" (parenthesized_expression "(cVar20 == 'O')" ( (binary_expression "cVar20 == 'O'" identifier == (char_literal "'O'" ' character ')) )) && (parenthesized_expression "((iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)))" ( (parenthesized_expression "(iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0))" ( (comma_expression "iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)" (assignment_expression "iVar12 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60" identifier + number_literal) )))) , (binary_expression "iVar12 == 0 ||\n              (iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)" (binary_expression "iVar12 == 0" identifier == number_literal) || (parenthesized_expression "(iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0)" ( (comma_expression "iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar22 == 0" (assignment_expression "iVar22 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)\n                                  (iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar22,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68" identifier + number_literal) )))) , (binary_expression "iVar22 == 0" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "((pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)))" ( (parenthesized_expression "(pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0))" ( (comma_expression "pbVar18 = needed.by, needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)" (assignment_expression "pbVar18 = needed.by" identifier = (field_expression "needed.by" identifier . field_identifier)) , (binary_expression "needed.by != (bfd *)0x0 ||\n             (pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)" (binary_expression "needed.by != (bfd *)0x0" (field_expression "needed.by" identifier . field_identifier) != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0)" ( (comma_expression "pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34), pbVar18 != (bfd *)0x0" (assignment_expression "pbVar18 = *(bfd **)(PTR_link_info_001db928 + 0x34)" identifier = (pointer_expression "*(bfd **)(PTR_link_info_001db928 + 0x34)" * (cast_expression "(bfd **)(PTR_link_info_001db928 + 0x34)" ( (type_descriptor "bfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_link_info_001db928 + 0x34)" ( (binary_expression "PTR_link_info_001db928 + 0x34" identifier + number_literal) ))))) , (binary_expression "pbVar18 != (bfd *)0x0" identifier != (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) ))) )) && (parenthesized_expression "(pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0)" ( (comma_expression "pcVar17 = pbVar18->filename, pcVar17 != (char *)0x0" (assignment_expression "pcVar17 = pbVar18->filename" identifier = (field_expression "pbVar18->filename" identifier -> field_identifier)) , (binary_expression "pcVar17 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }\n          puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }\n          pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);\n          puVar1 = puVar23;\n          goto joined_r0x0004f27c;\n        }" { (if_statement "if (*pcVar17 == '/') {\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }\n          else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }" if (parenthesized_expression "(*pcVar17 == '/')" ( (binary_expression "*pcVar17 == '/'" (pointer_expression "*pcVar17" * identifier) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n            puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);\n          }" { (expression_statement "puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17);" (assignment_expression "puVar23 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17)" identifier = (cast_expression "(undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar17)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xstrdup_001dc030)(pcVar17)" (parenthesized_expression "(*(code *)PTR_xstrdup_001dc030)" ( (pointer_expression "*(code *)PTR_xstrdup_001dc030" * (cast_expression "(code *)PTR_xstrdup_001dc030" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17)" ( identifier ))))) ;) }) (else_clause "else {\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }" else (compound_statement "{\n            uVar13 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);\n            iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);\n            puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);\n          }" { (expression_statement "uVar13 = (*(code *)PTR_getpwd_001dc07c)();" (assignment_expression "uVar13 = (*(code *)PTR_getpwd_001dc07c)()" identifier = (call_expression "(*(code *)PTR_getpwd_001dc07c)()" (parenthesized_expression "(*(code *)PTR_getpwd_001dc07c)" ( (pointer_expression "*(code *)PTR_getpwd_001dc07c" * (cast_expression "(code *)PTR_getpwd_001dc07c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17);" (assignment_expression "iVar22 = (*(code *)PTR_strlen_001dbf90)(pcVar17)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(pcVar17)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17)" ( identifier )))) ;) (expression_statement "iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13);" (assignment_expression "iVar12 = (*(code *)PTR_strlen_001dbf90)(uVar13)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(uVar13)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar13)" ( identifier )))) ;) (expression_statement "puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2);" (assignment_expression "puVar23 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2)" identifier = (cast_expression "(undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar22 + iVar12 + 2)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar22 + iVar12 + 2)" ( (binary_expression "iVar22 + iVar12 + 2" (binary_expression "iVar22 + iVar12" identifier + identifier) + number_literal) ))))) ;) (expression_statement "(*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17);" (call_expression "(*(code *)PTR_sprintf_001dbea0)\n                      (puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17)" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" ( (pointer_expression "*(code *)PTR_sprintf_001dbea0" * (cast_expression "(code *)PTR_sprintf_001dbea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar23,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar13,\n                       pcVar17)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78" identifier + number_literal) , identifier , identifier ))) ;) }))) (expression_statement "puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f);" (assignment_expression "puVar14 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strrchr_001dbee0)(puVar23,0x2f)" (parenthesized_expression "(*(code *)PTR_strrchr_001dbee0)" ( (pointer_expression "*(code *)PTR_strrchr_001dbee0" * (cast_expression "(code *)PTR_strrchr_001dbee0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar23,0x2f)" ( identifier , number_literal ))))) ;) (expression_statement "puVar1 = PTR_strlen_001dbf90;" (assignment_expression "puVar1 = PTR_strlen_001dbf90" identifier = identifier) ;) (if_statement "if (puVar14 == (undefined1 *)0x0) {\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }\n          else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }" if (parenthesized_expression "(puVar14 == (undefined1 *)0x0)" ( (binary_expression "puVar14 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);\n          }" { (expression_statement "iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23);" (assignment_expression "iVar22 = (*(code *)PTR_strlen_001dbf90)(puVar23)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar23)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar23)" ( identifier )))) ;) }) (else_clause "else {\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }" else (compound_statement "{\n            *puVar14 = 0;\n            iVar22 = (*(code *)puVar1)();\n          }" { (expression_statement "*puVar14 = 0;" (assignment_expression "*puVar14 = 0" (pointer_expression "*puVar14" * identifier) = number_literal) ;) (expression_statement "iVar22 = (*(code *)puVar1)();" (assignment_expression "iVar22 = (*(code *)puVar1)()" identifier = (call_expression "(*(code *)puVar1)()" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) }))) (expression_statement "pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22);" (assignment_expression "pcVar17 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22)" identifier = (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar21 + iVar22)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar21 + iVar22)" ( (binary_expression "iVar21 + iVar22" identifier + identifier) ))))) ;) (expression_statement "puVar1 = puVar23;" (assignment_expression "puVar1 = puVar23" identifier = identifier) ;) (goto_statement "goto joined_r0x0004f27c;" goto statement_identifier ;) }))) (labeled_statement "LAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }" statement_identifier : (if_statement "if (*(int *)PTR_verbose_001db950 != 0) {\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }" if (parenthesized_expression "(*(int *)PTR_verbose_001db950 != 0)" ( (binary_expression "*(int *)PTR_verbose_001db950 != 0" (pointer_expression "*(int *)PTR_verbose_001db950" * (cast_expression "(int *)PTR_verbose_001db950" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n          pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);\n          info_msg(pcVar17,iVar15);\n        }" { (expression_statement "pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5);" (assignment_expression "pcVar17 = (char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,puVar8,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar8,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "info_msg(pcVar17,iVar15);" (call_expression "info_msg(pcVar17,iVar15)" identifier (argument_list "(pcVar17,iVar15)" ( identifier , identifier ))) ;) }))) (if_statement "if (puVar16 != (undefined1 *)0x0) {\n          *puVar16 = 0x2f;\n        }" if (parenthesized_expression "(puVar16 != (undefined1 *)0x0)" ( (binary_expression "puVar16 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *puVar16 = 0x2f;\n        }" { (expression_statement "*puVar16 = 0x2f;" (assignment_expression "*puVar16 = 0x2f" (pointer_expression "*puVar16" * identifier) = number_literal) ;) })) (expression_statement "iVar21 = (iVar15 + 1) - (int)pcVar11;" (assignment_expression "iVar21 = (iVar15 + 1) - (int)pcVar11" identifier = (binary_expression "(iVar15 + 1) - (int)pcVar11" (parenthesized_expression "(iVar15 + 1)" ( (binary_expression "iVar15 + 1" identifier + number_literal) )) - (cast_expression "(int)pcVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar23 = (undefined *)0x0;" (assignment_expression "puVar23 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar17 = pcVar11;" (assignment_expression "pcVar17 = pcVar11" identifier = identifier) ;) }))) (expression_statement "(*(code *)PTR_free_001dc0ec)(puVar23);" (call_expression "(*(code *)PTR_free_001dc0ec)(puVar23)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" ( (pointer_expression "*(code *)PTR_free_001dc0ec" * (cast_expression "(code *)PTR_free_001dc0ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar23)" ( identifier ))) ;) (expression_statement "pcVar11 = pcVar17;" (assignment_expression "pcVar11 = pcVar17" identifier = identifier) ;) })) (expression_statement "needed.name = pcVar11;" (assignment_expression "needed.name = pcVar11" (field_expression "needed.name" identifier . field_identifier) = identifier) ;) (expression_statement "iVar21 = (*pcVar6)(&needed,pcVar11,force);" (assignment_expression "iVar21 = (*pcVar6)(&needed,pcVar11,force)" identifier = (call_expression "(*pcVar6)(&needed,pcVar11,force)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(&needed,pcVar11,force)" ( (pointer_expression "&needed" & identifier) , identifier , identifier )))) ;) (if_statement "if (iVar21 != 0) {\n      return 1;\n    }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "(*(code *)PTR_free_001dc0ec)(pcVar11);" (call_expression "(*(code *)PTR_free_001dc0ec)(pcVar11)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" ( (pointer_expression "*(code *)PTR_free_001dc0ec" * (cast_expression "(code *)PTR_free_001dc0ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar11)" ( identifier ))) ;) (if_statement "if (*pcVar10 == '\0') {\n      return 0;\n    }" if (parenthesized_expression "(*pcVar10 == '\0')" ( (binary_expression "*pcVar10 == '\0'" (pointer_expression "*pcVar10" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "path = pcVar10 + 1;" (assignment_expression "path = pcVar10 + 1" identifier = (binary_expression "pcVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "undefined4 FUN_0004f008(char *param_1,undefined4 *param_2,undefined4 param_3)\n\n{\n  undefined *puVar1;\n  char *pcVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  char cVar10;\n  undefined4 uVar8;\n  undefined4 *puVar9;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  undefined *puVar14;\n  undefined4 *local_58;\n  char *local_54;\n  undefined *local_50;\n  undefined *local_4c;\n  undefined *local_48;\n  undefined *local_44;\n  char *local_40;\n  int local_3c;\n  undefined *local_38;\n  code *local_34;\n  undefined *local_30;\n  \n  local_54 = (char *)param_2[1];\n  local_40 = local_54;\n  if (*local_54 == '/') {\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }\n  if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {\n    return 0;\n  }\n  local_58 = (undefined4 *)*param_2;\n  local_38 = PTR_config_001db90c;\n  local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;\n  local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);\n  local_3c = local_3c + 2;\n  local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);\n  local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;\n  local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;\n  local_4c = PTR_DAT_001db910 + 0x72fc;\n  do {\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  } while( true );\n}\n\n" (function_definition "undefined4 FUN_0004f008(char *param_1,undefined4 *param_2,undefined4 param_3)\n\n{\n  undefined *puVar1;\n  char *pcVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  char cVar10;\n  undefined4 uVar8;\n  undefined4 *puVar9;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  undefined *puVar14;\n  undefined4 *local_58;\n  char *local_54;\n  undefined *local_50;\n  undefined *local_4c;\n  undefined *local_48;\n  undefined *local_44;\n  char *local_40;\n  int local_3c;\n  undefined *local_38;\n  code *local_34;\n  undefined *local_30;\n  \n  local_54 = (char *)param_2[1];\n  local_40 = local_54;\n  if (*local_54 == '/') {\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }\n  if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {\n    return 0;\n  }\n  local_58 = (undefined4 *)*param_2;\n  local_38 = PTR_config_001db90c;\n  local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;\n  local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);\n  local_3c = local_3c + 2;\n  local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);\n  local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;\n  local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;\n  local_4c = PTR_DAT_001db910 + 0x72fc;\n  do {\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  } while( true );\n}" type_identifier (function_declarator "FUN_0004f008(char *param_1,undefined4 *param_2,undefined4 param_3)" identifier (parameter_list "(char *param_1,undefined4 *param_2,undefined4 param_3)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  char *pcVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  char cVar10;\n  undefined4 uVar8;\n  undefined4 *puVar9;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  undefined *puVar14;\n  undefined4 *local_58;\n  char *local_54;\n  undefined *local_50;\n  undefined *local_4c;\n  undefined *local_48;\n  undefined *local_44;\n  char *local_40;\n  int local_3c;\n  undefined *local_38;\n  code *local_34;\n  undefined *local_30;\n  \n  local_54 = (char *)param_2[1];\n  local_40 = local_54;\n  if (*local_54 == '/') {\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }\n  if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {\n    return 0;\n  }\n  local_58 = (undefined4 *)*param_2;\n  local_38 = PTR_config_001db90c;\n  local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;\n  local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);\n  local_3c = local_3c + 2;\n  local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);\n  local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;\n  local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;\n  local_4c = PTR_DAT_001db910 + 0x72fc;\n  do {\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "undefined *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "code *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "local_54 = (char *)param_2[1];" (assignment_expression "local_54 = (char *)param_2[1]" identifier = (cast_expression "(char *)param_2[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[1]" identifier [ number_literal ]))) ;) (expression_statement "local_40 = local_54;" (assignment_expression "local_40 = local_54" identifier = identifier) ;) (if_statement "if (*local_54 == '/') {\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }" if (parenthesized_expression "(*local_54 == '/')" ( (binary_expression "*local_54 == '/'" (pointer_expression "*local_54" * identifier) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }" { (expression_statement "uVar8 = FUN_0004ebe4(param_2);" (assignment_expression "uVar8 = FUN_0004ebe4(param_2)" identifier = (call_expression "FUN_0004ebe4(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (return_statement "return uVar8;" return identifier ;) })) (if_statement "if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {\n    return 0;\n  }" if (parenthesized_expression "((param_1 == (char *)0x0) || (*param_1 == '\0'))" ( (binary_expression "(param_1 == (char *)0x0) || (*param_1 == '\0')" (parenthesized_expression "(param_1 == (char *)0x0)" ( (binary_expression "param_1 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*param_1 == '\0')" ( (binary_expression "*param_1 == '\0'" (pointer_expression "*param_1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "local_58 = (undefined4 *)*param_2;" (assignment_expression "local_58 = (undefined4 *)*param_2" identifier = (cast_expression "(undefined4 *)*param_2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "local_38 = PTR_config_001db90c;" (assignment_expression "local_38 = PTR_config_001db90c" identifier = identifier) ;) (expression_statement "local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;" (assignment_expression "local_44 = PTR_s____debug_str_____debug_loc_0_____001db974" identifier = identifier) ;) (expression_statement "local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);" (assignment_expression "local_3c = (*(code *)PTR_strlen_001dbf90)(local_54)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(local_54)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_54)" ( identifier )))) ;) (expression_statement "local_3c = local_3c + 2;" (assignment_expression "local_3c = local_3c + 2" identifier = (binary_expression "local_3c + 2" identifier + number_literal)) ;) (expression_statement "local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);" (assignment_expression "local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c)" identifier = (cast_expression "(code *)(PTR_LAB_001dbd8c + -0x141c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_001dbd8c + -0x141c)" ( (binary_expression "PTR_LAB_001dbd8c + -0x141c" identifier + number_literal) )))) ;) (expression_statement "local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;" (assignment_expression "local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80" identifier + number_literal)) ;) (expression_statement "local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;" (assignment_expression "local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88" identifier = (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88" identifier + number_literal)) ;) (expression_statement "local_4c = PTR_DAT_001db910 + 0x72fc;" (assignment_expression "local_4c = PTR_DAT_001db910 + 0x72fc" identifier = (binary_expression "PTR_DAT_001db910 + 0x72fc" identifier + number_literal)) ;) (do_statement "do {\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  } while( true );" do (compound_statement "{\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  }" { (expression_statement "pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);" (assignment_expression "pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48])" identifier = (cast_expression "(char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48])" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48])" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" ( (pointer_expression "*(code *)PTR_strchr_001dbf9c" * (cast_expression "(code *)PTR_strchr_001dbf9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,(int)(char)local_38[0x48])" ( identifier , (cast_expression "(int)(char)local_38[0x48]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)local_38[0x48]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_38[0x48]" identifier [ number_literal ]))) ))))) ;) (if_statement "if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }" if (parenthesized_expression "(pcVar2 == (char *)0x0)" ( (binary_expression "pcVar2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }" { (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(param_1)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar2 = param_1 + iVar11;" (assignment_expression "pcVar2 = param_1 + iVar11" identifier = (binary_expression "param_1 + iVar11" identifier + identifier)) ;) })) (expression_statement "iVar11 = (int)pcVar2 - (int)param_1;" (assignment_expression "iVar11 = (int)pcVar2 - (int)param_1" identifier = (binary_expression "(int)pcVar2 - (int)param_1" (cast_expression "(int)pcVar2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);" (assignment_expression "pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c)" identifier = (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11 + local_3c)" ( (binary_expression "iVar11 + local_3c" identifier + identifier) ))))) ;) (expression_statement "pcVar12 = pcVar3;" (assignment_expression "pcVar12 = pcVar3" identifier = identifier) ;) (if_statement "if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }" if (parenthesized_expression "(param_1 != pcVar2)" ( (binary_expression "param_1 != pcVar2" identifier != identifier) )) (compound_statement "{\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }" { (expression_statement "(*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);" (call_expression "(*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11)" (parenthesized_expression "(*(code *)PTR_memcpy_001dc0e4)" ( (pointer_expression "*(code *)PTR_memcpy_001dc0e4" * (cast_expression "(code *)PTR_memcpy_001dc0e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3,param_1,iVar11)" ( identifier , identifier , identifier ))) ;) (expression_statement "pcVar3[iVar11] = '/';" (assignment_expression "pcVar3[iVar11] = '/'" (subscript_expression "pcVar3[iVar11]" identifier [ identifier ]) = (char_literal "'/'" ' character ')) ;) (expression_statement "pcVar12 = pcVar3 + iVar11 + 1;" (assignment_expression "pcVar12 = pcVar3 + iVar11 + 1" identifier = (binary_expression "pcVar3 + iVar11 + 1" (binary_expression "pcVar3 + iVar11" identifier + identifier) + number_literal)) ;) })) (expression_statement "local_50 = PTR_LAB_001db908;" (assignment_expression "local_50 = PTR_LAB_001db908" identifier = identifier) ;) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);" (call_expression "(*(code *)PTR_strcpy_001dc024)(pcVar12,local_40)" (parenthesized_expression "(*(code *)PTR_strcpy_001dc024)" ( (pointer_expression "*(code *)PTR_strcpy_001dc024" * (cast_expression "(code *)PTR_strcpy_001dc024" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12,local_40)" ( identifier , identifier ))) ;) (while_statement "while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }" while (parenthesized_expression "(iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0)" ( (comma_expression "iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0" (assignment_expression "iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24)" identifier = (call_expression "(*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24)" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" ( (pointer_expression "*(code *)PTR_strchr_001dbf9c" * (cast_expression "(code *)PTR_strchr_001dbf9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3 + iVar11,0x24)" ( (binary_expression "pcVar3 + iVar11" identifier + identifier) , number_literal )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) )) (compound_statement "{\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }" { (expression_statement "puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);" (assignment_expression "puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f)" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" ( (pointer_expression "*(code *)PTR_strchr_001dbf9c" * (cast_expression "(code *)PTR_strchr_001dbf9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6,0x2f)" ( identifier , number_literal ))))) ;) (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(pcVar3)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3)" ( identifier )))) ;) (if_statement "if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }" if (parenthesized_expression "(puVar7 != (undefined1 *)0x0)" ( (binary_expression "puVar7 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *puVar7 = 0;\n      }" { (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) })) (expression_statement "cVar10 = *(char *)(iVar6 + 1);" (assignment_expression "cVar10 = *(char *)(iVar6 + 1)" identifier = (pointer_expression "*(char *)(iVar6 + 1)" * (cast_expression "(char *)(iVar6 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) ))))) ;) (if_statement "if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }" if (parenthesized_expression "(cVar10 == '{')" ( (binary_expression "cVar10 == '{'" identifier == (char_literal "'{'" ' character ')) )) (compound_statement "{\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }" { (expression_statement "cVar10 = *(char *)(iVar6 + 2);" (assignment_expression "cVar10 = *(char *)(iVar6 + 2)" identifier = (pointer_expression "*(char *)(iVar6 + 2)" * (cast_expression "(char *)(iVar6 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 2)" ( (binary_expression "iVar6 + 2" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = iVar6 + 3;" (assignment_expression "iVar13 = iVar6 + 3" identifier = (binary_expression "iVar6 + 3" identifier + number_literal)) ;) (if_statement "if (cVar10 != 'L') goto LAB_0004f35c;" if (parenthesized_expression "(cVar10 != 'L')" ( (binary_expression "cVar10 != 'L'" identifier != (char_literal "'L'" ' character ')) )) (goto_statement "goto LAB_0004f35c;" goto statement_identifier ;)) (labeled_statement "LAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);" statement_identifier : (expression_statement "iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,local_50 + 0x55d4)" ( identifier , (binary_expression "local_50 + 0x55d4" identifier + number_literal) )))) ;)) (if_statement "if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;" if (parenthesized_expression "((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0))" ( (binary_expression "(iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)" ( (comma_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0" (assignment_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70" identifier + number_literal) )))) , (binary_expression "iVar13 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0004f36c;" goto statement_identifier ;)) (expression_statement "puVar1 = local_4c;" (assignment_expression "puVar1 = local_4c" identifier = identifier) ;) (expression_statement "puVar14 = (undefined *)0x0;" (assignment_expression "puVar14 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);" (assignment_expression "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3)" identifier = (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11 + 3)" ( (binary_expression "iVar11 + 3" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;" statement_identifier : (expression_statement "iVar6 = iVar6 - (int)pcVar3;" (assignment_expression "iVar6 = iVar6 - (int)pcVar3" identifier = (binary_expression "iVar6 - (int)pcVar3" identifier - (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (if_statement "if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }" if (parenthesized_expression "(puVar7 == (undefined1 *)0x0)" ( (binary_expression "puVar7 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }" { (expression_statement "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);" (call_expression "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1)" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" ( (pointer_expression "*(code *)PTR_sprintf_001dbea0" * (cast_expression "(code *)PTR_sprintf_001dbea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12,local_30,iVar6,pcVar3,puVar1)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar1)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1)" ( identifier )))) ;) (expression_statement "iVar11 = iVar11 + iVar6;" (assignment_expression "iVar11 = iVar11 + iVar6" identifier = (binary_expression "iVar11 + iVar6" identifier + identifier)) ;) }) (else_clause "else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }" else (compound_statement "{\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }" { (expression_statement "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);" (call_expression "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1)" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" ( (pointer_expression "*(code *)PTR_sprintf_001dbea0" * (cast_expression "(code *)PTR_sprintf_001dbea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1)" ( identifier , (binary_expression "local_44 + 0xc74" identifier + number_literal) , identifier , identifier , identifier , (binary_expression "puVar7 + 1" identifier + number_literal) ))) ;) (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar1)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar1)" ( identifier )))) ;) (expression_statement "iVar11 = iVar6 + 1 + iVar11;" (assignment_expression "iVar11 = iVar6 + 1 + iVar11" identifier = (binary_expression "iVar6 + 1 + iVar11" (binary_expression "iVar6 + 1" identifier + number_literal) + identifier)) ;) }))) (expression_statement "(*(code *)PTR_free_001dc0ec)(pcVar3);" (call_expression "(*(code *)PTR_free_001dc0ec)(pcVar3)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" ( (pointer_expression "*(code *)PTR_free_001dc0ec" * (cast_expression "(code *)PTR_free_001dc0ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3)" ( identifier ))) ;) }) (else_clause "else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }" else (compound_statement "{\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }" { (expression_statement "iVar13 = iVar6 + 2;" (assignment_expression "iVar13 = iVar6 + 2" identifier = (binary_expression "iVar6 + 2" identifier + number_literal)) ;) (if_statement "if (cVar10 == 'L') goto LAB_0004f3d4;" if (parenthesized_expression "(cVar10 == 'L')" ( (binary_expression "cVar10 == 'L'" identifier == (char_literal "'L'" ' character ')) )) (goto_statement "goto LAB_0004f3d4;" goto statement_identifier ;)) (labeled_statement "LAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }" statement_identifier : (if_statement "if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }" if (parenthesized_expression "((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0))" ( (binary_expression "(((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)" (parenthesized_expression "(((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             )))" ( (binary_expression "((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))" (parenthesized_expression "((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0))))" ( (binary_expression "(cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))" (parenthesized_expression "(cVar10 == 'O')" ( (binary_expression "cVar10 == 'O'" identifier == (char_literal "'O'" ' character ')) )) && (parenthesized_expression "((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))" ( (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0))" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60" identifier + number_literal) )))) , (binary_expression "iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)" (binary_expression "iVar4 == 0" identifier == number_literal) || (parenthesized_expression "(iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)" ( (comma_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0" (assignment_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" identifier = (call_expression "(*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" ( (pointer_expression "*(code *)PTR_strcmp_001dc144" * (cast_expression "(code *)PTR_strcmp_001dc144" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68" identifier + number_literal) )))) , (binary_expression "iVar13 == 0" identifier == number_literal)) )))) )) ))) )) && (parenthesized_expression "((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))" ( (parenthesized_expression "(puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             )" ( (comma_expression "puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)" (assignment_expression "puVar9 = local_58" identifier = identifier) , (binary_expression "local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)" (binary_expression "local_58 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)" ( (comma_expression "puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0" (assignment_expression "puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34)" identifier = (pointer_expression "*(undefined4 **)(PTR_link_info_001db928 + 0x34)" * (cast_expression "(undefined4 **)(PTR_link_info_001db928 + 0x34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_link_info_001db928 + 0x34)" ( (binary_expression "PTR_link_info_001db928 + 0x34" identifier + number_literal) ))))) , (binary_expression "puVar9 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )))) )) ))) )) && (parenthesized_expression "(pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)" ( (comma_expression "pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = (char *)*puVar9" identifier = (cast_expression "(char *)*puVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) , (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }" { (if_statement "if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }" if (parenthesized_expression "(*pcVar12 == '/')" ( (binary_expression "*pcVar12 == '/'" (pointer_expression "*pcVar12" * identifier) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }" { (expression_statement "puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);" (assignment_expression "puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12)" identifier = (cast_expression "(undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xstrdup_001dc030)(pcVar12)" (parenthesized_expression "(*(code *)PTR_xstrdup_001dc030)" ( (pointer_expression "*(code *)PTR_xstrdup_001dc030" * (cast_expression "(code *)PTR_xstrdup_001dc030" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12)" ( identifier ))))) ;) }) (else_clause "else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }" else (compound_statement "{\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }" { (expression_statement "uVar8 = (*(code *)PTR_getpwd_001dc07c)();" (assignment_expression "uVar8 = (*(code *)PTR_getpwd_001dc07c)()" identifier = (call_expression "(*(code *)PTR_getpwd_001dc07c)()" (parenthesized_expression "(*(code *)PTR_getpwd_001dc07c)" ( (pointer_expression "*(code *)PTR_getpwd_001dc07c" * (cast_expression "(code *)PTR_getpwd_001dc07c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);" (assignment_expression "iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(pcVar12)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);" (assignment_expression "iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(uVar8)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);" (assignment_expression "puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2)" identifier = (cast_expression "(undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar13 + iVar4 + 2)" ( (binary_expression "iVar13 + iVar4 + 2" (binary_expression "iVar13 + iVar4" identifier + identifier) + number_literal) ))))) ;) (expression_statement "(*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );" (call_expression "(*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      )" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" ( (pointer_expression "*(code *)PTR_sprintf_001dbea0" * (cast_expression "(code *)PTR_sprintf_001dbea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      )" ( identifier , (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78" identifier + number_literal) , identifier , identifier ))) ;) }))) (expression_statement "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);" (assignment_expression "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f)" identifier = (cast_expression "(undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f)" (parenthesized_expression "(*(code *)PTR_strrchr_001dbee0)" ( (pointer_expression "*(code *)PTR_strrchr_001dbee0" * (cast_expression "(code *)PTR_strrchr_001dbee0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14,0x2f)" ( identifier , number_literal ))))) ;) (expression_statement "puVar1 = PTR_strlen_001dbf90;" (assignment_expression "puVar1 = PTR_strlen_001dbf90" identifier = identifier) ;) (if_statement "if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }" if (parenthesized_expression "(puVar5 == (undefined1 *)0x0)" ( (binary_expression "puVar5 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }" { (expression_statement "iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);" (assignment_expression "iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14)" identifier = (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar14)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" ( (pointer_expression "*(code *)PTR_strlen_001dbf90" * (cast_expression "(code *)PTR_strlen_001dbf90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14)" ( identifier )))) ;) }) (else_clause "else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }" else (compound_statement "{\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }" { (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "iVar13 = (*(code *)puVar1)();" (assignment_expression "iVar13 = (*(code *)puVar1)()" identifier = (call_expression "(*(code *)puVar1)()" (parenthesized_expression "(*(code *)puVar1)" ( (pointer_expression "*(code *)puVar1" * (cast_expression "(code *)puVar1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) }))) (expression_statement "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);" (assignment_expression "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13)" identifier = (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" ( (pointer_expression "*(code *)PTR_xmalloc_001dc03c" * (cast_expression "(code *)PTR_xmalloc_001dc03c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11 + iVar13)" ( (binary_expression "iVar11 + iVar13" identifier + identifier) ))))) ;) (expression_statement "puVar1 = puVar14;" (assignment_expression "puVar1 = puVar14" identifier = identifier) ;) (goto_statement "goto joined_r0x0004f27c;" goto statement_identifier ;) }))) (labeled_statement "LAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }" statement_identifier : (if_statement "if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }" if (parenthesized_expression "(*(int *)PTR_verbose_001db950 != 0)" ( (binary_expression "*(int *)PTR_verbose_001db950 != 0" (pointer_expression "*(int *)PTR_verbose_001db950" * (cast_expression "(int *)PTR_verbose_001db950" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }" { (expression_statement "uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);" (assignment_expression "uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" ( (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" * (cast_expression "(code *)PTR_dcgettext_001dc0a4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,local_48,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "info_msg(uVar8,iVar6);" (call_expression "info_msg(uVar8,iVar6)" identifier (argument_list "(uVar8,iVar6)" ( identifier , identifier ))) ;) }))) (if_statement "if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }" if (parenthesized_expression "(puVar7 != (undefined1 *)0x0)" ( (binary_expression "puVar7 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *puVar7 = 0x2f;\n        }" { (expression_statement "*puVar7 = 0x2f;" (assignment_expression "*puVar7 = 0x2f" (pointer_expression "*puVar7" * identifier) = number_literal) ;) })) (expression_statement "iVar11 = (iVar6 + 1) - (int)pcVar3;" (assignment_expression "iVar11 = (iVar6 + 1) - (int)pcVar3" identifier = (binary_expression "(iVar6 + 1) - (int)pcVar3" (parenthesized_expression "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )) - (cast_expression "(int)pcVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar14 = (undefined *)0x0;" (assignment_expression "puVar14 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar12 = pcVar3;" (assignment_expression "pcVar12 = pcVar3" identifier = identifier) ;) }))) (expression_statement "(*(code *)PTR_free_001dc0ec)(puVar14);" (call_expression "(*(code *)PTR_free_001dc0ec)(puVar14)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" ( (pointer_expression "*(code *)PTR_free_001dc0ec" * (cast_expression "(code *)PTR_free_001dc0ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14)" ( identifier ))) ;) (expression_statement "pcVar3 = pcVar12;" (assignment_expression "pcVar3 = pcVar12" identifier = identifier) ;) })) (expression_statement "local_54 = pcVar3;" (assignment_expression "local_54 = pcVar3" identifier = identifier) ;) (expression_statement "iVar11 = (*local_34)(&local_58,pcVar3,param_3);" (assignment_expression "iVar11 = (*local_34)(&local_58,pcVar3,param_3)" identifier = (call_expression "(*local_34)(&local_58,pcVar3,param_3)" (parenthesized_expression "(*local_34)" ( (pointer_expression "*local_34" * identifier) )) (argument_list "(&local_58,pcVar3,param_3)" ( (pointer_expression "&local_58" & identifier) , identifier , identifier )))) ;) (if_statement "if (iVar11 != 0) {\n      return 1;\n    }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) (expression_statement "(*(code *)PTR_free_001dc0ec)(pcVar3);" (call_expression "(*(code *)PTR_free_001dc0ec)(pcVar3)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" ( (pointer_expression "*(code *)PTR_free_001dc0ec" * (cast_expression "(code *)PTR_free_001dc0ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar3)" ( identifier ))) ;) (if_statement "if (*pcVar2 == '\0') {\n      return 0;\n    }" if (parenthesized_expression "(*pcVar2 == '\0')" ( (binary_expression "*pcVar2 == '\0'" (pointer_expression "*pcVar2" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_1 = pcVar2 + 1;" (assignment_expression "param_1 = pcVar2 + 1" identifier = (binary_expression "pcVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_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 )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) 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 ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + IDENT) , LIT )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (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 , IDENT , IDENT , IDENT , IDENT ))) ;) (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 = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )))) )) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) }) (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 ( )))) ;) (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 )))) ;) (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 ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) }))) (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 ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "undefined4 FUN_0004f008(char *param_1,undefined4 *param_2,undefined4 param_3)\n\n{\n  undefined *puVar1;\n  char *pcVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  char cVar10;\n  undefined4 uVar8;\n  undefined4 *puVar9;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  undefined *puVar14;\n  undefined4 *local_58;\n  char *local_54;\n  undefined *local_50;\n  undefined *local_4c;\n  undefined *local_48;\n  undefined *local_44;\n  char *local_40;\n  int local_3c;\n  undefined *local_38;\n  code *local_34;\n  undefined *local_30;\n  \n  local_54 = (char *)param_2[1];\n  local_40 = local_54;\n  if (*local_54 == '/') {\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }\n  if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {\n    return 0;\n  }\n  local_58 = (undefined4 *)*param_2;\n  local_38 = PTR_config_001db90c;\n  local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;\n  local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);\n  local_3c = local_3c + 2;\n  local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);\n  local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;\n  local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;\n  local_4c = PTR_DAT_001db910 + 0x72fc;\n  do {\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  } while( true );\n}" (type_identifier "undefined4") (function_declarator "FUN_0004f008(char *param_1,undefined4 *param_2,undefined4 param_3)" (identifier "FUN_0004f008") (parameter_list "(char *param_1,undefined4 *param_2,undefined4 param_3)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  char *pcVar2;\n  char *pcVar3;\n  int iVar4;\n  undefined1 *puVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  char cVar10;\n  undefined4 uVar8;\n  undefined4 *puVar9;\n  int iVar11;\n  char *pcVar12;\n  int iVar13;\n  undefined *puVar14;\n  undefined4 *local_58;\n  char *local_54;\n  undefined *local_50;\n  undefined *local_4c;\n  undefined *local_48;\n  undefined *local_44;\n  char *local_40;\n  int local_3c;\n  undefined *local_38;\n  code *local_34;\n  undefined *local_30;\n  \n  local_54 = (char *)param_2[1];\n  local_40 = local_54;\n  if (*local_54 == '/') {\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }\n  if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {\n    return 0;\n  }\n  local_58 = (undefined4 *)*param_2;\n  local_38 = PTR_config_001db90c;\n  local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;\n  local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);\n  local_3c = local_3c + 2;\n  local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);\n  local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;\n  local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;\n  local_4c = PTR_DAT_001db910 + 0x72fc;\n  do {\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  } while( true );\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "char *pcVar2;" (primitive_type "char") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined1 *puVar5;" (type_identifier "undefined1") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined1 *puVar7;" (type_identifier "undefined1") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "char cVar10;" (primitive_type "char") (identifier "cVar10") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined4 *local_58;" (type_identifier "undefined4") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "char *local_54;" (primitive_type "char") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "undefined *local_50;" (type_identifier "undefined") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "undefined *local_4c;" (type_identifier "undefined") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "undefined *local_48;" (type_identifier "undefined") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "undefined *local_44;" (type_identifier "undefined") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "char *local_40;" (primitive_type "char") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined *local_38;" (type_identifier "undefined") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "code *local_34;" (type_identifier "code") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "undefined *local_30;" (type_identifier "undefined") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (expression_statement "local_54 = (char *)param_2[1];" (assignment_expression "local_54 = (char *)param_2[1]" (identifier "local_54") (= "=") (cast_expression "(char *)param_2[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_40 = local_54;" (assignment_expression "local_40 = local_54" (identifier "local_40") (= "=") (identifier "local_54")) (; ";")) (if_statement "if (*local_54 == '/') {\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }" (if "if") (parenthesized_expression "(*local_54 == '/')" (( "(") (binary_expression "*local_54 == '/'" (pointer_expression "*local_54" (* "*") (identifier "local_54")) (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n    uVar8 = FUN_0004ebe4(param_2);\n    return uVar8;\n  }" ({ "{") (expression_statement "uVar8 = FUN_0004ebe4(param_2);" (assignment_expression "uVar8 = FUN_0004ebe4(param_2)" (identifier "uVar8") (= "=") (call_expression "FUN_0004ebe4(param_2)" (identifier "FUN_0004ebe4") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (return_statement "return uVar8;" (return "return") (identifier "uVar8") (; ";")) (} "}"))) (if_statement "if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {\n    return 0;\n  }" (if "if") (parenthesized_expression "((param_1 == (char *)0x0) || (*param_1 == '\0'))" (( "(") (binary_expression "(param_1 == (char *)0x0) || (*param_1 == '\0')" (parenthesized_expression "(param_1 == (char *)0x0)" (( "(") (binary_expression "param_1 == (char *)0x0" (identifier "param_1") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*param_1 == '\0')" (( "(") (binary_expression "*param_1 == '\0'" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "local_58 = (undefined4 *)*param_2;" (assignment_expression "local_58 = (undefined4 *)*param_2" (identifier "local_58") (= "=") (cast_expression "(undefined4 *)*param_2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (expression_statement "local_38 = PTR_config_001db90c;" (assignment_expression "local_38 = PTR_config_001db90c" (identifier "local_38") (= "=") (identifier "PTR_config_001db90c")) (; ";")) (expression_statement "local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;" (assignment_expression "local_44 = PTR_s____debug_str_____debug_loc_0_____001db974" (identifier "local_44") (= "=") (identifier "PTR_s____debug_str_____debug_loc_0_____001db974")) (; ";")) (expression_statement "local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);" (assignment_expression "local_3c = (*(code *)PTR_strlen_001dbf90)(local_54)" (identifier "local_3c") (= "=") (call_expression "(*(code *)PTR_strlen_001dbf90)(local_54)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" (( "(") (pointer_expression "*(code *)PTR_strlen_001dbf90" (* "*") (cast_expression "(code *)PTR_strlen_001dbf90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_001dbf90"))) () ")")) (argument_list "(local_54)" (( "(") (identifier "local_54") () ")")))) (; ";")) (expression_statement "local_3c = local_3c + 2;" (assignment_expression "local_3c = local_3c + 2" (identifier "local_3c") (= "=") (binary_expression "local_3c + 2" (identifier "local_3c") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);" (assignment_expression "local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c)" (identifier "local_34") (= "=") (cast_expression "(code *)(PTR_LAB_001dbd8c + -0x141c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_001dbd8c + -0x141c)" (( "(") (binary_expression "PTR_LAB_001dbd8c + -0x141c" (identifier "PTR_LAB_001dbd8c") (+ "+") (number_literal "-0x141c")) () ")")))) (; ";")) (expression_statement "local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;" (assignment_expression "local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80" (identifier "local_30") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xc80"))) (; ";")) (expression_statement "local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;" (assignment_expression "local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88" (identifier "local_48") (= "=") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xc88"))) (; ";")) (expression_statement "local_4c = PTR_DAT_001db910 + 0x72fc;" (assignment_expression "local_4c = PTR_DAT_001db910 + 0x72fc" (identifier "local_4c") (= "=") (binary_expression "PTR_DAT_001db910 + 0x72fc" (identifier "PTR_DAT_001db910") (+ "+") (number_literal "0x72fc"))) (; ";")) (do_statement "do {\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  } while( true );" (do "do") (compound_statement "{\n    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);\n    if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }\n    iVar11 = (int)pcVar2 - (int)param_1;\n    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);\n    pcVar12 = pcVar3;\n    if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }\n    local_50 = PTR_LAB_001db908;\n    iVar11 = 0;\n    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);\n    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }\n    local_54 = pcVar3;\n    iVar11 = (*local_34)(&local_58,pcVar3,param_3);\n    if (iVar11 != 0) {\n      return 1;\n    }\n    (*(code *)PTR_free_001dc0ec)(pcVar3);\n    if (*pcVar2 == '\0') {\n      return 0;\n    }\n    param_1 = pcVar2 + 1;\n  }" ({ "{") (expression_statement "pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);" (assignment_expression "pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48])" (identifier "pcVar2") (= "=") (cast_expression "(char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48])" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48])" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" (( "(") (pointer_expression "*(code *)PTR_strchr_001dbf9c" (* "*") (cast_expression "(code *)PTR_strchr_001dbf9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strchr_001dbf9c"))) () ")")) (argument_list "(param_1,(int)(char)local_38[0x48])" (( "(") (identifier "param_1") (, ",") (cast_expression "(int)(char)local_38[0x48]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)local_38[0x48]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_38[0x48]" (identifier "local_38") ([ "[") (number_literal "0x48") (] "]")))) () ")"))))) (; ";")) (if_statement "if (pcVar2 == (char *)0x0) {\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }" (if "if") (parenthesized_expression "(pcVar2 == (char *)0x0)" (( "(") (binary_expression "pcVar2 == (char *)0x0" (identifier "pcVar2") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);\n      pcVar2 = param_1 + iVar11;\n    }" ({ "{") (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR_strlen_001dbf90)(param_1)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" (( "(") (pointer_expression "*(code *)PTR_strlen_001dbf90" (* "*") (cast_expression "(code *)PTR_strlen_001dbf90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_001dbf90"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar2 = param_1 + iVar11;" (assignment_expression "pcVar2 = param_1 + iVar11" (identifier "pcVar2") (= "=") (binary_expression "param_1 + iVar11" (identifier "param_1") (+ "+") (identifier "iVar11"))) (; ";")) (} "}"))) (expression_statement "iVar11 = (int)pcVar2 - (int)param_1;" (assignment_expression "iVar11 = (int)pcVar2 - (int)param_1" (identifier "iVar11") (= "=") (binary_expression "(int)pcVar2 - (int)param_1" (cast_expression "(int)pcVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar2")) (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")))) (; ";")) (expression_statement "pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);" (assignment_expression "pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c)" (identifier "pcVar3") (= "=") (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001dc03c" (* "*") (cast_expression "(code *)PTR_xmalloc_001dc03c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001dc03c"))) () ")")) (argument_list "(iVar11 + local_3c)" (( "(") (binary_expression "iVar11 + local_3c" (identifier "iVar11") (+ "+") (identifier "local_3c")) () ")"))))) (; ";")) (expression_statement "pcVar12 = pcVar3;" (assignment_expression "pcVar12 = pcVar3" (identifier "pcVar12") (= "=") (identifier "pcVar3")) (; ";")) (if_statement "if (param_1 != pcVar2) {\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }" (if "if") (parenthesized_expression "(param_1 != pcVar2)" (( "(") (binary_expression "param_1 != pcVar2" (identifier "param_1") (!= "!=") (identifier "pcVar2")) () ")")) (compound_statement "{\n      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);\n      pcVar3[iVar11] = '/';\n      pcVar12 = pcVar3 + iVar11 + 1;\n    }" ({ "{") (expression_statement "(*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);" (call_expression "(*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11)" (parenthesized_expression "(*(code *)PTR_memcpy_001dc0e4)" (( "(") (pointer_expression "*(code *)PTR_memcpy_001dc0e4" (* "*") (cast_expression "(code *)PTR_memcpy_001dc0e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_001dc0e4"))) () ")")) (argument_list "(pcVar3,param_1,iVar11)" (( "(") (identifier "pcVar3") (, ",") (identifier "param_1") (, ",") (identifier "iVar11") () ")"))) (; ";")) (expression_statement "pcVar3[iVar11] = '/';" (assignment_expression "pcVar3[iVar11] = '/'" (subscript_expression "pcVar3[iVar11]" (identifier "pcVar3") ([ "[") (identifier "iVar11") (] "]")) (= "=") (char_literal "'/'" (' "'") (character "/") (' "'"))) (; ";")) (expression_statement "pcVar12 = pcVar3 + iVar11 + 1;" (assignment_expression "pcVar12 = pcVar3 + iVar11 + 1" (identifier "pcVar12") (= "=") (binary_expression "pcVar3 + iVar11 + 1" (binary_expression "pcVar3 + iVar11" (identifier "pcVar3") (+ "+") (identifier "iVar11")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_50 = PTR_LAB_001db908;" (assignment_expression "local_50 = PTR_LAB_001db908" (identifier "local_50") (= "=") (identifier "PTR_LAB_001db908")) (; ";")) (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" (identifier "iVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);" (call_expression "(*(code *)PTR_strcpy_001dc024)(pcVar12,local_40)" (parenthesized_expression "(*(code *)PTR_strcpy_001dc024)" (( "(") (pointer_expression "*(code *)PTR_strcpy_001dc024" (* "*") (cast_expression "(code *)PTR_strcpy_001dc024" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_001dc024"))) () ")")) (argument_list "(pcVar12,local_40)" (( "(") (identifier "pcVar12") (, ",") (identifier "local_40") () ")"))) (; ";")) (while_statement "while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }" (while "while") (parenthesized_expression "(iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0)" (( "(") (comma_expression "iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0" (assignment_expression "iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24)" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" (( "(") (pointer_expression "*(code *)PTR_strchr_001dbf9c" (* "*") (cast_expression "(code *)PTR_strchr_001dbf9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strchr_001dbf9c"))) () ")")) (argument_list "(pcVar3 + iVar11,0x24)" (( "(") (binary_expression "pcVar3 + iVar11" (identifier "pcVar3") (+ "+") (identifier "iVar11")) (, ",") (number_literal "0x24") () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);\n      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);\n      if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }\n      cVar10 = *(char *)(iVar6 + 1);\n      if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }\n      (*(code *)PTR_free_001dc0ec)(puVar14);\n      pcVar3 = pcVar12;\n    }" ({ "{") (expression_statement "puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);" (assignment_expression "puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f)" (identifier "puVar7") (= "=") (cast_expression "(undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f)" (parenthesized_expression "(*(code *)PTR_strchr_001dbf9c)" (( "(") (pointer_expression "*(code *)PTR_strchr_001dbf9c" (* "*") (cast_expression "(code *)PTR_strchr_001dbf9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strchr_001dbf9c"))) () ")")) (argument_list "(iVar6,0x2f)" (( "(") (identifier "iVar6") (, ",") (number_literal "0x2f") () ")"))))) (; ";")) (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR_strlen_001dbf90)(pcVar3)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" (( "(") (pointer_expression "*(code *)PTR_strlen_001dbf90" (* "*") (cast_expression "(code *)PTR_strlen_001dbf90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_001dbf90"))) () ")")) (argument_list "(pcVar3)" (( "(") (identifier "pcVar3") () ")")))) (; ";")) (if_statement "if (puVar7 != (undefined1 *)0x0) {\n        *puVar7 = 0;\n      }" (if "if") (parenthesized_expression "(puVar7 != (undefined1 *)0x0)" (( "(") (binary_expression "puVar7 != (undefined1 *)0x0" (identifier "puVar7") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *puVar7 = 0;\n      }" ({ "{") (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "cVar10 = *(char *)(iVar6 + 1);" (assignment_expression "cVar10 = *(char *)(iVar6 + 1)" (identifier "cVar10") (= "=") (pointer_expression "*(char *)(iVar6 + 1)" (* "*") (cast_expression "(char *)(iVar6 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 1)" (( "(") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (if_statement "if (cVar10 == '{') {\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }\n      else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }" (if "if") (parenthesized_expression "(cVar10 == '{')" (( "(") (binary_expression "cVar10 == '{'" (identifier "cVar10") (== "==") (char_literal "'{'" (' "'") (character "{") (' "'"))) () ")")) (compound_statement "{\n        cVar10 = *(char *)(iVar6 + 2);\n        iVar13 = iVar6 + 3;\n        if (cVar10 != 'L') goto LAB_0004f35c;\nLAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);\n        if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;\n        puVar1 = local_4c;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);\njoined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;\n        if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }\n        (*(code *)PTR_free_001dc0ec)(pcVar3);\n      }" ({ "{") (expression_statement "cVar10 = *(char *)(iVar6 + 2);" (assignment_expression "cVar10 = *(char *)(iVar6 + 2)" (identifier "cVar10") (= "=") (pointer_expression "*(char *)(iVar6 + 2)" (* "*") (cast_expression "(char *)(iVar6 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 2)" (( "(") (binary_expression "iVar6 + 2" (identifier "iVar6") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "iVar13 = iVar6 + 3;" (assignment_expression "iVar13 = iVar6 + 3" (identifier "iVar13") (= "=") (binary_expression "iVar6 + 3" (identifier "iVar6") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (cVar10 != 'L') goto LAB_0004f35c;" (if "if") (parenthesized_expression "(cVar10 != 'L')" (( "(") (binary_expression "cVar10 != 'L'" (identifier "cVar10") (!= "!=") (char_literal "'L'" (' "'") (character "L") (' "'"))) () ")")) (goto_statement "goto LAB_0004f35c;" (goto "goto") (statement_identifier "LAB_0004f35c") (; ";"))) (labeled_statement "LAB_0004f3d4:\n        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);" (statement_identifier "LAB_0004f3d4") (: ":") (expression_statement "iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" (( "(") (pointer_expression "*(code *)PTR_strcmp_001dc144" (* "*") (cast_expression "(code *)PTR_strcmp_001dc144" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_001dc144"))) () ")")) (argument_list "(iVar13,local_50 + 0x55d4)" (( "(") (identifier "iVar13") (, ",") (binary_expression "local_50 + 0x55d4" (identifier "local_50") (+ "+") (number_literal "0x55d4")) () ")")))) (; ";"))) (if_statement "if ((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)) goto LAB_0004f36c;" (if "if") (parenthesized_expression "((iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0))" (( "(") (binary_expression "(iVar4 != 0) &&\n           (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0)" (( "(") (comma_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),\n           iVar13 != 0" (assignment_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" (identifier "iVar13") (= "=") (call_expression "(*(code *)PTR_strcmp_001dc144)\n                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" (( "(") (pointer_expression "*(code *)PTR_strcmp_001dc144" (* "*") (cast_expression "(code *)PTR_strcmp_001dc144" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_001dc144"))) () ")")) (argument_list "(iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70)" (( "(") (identifier "iVar13") (, ",") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xc70")) () ")")))) (, ",") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0004f36c;" (goto "goto") (statement_identifier "LAB_0004f36c") (; ";"))) (expression_statement "puVar1 = local_4c;" (assignment_expression "puVar1 = local_4c" (identifier "puVar1") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "puVar14 = (undefined *)0x0;" (assignment_expression "puVar14 = (undefined *)0x0" (identifier "puVar14") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);" (assignment_expression "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3)" (identifier "pcVar12") (= "=") (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001dc03c" (* "*") (cast_expression "(code *)PTR_xmalloc_001dc03c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001dc03c"))) () ")")) (argument_list "(iVar11 + 3)" (( "(") (binary_expression "iVar11 + 3" (identifier "iVar11") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (labeled_statement "joined_r0x0004f27c:\n        iVar6 = iVar6 - (int)pcVar3;" (statement_identifier "joined_r0x0004f27c") (: ":") (expression_statement "iVar6 = iVar6 - (int)pcVar3;" (assignment_expression "iVar6 = iVar6 - (int)pcVar3" (identifier "iVar6") (= "=") (binary_expression "iVar6 - (int)pcVar3" (identifier "iVar6") (- "-") (cast_expression "(int)pcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar3")))) (; ";"))) (if_statement "if (puVar7 == (undefined1 *)0x0) {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }\n        else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }" (if "if") (parenthesized_expression "(puVar7 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar7 == (undefined1 *)0x0" (identifier "puVar7") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar11 + iVar6;\n        }" ({ "{") (expression_statement "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);" (call_expression "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1)" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" (( "(") (pointer_expression "*(code *)PTR_sprintf_001dbea0" (* "*") (cast_expression "(code *)PTR_sprintf_001dbea0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sprintf_001dbea0"))) () ")")) (argument_list "(pcVar12,local_30,iVar6,pcVar3,puVar1)" (( "(") (identifier "pcVar12") (, ",") (identifier "local_30") (, ",") (identifier "iVar6") (, ",") (identifier "pcVar3") (, ",") (identifier "puVar1") () ")"))) (; ";")) (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar1)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" (( "(") (pointer_expression "*(code *)PTR_strlen_001dbf90" (* "*") (cast_expression "(code *)PTR_strlen_001dbf90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_001dbf90"))) () ")")) (argument_list "(puVar1)" (( "(") (identifier "puVar1") () ")")))) (; ";")) (expression_statement "iVar11 = iVar11 + iVar6;" (assignment_expression "iVar11 = iVar11 + iVar6" (identifier "iVar11") (= "=") (binary_expression "iVar11 + iVar6" (identifier "iVar11") (+ "+") (identifier "iVar6"))) (; ";")) (} "}")) (else_clause "else {\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }" (else "else") (compound_statement "{\n          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);\n          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);\n          iVar11 = iVar6 + 1 + iVar11;\n        }" ({ "{") (expression_statement "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);" (call_expression "(*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1)" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" (( "(") (pointer_expression "*(code *)PTR_sprintf_001dbea0" (* "*") (cast_expression "(code *)PTR_sprintf_001dbea0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sprintf_001dbea0"))) () ")")) (argument_list "(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1)" (( "(") (identifier "pcVar12") (, ",") (binary_expression "local_44 + 0xc74" (identifier "local_44") (+ "+") (number_literal "0xc74")) (, ",") (identifier "iVar6") (, ",") (identifier "pcVar3") (, ",") (identifier "puVar1") (, ",") (binary_expression "puVar7 + 1" (identifier "puVar7") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);" (assignment_expression "iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1)" (identifier "iVar11") (= "=") (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar1)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" (( "(") (pointer_expression "*(code *)PTR_strlen_001dbf90" (* "*") (cast_expression "(code *)PTR_strlen_001dbf90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_001dbf90"))) () ")")) (argument_list "(puVar1)" (( "(") (identifier "puVar1") () ")")))) (; ";")) (expression_statement "iVar11 = iVar6 + 1 + iVar11;" (assignment_expression "iVar11 = iVar6 + 1 + iVar11" (identifier "iVar11") (= "=") (binary_expression "iVar6 + 1 + iVar11" (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1")) (+ "+") (identifier "iVar11"))) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_free_001dc0ec)(pcVar3);" (call_expression "(*(code *)PTR_free_001dc0ec)(pcVar3)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" (( "(") (pointer_expression "*(code *)PTR_free_001dc0ec" (* "*") (cast_expression "(code *)PTR_free_001dc0ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_001dc0ec"))) () ")")) (argument_list "(pcVar3)" (( "(") (identifier "pcVar3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }" (else "else") (compound_statement "{\n        iVar13 = iVar6 + 2;\n        if (cVar10 == 'L') goto LAB_0004f3d4;\nLAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }\nLAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }\n        if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }\n        iVar11 = (iVar6 + 1) - (int)pcVar3;\n        puVar14 = (undefined *)0x0;\n        pcVar12 = pcVar3;\n      }" ({ "{") (expression_statement "iVar13 = iVar6 + 2;" (assignment_expression "iVar13 = iVar6 + 2" (identifier "iVar13") (= "=") (binary_expression "iVar6 + 2" (identifier "iVar6") (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (cVar10 == 'L') goto LAB_0004f3d4;" (if "if") (parenthesized_expression "(cVar10 == 'L')" (( "(") (binary_expression "cVar10 == 'L'" (identifier "cVar10") (== "==") (char_literal "'L'" (' "'") (character "L") (' "'"))) () ")")) (goto_statement "goto LAB_0004f3d4;" (goto "goto") (statement_identifier "LAB_0004f3d4") (; ";"))) (labeled_statement "LAB_0004f35c:\n        if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }" (statement_identifier "LAB_0004f35c") (: ":") (if_statement "if ((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }" (if "if") (parenthesized_expression "((((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0))" (( "(") (binary_expression "(((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)" (parenthesized_expression "(((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             )))" (( "(") (binary_expression "((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))) &&\n            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))" (parenthesized_expression "((cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0))))" (( "(") (binary_expression "(cVar10 == 'O') &&\n             ((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))" (parenthesized_expression "(cVar10 == 'O')" (( "(") (binary_expression "cVar10 == 'O'" (identifier "cVar10") (== "==") (char_literal "'O'" (' "'") (character "O") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)))" (( "(") (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0))" (( "(") (comma_expression "iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),\n              iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_001dc144)\n                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" (( "(") (pointer_expression "*(code *)PTR_strcmp_001dc144" (* "*") (cast_expression "(code *)PTR_strcmp_001dc144" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_001dc144"))) () ")")) (argument_list "(iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60)" (( "(") (identifier "iVar13") (, ",") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xc60")) () ")")))) (, ",") (binary_expression "iVar4 == 0 ||\n              (iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)" (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0)" (( "(") (comma_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),\n              iVar13 == 0" (assignment_expression "iVar13 = (*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" (identifier "iVar13") (= "=") (call_expression "(*(code *)PTR_strcmp_001dc144)\n                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" (parenthesized_expression "(*(code *)PTR_strcmp_001dc144)" (( "(") (pointer_expression "*(code *)PTR_strcmp_001dc144" (* "*") (cast_expression "(code *)PTR_strcmp_001dc144" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_001dc144"))) () ")")) (argument_list "(iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68)" (( "(") (identifier "iVar13") (, ",") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xc68")) () ")")))) (, ",") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             ))" (( "(") (parenthesized_expression "(puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)\n             )" (( "(") (comma_expression "puVar9 = local_58, local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)" (assignment_expression "puVar9 = local_58" (identifier "puVar9") (= "=") (identifier "local_58")) (, ",") (binary_expression "local_58 != (undefined4 *)0x0 ||\n             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)" (binary_expression "local_58 != (undefined4 *)0x0" (identifier "local_58") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)" (( "(") (comma_expression "puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0" (assignment_expression "puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34)" (identifier "puVar9") (= "=") (pointer_expression "*(undefined4 **)(PTR_link_info_001db928 + 0x34)" (* "*") (cast_expression "(undefined4 **)(PTR_link_info_001db928 + 0x34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_link_info_001db928 + 0x34)" (( "(") (binary_expression "PTR_link_info_001db928 + 0x34" (identifier "PTR_link_info_001db928") (+ "+") (number_literal "0x34")) () ")"))))) (, ",") (binary_expression "puVar9 != (undefined4 *)0x0" (identifier "puVar9") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)" (( "(") (comma_expression "pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = (char *)*puVar9" (identifier "pcVar12") (= "=") (cast_expression "(char *)*puVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")))) (, ",") (binary_expression "pcVar12 != (char *)0x0" (identifier "pcVar12") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n          if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }\n          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);\n          puVar1 = PTR_strlen_001dbf90;\n          if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }\n          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);\n          puVar1 = puVar14;\n          goto joined_r0x0004f27c;\n        }" ({ "{") (if_statement "if (*pcVar12 == '/') {\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }\n          else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }" (if "if") (parenthesized_expression "(*pcVar12 == '/')" (( "(") (binary_expression "*pcVar12 == '/'" (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12")) (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);\n          }" ({ "{") (expression_statement "puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);" (assignment_expression "puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12)" (identifier "puVar14") (= "=") (cast_expression "(undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_xstrdup_001dc030)(pcVar12)" (parenthesized_expression "(*(code *)PTR_xstrdup_001dc030)" (( "(") (pointer_expression "*(code *)PTR_xstrdup_001dc030" (* "*") (cast_expression "(code *)PTR_xstrdup_001dc030" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xstrdup_001dc030"))) () ")")) (argument_list "(pcVar12)" (( "(") (identifier "pcVar12") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }" (else "else") (compound_statement "{\n            uVar8 = (*(code *)PTR_getpwd_001dc07c)();\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);\n            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);\n            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);\n            (*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );\n          }" ({ "{") (expression_statement "uVar8 = (*(code *)PTR_getpwd_001dc07c)();" (assignment_expression "uVar8 = (*(code *)PTR_getpwd_001dc07c)()" (identifier "uVar8") (= "=") (call_expression "(*(code *)PTR_getpwd_001dc07c)()" (parenthesized_expression "(*(code *)PTR_getpwd_001dc07c)" (( "(") (pointer_expression "*(code *)PTR_getpwd_001dc07c" (* "*") (cast_expression "(code *)PTR_getpwd_001dc07c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_getpwd_001dc07c"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);" (assignment_expression "iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12)" (identifier "iVar13") (= "=") (call_expression "(*(code *)PTR_strlen_001dbf90)(pcVar12)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" (( "(") (pointer_expression "*(code *)PTR_strlen_001dbf90" (* "*") (cast_expression "(code *)PTR_strlen_001dbf90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_001dbf90"))) () ")")) (argument_list "(pcVar12)" (( "(") (identifier "pcVar12") () ")")))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);" (assignment_expression "iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strlen_001dbf90)(uVar8)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" (( "(") (pointer_expression "*(code *)PTR_strlen_001dbf90" (* "*") (cast_expression "(code *)PTR_strlen_001dbf90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_001dbf90"))) () ")")) (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);" (assignment_expression "puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2)" (identifier "puVar14") (= "=") (cast_expression "(undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001dc03c" (* "*") (cast_expression "(code *)PTR_xmalloc_001dc03c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001dc03c"))) () ")")) (argument_list "(iVar13 + iVar4 + 2)" (( "(") (binary_expression "iVar13 + iVar4 + 2" (binary_expression "iVar13 + iVar4" (identifier "iVar13") (+ "+") (identifier "iVar4")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "(*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      );" (call_expression "(*(code *)PTR_sprintf_001dbea0)\n                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      )" (parenthesized_expression "(*(code *)PTR_sprintf_001dbea0)" (( "(") (pointer_expression "*(code *)PTR_sprintf_001dbea0" (* "*") (cast_expression "(code *)PTR_sprintf_001dbea0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sprintf_001dbea0"))) () ")")) (argument_list "(puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12\n                      )" (( "(") (identifier "puVar14") (, ",") (binary_expression "PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78" (identifier "PTR_s____debug_str_____debug_loc_0_____001db974") (+ "+") (number_literal "0xc78")) (, ",") (identifier "uVar8") (, ",") (identifier "pcVar12") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);" (assignment_expression "puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f)" (identifier "puVar5") (= "=") (cast_expression "(undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f)" (parenthesized_expression "(*(code *)PTR_strrchr_001dbee0)" (( "(") (pointer_expression "*(code *)PTR_strrchr_001dbee0" (* "*") (cast_expression "(code *)PTR_strrchr_001dbee0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strrchr_001dbee0"))) () ")")) (argument_list "(puVar14,0x2f)" (( "(") (identifier "puVar14") (, ",") (number_literal "0x2f") () ")"))))) (; ";")) (expression_statement "puVar1 = PTR_strlen_001dbf90;" (assignment_expression "puVar1 = PTR_strlen_001dbf90" (identifier "puVar1") (= "=") (identifier "PTR_strlen_001dbf90")) (; ";")) (if_statement "if (puVar5 == (undefined1 *)0x0) {\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }\n          else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }" (if "if") (parenthesized_expression "(puVar5 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar5 == (undefined1 *)0x0" (identifier "puVar5") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);\n          }" ({ "{") (expression_statement "iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);" (assignment_expression "iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14)" (identifier "iVar13") (= "=") (call_expression "(*(code *)PTR_strlen_001dbf90)(puVar14)" (parenthesized_expression "(*(code *)PTR_strlen_001dbf90)" (( "(") (pointer_expression "*(code *)PTR_strlen_001dbf90" (* "*") (cast_expression "(code *)PTR_strlen_001dbf90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_001dbf90"))) () ")")) (argument_list "(puVar14)" (( "(") (identifier "puVar14") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }" (else "else") (compound_statement "{\n            *puVar5 = 0;\n            iVar13 = (*(code *)puVar1)();\n          }" ({ "{") (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar13 = (*(code *)puVar1)();" (assignment_expression "iVar13 = (*(code *)puVar1)()" (identifier "iVar13") (= "=") (call_expression "(*(code *)puVar1)()" (parenthesized_expression "(*(code *)puVar1)" (( "(") (pointer_expression "*(code *)puVar1" (* "*") (cast_expression "(code *)puVar1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);" (assignment_expression "pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13)" (identifier "pcVar12") (= "=") (cast_expression "(char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13)" (parenthesized_expression "(*(code *)PTR_xmalloc_001dc03c)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001dc03c" (* "*") (cast_expression "(code *)PTR_xmalloc_001dc03c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001dc03c"))) () ")")) (argument_list "(iVar11 + iVar13)" (( "(") (binary_expression "iVar11 + iVar13" (identifier "iVar11") (+ "+") (identifier "iVar13")) () ")"))))) (; ";")) (expression_statement "puVar1 = puVar14;" (assignment_expression "puVar1 = puVar14" (identifier "puVar1") (= "=") (identifier "puVar14")) (; ";")) (goto_statement "goto joined_r0x0004f27c;" (goto "goto") (statement_identifier "joined_r0x0004f27c") (; ";")) (} "}")))) (labeled_statement "LAB_0004f36c:\n        if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }" (statement_identifier "LAB_0004f36c") (: ":") (if_statement "if (*(int *)PTR_verbose_001db950 != 0) {\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }" (if "if") (parenthesized_expression "(*(int *)PTR_verbose_001db950 != 0)" (( "(") (binary_expression "*(int *)PTR_verbose_001db950 != 0" (pointer_expression "*(int *)PTR_verbose_001db950" (* "*") (cast_expression "(int *)PTR_verbose_001db950" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_verbose_001db950"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);\n          info_msg(uVar8,iVar6);\n        }" ({ "{") (expression_statement "uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);" (assignment_expression "uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5)" (identifier "uVar8") (= "=") (call_expression "(*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_001dc0a4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_001dc0a4" (* "*") (cast_expression "(code *)PTR_dcgettext_001dc0a4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_001dc0a4"))) () ")")) (argument_list "(0,local_48,5)" (( "(") (number_literal "0") (, ",") (identifier "local_48") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "info_msg(uVar8,iVar6);" (call_expression "info_msg(uVar8,iVar6)" (identifier "info_msg") (argument_list "(uVar8,iVar6)" (( "(") (identifier "uVar8") (, ",") (identifier "iVar6") () ")"))) (; ";")) (} "}")))) (if_statement "if (puVar7 != (undefined1 *)0x0) {\n          *puVar7 = 0x2f;\n        }" (if "if") (parenthesized_expression "(puVar7 != (undefined1 *)0x0)" (( "(") (binary_expression "puVar7 != (undefined1 *)0x0" (identifier "puVar7") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *puVar7 = 0x2f;\n        }" ({ "{") (expression_statement "*puVar7 = 0x2f;" (assignment_expression "*puVar7 = 0x2f" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "0x2f")) (; ";")) (} "}"))) (expression_statement "iVar11 = (iVar6 + 1) - (int)pcVar3;" (assignment_expression "iVar11 = (iVar6 + 1) - (int)pcVar3" (identifier "iVar11") (= "=") (binary_expression "(iVar6 + 1) - (int)pcVar3" (parenthesized_expression "(iVar6 + 1)" (( "(") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1")) () ")")) (- "-") (cast_expression "(int)pcVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar3")))) (; ";")) (expression_statement "puVar14 = (undefined *)0x0;" (assignment_expression "puVar14 = (undefined *)0x0" (identifier "puVar14") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar12 = pcVar3;" (assignment_expression "pcVar12 = pcVar3" (identifier "pcVar12") (= "=") (identifier "pcVar3")) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_free_001dc0ec)(puVar14);" (call_expression "(*(code *)PTR_free_001dc0ec)(puVar14)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" (( "(") (pointer_expression "*(code *)PTR_free_001dc0ec" (* "*") (cast_expression "(code *)PTR_free_001dc0ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_001dc0ec"))) () ")")) (argument_list "(puVar14)" (( "(") (identifier "puVar14") () ")"))) (; ";")) (expression_statement "pcVar3 = pcVar12;" (assignment_expression "pcVar3 = pcVar12" (identifier "pcVar3") (= "=") (identifier "pcVar12")) (; ";")) (} "}"))) (expression_statement "local_54 = pcVar3;" (assignment_expression "local_54 = pcVar3" (identifier "local_54") (= "=") (identifier "pcVar3")) (; ";")) (expression_statement "iVar11 = (*local_34)(&local_58,pcVar3,param_3);" (assignment_expression "iVar11 = (*local_34)(&local_58,pcVar3,param_3)" (identifier "iVar11") (= "=") (call_expression "(*local_34)(&local_58,pcVar3,param_3)" (parenthesized_expression "(*local_34)" (( "(") (pointer_expression "*local_34" (* "*") (identifier "local_34")) () ")")) (argument_list "(&local_58,pcVar3,param_3)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "pcVar3") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar11 != 0) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(iVar11 != 0)" (( "(") (binary_expression "iVar11 != 0" (identifier "iVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_free_001dc0ec)(pcVar3);" (call_expression "(*(code *)PTR_free_001dc0ec)(pcVar3)" (parenthesized_expression "(*(code *)PTR_free_001dc0ec)" (( "(") (pointer_expression "*(code *)PTR_free_001dc0ec" (* "*") (cast_expression "(code *)PTR_free_001dc0ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_001dc0ec"))) () ")")) (argument_list "(pcVar3)" (( "(") (identifier "pcVar3") () ")"))) (; ";")) (if_statement "if (*pcVar2 == '\0') {\n      return 0;\n    }" (if "if") (parenthesized_expression "(*pcVar2 == '\0')" (( "(") (binary_expression "*pcVar2 == '\0'" (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_1 = pcVar2 + 1;" (assignment_expression "param_1 = pcVar2 + 1" (identifier "param_1") (= "=") (binary_expression "pcVar2 + 1" (identifier "pcVar2") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) 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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (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) (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (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) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) 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)))) (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))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (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)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))))) (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 (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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) (identifier) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (true))))))

undefined4 MASKED(char *param_1,undefined4 *param_2,undefined4 param_3)

{
  undefined *puVar1;
  char *pcVar2;
  char *pcVar3;
  int iVar4;
  undefined1 *puVar5;
  int iVar6;
  undefined1 *puVar7;
  char cVar10;
  undefined4 uVar8;
  undefined4 *puVar9;
  int iVar11;
  char *pcVar12;
  int iVar13;
  undefined *puVar14;
  undefined4 *local_58;
  char *local_54;
  undefined *local_50;
  undefined *local_4c;
  undefined *local_48;
  undefined *local_44;
  char *local_40;
  int local_3c;
  undefined *local_38;
  code *local_34;
  undefined *local_30;
  
  local_54 = (char *)param_2[1];
  local_40 = local_54;
  if (*local_54 == '/') {
    uVar8 = FUN_0004ebe4(param_2);
    return uVar8;
  }
  if ((param_1 == (char *)0x0) || (*param_1 == '\0')) {
    return 0;
  }
  local_58 = (undefined4 *)*param_2;
  local_38 = PTR_config_001db90c;
  local_44 = PTR_s____debug_str_____debug_loc_0_____001db974;
  local_3c = (*(code *)PTR_strlen_001dbf90)(local_54);
  local_3c = local_3c + 2;
  local_34 = (code *)(PTR_LAB_001dbd8c + -0x141c);
  local_30 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc80;
  local_48 = PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc88;
  local_4c = PTR_DAT_001db910 + 0x72fc;
  do {
    pcVar2 = (char *)(*(code *)PTR_strchr_001dbf9c)(param_1,(int)(char)local_38[0x48]);
    if (pcVar2 == (char *)0x0) {
      iVar11 = (*(code *)PTR_strlen_001dbf90)(param_1);
      pcVar2 = param_1 + iVar11;
    }
    iVar11 = (int)pcVar2 - (int)param_1;
    pcVar3 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + local_3c);
    pcVar12 = pcVar3;
    if (param_1 != pcVar2) {
      (*(code *)PTR_memcpy_001dc0e4)(pcVar3,param_1,iVar11);
      pcVar3[iVar11] = '/';
      pcVar12 = pcVar3 + iVar11 + 1;
    }
    local_50 = PTR_LAB_001db908;
    iVar11 = 0;
    (*(code *)PTR_strcpy_001dc024)(pcVar12,local_40);
    while (iVar6 = (*(code *)PTR_strchr_001dbf9c)(pcVar3 + iVar11,0x24), iVar6 != 0) {
      puVar7 = (undefined1 *)(*(code *)PTR_strchr_001dbf9c)(iVar6,0x2f);
      iVar11 = (*(code *)PTR_strlen_001dbf90)(pcVar3);
      if (puVar7 != (undefined1 *)0x0) {
        *puVar7 = 0;
      }
      cVar10 = *(char *)(iVar6 + 1);
      if (cVar10 == '{') {
        cVar10 = *(char *)(iVar6 + 2);
        iVar13 = iVar6 + 3;
        if (cVar10 != 'L') goto LAB_0004f35c;
LAB_0004f3d4:
        iVar4 = (*(code *)PTR_strcmp_001dc144)(iVar13,local_50 + 0x55d4);
        if ((iVar4 != 0) &&
           (iVar13 = (*(code *)PTR_strcmp_001dc144)
                               (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc70),
           iVar13 != 0)) goto LAB_0004f36c;
        puVar1 = local_4c;
        puVar14 = (undefined *)0x0;
        pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + 3);
joined_r0x0004f27c:
        iVar6 = iVar6 - (int)pcVar3;
        if (puVar7 == (undefined1 *)0x0) {
          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_30,iVar6,pcVar3,puVar1);
          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);
          iVar11 = iVar11 + iVar6;
        }
        else {
          (*(code *)PTR_sprintf_001dbea0)(pcVar12,local_44 + 0xc74,iVar6,pcVar3,puVar1,puVar7 + 1);
          iVar11 = (*(code *)PTR_strlen_001dbf90)(puVar1);
          iVar11 = iVar6 + 1 + iVar11;
        }
        (*(code *)PTR_free_001dc0ec)(pcVar3);
      }
      else {
        iVar13 = iVar6 + 2;
        if (cVar10 == 'L') goto LAB_0004f3d4;
LAB_0004f35c:
        if ((((cVar10 == 'O') &&
             ((iVar4 = (*(code *)PTR_strcmp_001dc144)
                                 (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc60),
              iVar4 == 0 ||
              (iVar13 = (*(code *)PTR_strcmp_001dc144)
                                  (iVar13,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc68),
              iVar13 == 0)))) &&
            ((puVar9 = local_58, local_58 != (undefined4 *)0x0 ||
             (puVar9 = *(undefined4 **)(PTR_link_info_001db928 + 0x34), puVar9 != (undefined4 *)0x0)
             ))) && (pcVar12 = (char *)*puVar9, pcVar12 != (char *)0x0)) {
          if (*pcVar12 == '/') {
            puVar14 = (undefined *)(*(code *)PTR_xstrdup_001dc030)(pcVar12);
          }
          else {
            uVar8 = (*(code *)PTR_getpwd_001dc07c)();
            iVar13 = (*(code *)PTR_strlen_001dbf90)(pcVar12);
            iVar4 = (*(code *)PTR_strlen_001dbf90)(uVar8);
            puVar14 = (undefined *)(*(code *)PTR_xmalloc_001dc03c)(iVar13 + iVar4 + 2);
            (*(code *)PTR_sprintf_001dbea0)
                      (puVar14,PTR_s____debug_str_____debug_loc_0_____001db974 + 0xc78,uVar8,pcVar12
                      );
          }
          puVar5 = (undefined1 *)(*(code *)PTR_strrchr_001dbee0)(puVar14,0x2f);
          puVar1 = PTR_strlen_001dbf90;
          if (puVar5 == (undefined1 *)0x0) {
            iVar13 = (*(code *)PTR_strlen_001dbf90)(puVar14);
          }
          else {
            *puVar5 = 0;
            iVar13 = (*(code *)puVar1)();
          }
          pcVar12 = (char *)(*(code *)PTR_xmalloc_001dc03c)(iVar11 + iVar13);
          puVar1 = puVar14;
          goto joined_r0x0004f27c;
        }
LAB_0004f36c:
        if (*(int *)PTR_verbose_001db950 != 0) {
          uVar8 = (*(code *)PTR_dcgettext_001dc0a4)(0,local_48,5);
          info_msg(uVar8,iVar6);
        }
        if (puVar7 != (undefined1 *)0x0) {
          *puVar7 = 0x2f;
        }
        iVar11 = (iVar6 + 1) - (int)pcVar3;
        puVar14 = (undefined *)0x0;
        pcVar12 = pcVar3;
      }
      (*(code *)PTR_free_001dc0ec)(puVar14);
      pcVar3 = pcVar12;
    }
    local_54 = pcVar3;
    iVar11 = (*local_34)(&local_58,pcVar3,param_3);
    if (iVar11 != 0) {
      return 1;
    }
    (*(code *)PTR_free_001dc0ec)(pcVar3);
    if (*pcVar2 == '\0') {
      return 0;
    }
    param_1 = pcVar2 + 1;
  } while( true );
}

