
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int print_name_only(Sym *self)

{
  bfd_boolean bVar1;
  size_t sVar2;
  Source_File *pSVar3;
  char *pcVar4;
  uint *puVar5;
  uint *puVar6;
  char *__s;
  uint uVar7;
  uint uVar8;
  int iVar9;
  char *pcVar10;
  bool bVar11;
  char buf [1024];
  
  pcVar10 = self->name;
  if (pcVar10 == (char *)0x0) {
    return 0;
  }
  if (((bsd_style_output == 0) && (demangle != 0)) &&
     (__s = (char *)bfd_demangle(core_bfd,pcVar10,3), __s != (char *)0x0)) {
    printf("%s",__s);
    sVar2 = strlen(__s);
    iVar9 = (int)sVar2;
    if ((line_granularity != 0 || inline_file_names != 0) &&
       (pSVar3 = self->file, pSVar3 != (Source_File *)0x0)) goto LAB_0010ceef;
  }
  else {
    printf("%s",pcVar10);
    sVar2 = strlen(pcVar10);
    iVar9 = (int)sVar2;
    if (line_granularity == 0 && inline_file_names == 0) goto LAB_0010cf97;
    pSVar3 = self->file;
    __s = (char *)0x0;
    if (pSVar3 == (Source_File *)0x0) goto LAB_0010cf97;
LAB_0010ceef:
    bVar1 = line_granularity;
    pcVar10 = pSVar3->name;
    if (print_path == 0) {
      pcVar4 = strrchr(pcVar10,0x2f);
      if (pcVar4 != (char *)0x0) {
        pcVar10 = pcVar4 + 1;
      }
    }
    if (bVar1 == 0) {
      sprintf(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num);
    }
    else {
      sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr);
    }
    printf("%s",buf);
    puVar6 = (uint *)buf;
    do {
      puVar5 = puVar6;
      uVar7 = *puVar5 + 0xfefefeff & ~*puVar5;
      uVar8 = uVar7 & 0x80808080;
      puVar6 = puVar5 + 1;
    } while (uVar8 == 0);
    bVar11 = (uVar7 & 0x8080) == 0;
    if (bVar11) {
      uVar8 = uVar8 >> 0x10;
    }
    if (bVar11) {
      puVar6 = (uint *)((long)puVar5 + 6);
    }
    iVar9 = ((((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf) + iVar9;
    if (__s == (char *)0x0) goto LAB_0010cf97;
  }
  free(__s);
LAB_0010cf97:
  if ((debug_level & 2U) != 0) {
    printf("{%d} ",(ulong)(uint)(self->cg).top_order);
  }
  if ((debug_level & 0x400U) != 0) {
    printf("%4.0f%% ",_DAT_001101e8 * (self->cg).prop.fract);
  }
  return iVar9;
}



/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

ulong FUN_0010ce70(undefined8 *param_1)

{
  int iVar1;
  int iVar2;
  size_t sVar3;
  long lVar4;
  char *pcVar5;
  uint *puVar6;
  uint *puVar7;
  char *__s;
  uint uVar8;
  uint uVar9;
  ulong uVar10;
  char *pcVar11;
  bool bVar12;
  uint local_438 [258];
  
  pcVar11 = (char *)param_1[2];
  if (pcVar11 == (char *)0x0) {
    return 0;
  }
  if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&
     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {
    printf("%s",__s);
    sVar3 = strlen(__s);
    iVar2 = (int)sVar3;
    uVar10 = sVar3 & 0xffffffff;
    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))
    goto LAB_0010ceef;
  }
  else {
    printf("%s",pcVar11);
    sVar3 = strlen(pcVar11);
    iVar2 = (int)sVar3;
    uVar10 = sVar3 & 0xffffffff;
    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;
    lVar4 = param_1[3];
    __s = (char *)0x0;
    if (lVar4 == 0) goto LAB_0010cf97;
LAB_0010ceef:
    iVar1 = DAT_001195d0;
    pcVar11 = *(char **)(lVar4 + 8);
    if (DAT_001195cc == 0) {
      pcVar5 = strrchr(pcVar11,0x2f);
      if (pcVar5 != (char *)0x0) {
        pcVar11 = pcVar5 + 1;
      }
    }
    if (iVar1 == 0) {
      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));
    }
    else {
      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);
    }
    printf("%s",local_438);
    puVar7 = local_438;
    do {
      puVar6 = puVar7;
      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;
      uVar9 = uVar8 & 0x80808080;
      puVar7 = puVar6 + 1;
    } while (uVar9 == 0);
    bVar12 = (uVar8 & 0x8080) == 0;
    if (bVar12) {
      uVar9 = uVar9 >> 0x10;
    }
    if (bVar12) {
      puVar7 = (uint *)((long)puVar6 + 6);
    }
    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)
                    + iVar2);
    if (__s == (char *)0x0) goto LAB_0010cf97;
  }
  free(__s);
LAB_0010cf97:
  if ((DAT_001195e4 & 2) != 0) {
    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));
  }
  if ((DAT_001195e4 & 0x400) != 0) {
    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);
  }
  return uVar10;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
XOR EBX,EBX
SUB RSP,0x408
MOV R12,qword ptr [RDI + 0x10]
TEST R12,R12
JZ 0x0010cfa6
MOV ECX,dword ptr [0x001195dc]
MOV RBP,RDI
TEST ECX,ECX
JNZ 0x0010ceab
MOV EDX,dword ptr [0x001182e4]
TEST EDX,EDX
JNZ 0x0010d030
MOV RSI,R12
LEA RDI,[0x11254a]
XOR EAX,EAX
CALL 0x001021c0
MOV RDI,R12
CALL 0x00102190
MOV R14D,dword ptr [0x001195d0]
MOV R12,RAX
MOV EBX,EAX
MOV EAX,R14D
OR EAX,dword ptr [0x001195c4]
JZ 0x0010cf97
MOV RAX,qword ptr [RBP + 0x18]
XOR R13D,R13D
TEST RAX,RAX
JZ 0x0010cf97
MOV R15,qword ptr [RAX + 0x8]
MOV EAX,dword ptr [0x001195cc]
TEST EAX,EAX
JNZ 0x0010cf15
MOV RDI,R15
MOV ESI,0x2f
CALL 0x001021f0
LEA RDX,[RAX + 0x1]
TEST RAX,RAX
CMOVNZ R15,RDX
MOV ECX,dword ptr [RBP + 0x20]
MOV RBX,RSP
TEST R14D,R14D
JNZ 0x0010d010
MOV RDX,R15
LEA RSI,[0x11225b]
MOV RDI,RBX
XOR EAX,EAX
CALL 0x00102440
MOV RSI,RBX
LEA RDI,[0x11254a]
XOR EAX,EAX
CALL 0x001021c0
MOV RAX,RBX
MOV ECX,dword ptr [RAX]
ADD RAX,0x4
LEA EDX,[RCX + -0x1010101]
NOT ECX
AND EDX,ECX
AND EDX,0x80808080
JZ 0x0010cf4c
MOV ECX,EDX
SHR ECX,0x10
TEST EDX,0x8080
CMOVZ EDX,ECX
LEA RCX,[RAX + 0x2]
CMOVZ RAX,RCX
MOV ESI,EDX
ADD SIL,DL
SBB RAX,0x3
SUB RAX,RBX
LEA EBX,[RAX + R12*0x1]
TEST R13,R13
JZ 0x0010cf97
MOV RDI,R13
CALL 0x00102050
MOV EAX,dword ptr [0x001195e4]
TEST AL,0x2
JNZ 0x0010cfe8
TEST AH,0x4
JNZ 0x0010cfc0
ADD RSP,0x408
MOV EAX,EBX
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOVSD XMM0,qword ptr [0x001101e8]
MULSD XMM0,qword ptr [RBP + 0x118]
MOV EAX,0x1
LEA RDI,[0x11226a]
CALL 0x001021c0
JMP 0x0010cfa6
MOV ESI,dword ptr [RBP + 0x10c]
LEA RDI,[0x112264]
XOR EAX,EAX
CALL 0x001021c0
MOV EAX,dword ptr [0x001195e4]
TEST AH,0x4
JZ 0x0010cfa6
JMP 0x0010cfc0
MOV R8,qword ptr [RBP]
MOV RDX,R15
LEA RSI,[0x11224c]
XOR EAX,EAX
MOV RDI,RBX
CALL 0x00102440
JMP 0x0010cf38
MOV RDI,qword ptr [0x00119ad8]
MOV EDX,0x3
MOV RSI,R12
CALL 0x001023c0
MOV R13,RAX
TEST RAX,RAX
JZ 0x0010ceab
MOV RSI,RAX
LEA RDI,[0x11254a]
XOR EAX,EAX
CALL 0x001021c0
MOV RDI,R13
CALL 0x00102190
MOV R14D,dword ptr [0x001195d0]
MOV R12,RAX
MOV EBX,EAX
MOV EAX,R14D
OR EAX,dword ptr [0x001195c4]
JZ 0x0010cf8f
MOV RAX,qword ptr [RBP + 0x18]
TEST RAX,RAX
JNZ 0x0010ceef
JMP 0x0010cf8f
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nulong FUN_0010ce70(undefined8 *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  size_t sVar3;\n  long lVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint *puVar7;\n  char *__s;\n  uint uVar8;\n  uint uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  bool bVar12;\n  uint local_438 [258];\n  \n  pcVar11 = (char *)param_1[2];\n  if (pcVar11 == (char *)0x0) {\n    return 0;\n  }\n  if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }\n  free(__s);\nLAB_0010cf97:\n  if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }\n  if ((DAT_001195e4 & 0x400) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }\n  return uVar10;\n}\n\n" comment (function_definition "ulong FUN_0010ce70(undefined8 *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  size_t sVar3;\n  long lVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint *puVar7;\n  char *__s;\n  uint uVar8;\n  uint uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  bool bVar12;\n  uint local_438 [258];\n  \n  pcVar11 = (char *)param_1[2];\n  if (pcVar11 == (char *)0x0) {\n    return 0;\n  }\n  if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }\n  free(__s);\nLAB_0010cf97:\n  if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }\n  if ((DAT_001195e4 & 0x400) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }\n  return uVar10;\n}" type_identifier (function_declarator "FUN_0010ce70(undefined8 *param_1)" identifier (parameter_list "(undefined8 *param_1)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  size_t sVar3;\n  long lVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint *puVar7;\n  char *__s;\n  uint uVar8;\n  uint uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  bool bVar12;\n  uint local_438 [258];\n  \n  pcVar11 = (char *)param_1[2];\n  if (pcVar11 == (char *)0x0) {\n    return 0;\n  }\n  if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }\n  free(__s);\nLAB_0010cf97:\n  if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }\n  if ((DAT_001195e4 & 0x400) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }\n  return uVar10;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "uint local_438 [258];" type_identifier (array_declarator "local_438 [258]" identifier [ number_literal ]) ;) (expression_statement "pcVar11 = (char *)param_1[2];" (assignment_expression "pcVar11 = (char *)param_1[2]" identifier = (cast_expression "(char *)param_1[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar11 == (char *)0x0) {\n    return 0;\n  }" if (parenthesized_expression "(pcVar11 == (char *)0x0)" ( (binary_expression "pcVar11 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" if (parenthesized_expression "(((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0))" ( (binary_expression "((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)" (parenthesized_expression "((DAT_001195dc == 0) && (DAT_001182e4 != 0))" ( (binary_expression "(DAT_001195dc == 0) && (DAT_001182e4 != 0)" (parenthesized_expression "(DAT_001195dc == 0)" ( (binary_expression "DAT_001195dc == 0" identifier == number_literal) )) && (parenthesized_expression "(DAT_001182e4 != 0)" ( (binary_expression "DAT_001182e4 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)" ( (comma_expression "__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0" (assignment_expression "__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3)" identifier = (cast_expression "(char *)bfd_demangle(DAT_00119ad8,pcVar11,3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_demangle(DAT_00119ad8,pcVar11,3)" identifier (argument_list "(DAT_00119ad8,pcVar11,3)" ( identifier , identifier , number_literal ))))) , (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }" { (expression_statement "printf("%s",__s);" (call_expression "printf("%s",__s)" identifier (argument_list "("%s",__s)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (expression_statement "sVar3 = strlen(__s);" (assignment_expression "sVar3 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar2 = (int)sVar3;" (assignment_expression "iVar2 = (int)sVar3" identifier = (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar10 = sVar3 & 0xffffffff;" (assignment_expression "uVar10 = sVar3 & 0xffffffff" identifier = (binary_expression "sVar3 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;" if (parenthesized_expression "((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))" ( (binary_expression "(DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0)" (parenthesized_expression "(DAT_001195d0 != 0 || _DAT_001195c4 != 0)" ( (binary_expression "DAT_001195d0 != 0 || _DAT_001195c4 != 0" (binary_expression "DAT_001195d0 != 0" identifier != number_literal) || (binary_expression "_DAT_001195c4 != 0" identifier != number_literal)) )) && (parenthesized_expression "(lVar4 = param_1[3], lVar4 != 0)" ( (comma_expression "lVar4 = param_1[3], lVar4 != 0" (assignment_expression "lVar4 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) , (binary_expression "lVar4 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0010ceef;" goto statement_identifier ;)) }) (else_clause "else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" else (compound_statement "{\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" { (expression_statement "printf("%s",pcVar11);" (call_expression "printf("%s",pcVar11)" identifier (argument_list "("%s",pcVar11)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (expression_statement "sVar3 = strlen(pcVar11);" (assignment_expression "sVar3 = strlen(pcVar11)" identifier = (call_expression "strlen(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier )))) ;) (expression_statement "iVar2 = (int)sVar3;" (assignment_expression "iVar2 = (int)sVar3" identifier = (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar10 = sVar3 & 0xffffffff;" (assignment_expression "uVar10 = sVar3 & 0xffffffff" identifier = (binary_expression "sVar3 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;" if (parenthesized_expression "(DAT_001195d0 == 0 && _DAT_001195c4 == 0)" ( (binary_expression "DAT_001195d0 == 0 && _DAT_001195c4 == 0" (binary_expression "DAT_001195d0 == 0" identifier == number_literal) && (binary_expression "_DAT_001195c4 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_0010cf97;" goto statement_identifier ;)) (expression_statement "lVar4 = param_1[3];" (assignment_expression "lVar4 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (lVar4 == 0) goto LAB_0010cf97;" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010cf97;" goto statement_identifier ;)) (labeled_statement "LAB_0010ceef:\n    iVar1 = DAT_001195d0;" statement_identifier : (expression_statement "iVar1 = DAT_001195d0;" (assignment_expression "iVar1 = DAT_001195d0" identifier = identifier) ;)) (expression_statement "pcVar11 = *(char **)(lVar4 + 8);" (assignment_expression "pcVar11 = *(char **)(lVar4 + 8)" identifier = (pointer_expression "*(char **)(lVar4 + 8)" * (cast_expression "(char **)(lVar4 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar4 + 8)" ( (binary_expression "lVar4 + 8" identifier + number_literal) ))))) ;) (if_statement "if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }" if (parenthesized_expression "(DAT_001195cc == 0)" ( (binary_expression "DAT_001195cc == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }" { (expression_statement "pcVar5 = strrchr(pcVar11,0x2f);" (assignment_expression "pcVar5 = strrchr(pcVar11,0x2f)" identifier = (call_expression "strrchr(pcVar11,0x2f)" identifier (argument_list "(pcVar11,0x2f)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar11 = pcVar5 + 1;\n      }" { (expression_statement "pcVar11 = pcVar5 + 1;" (assignment_expression "pcVar11 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) })) })) (if_statement "if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }" { (expression_statement "sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));" (call_expression "sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4))" identifier (argument_list "((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4))" ( (cast_expression "(char *)local_438" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "" (%s:%d)"" " string_content ") , identifier , (binary_expression "(ulong)*(uint *)(param_1 + 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }" else (compound_statement "{\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }" { (expression_statement "sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);" (call_expression "sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1)" identifier (argument_list "((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1)" ( (cast_expression "(char *)local_438" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "" (%s:%d @ %lx)"" " string_content ") , identifier , (binary_expression "(ulong)*(uint *)(param_1 + 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , (pointer_expression "*param_1" * identifier) ))) ;) }))) (expression_statement "printf("%s",local_438);" (call_expression "printf("%s",local_438)" identifier (argument_list "("%s",local_438)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (expression_statement "puVar7 = local_438;" (assignment_expression "puVar7 = local_438" identifier = identifier) ;) (do_statement "do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);" do (compound_statement "{\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    }" { (expression_statement "puVar6 = puVar7;" (assignment_expression "puVar6 = puVar7" identifier = identifier) ;) (expression_statement "uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;" (assignment_expression "uVar8 = *puVar6 + 0xfefefeff & ~*puVar6" identifier = (binary_expression "*puVar6 + 0xfefefeff & ~*puVar6" (binary_expression "*puVar6 + 0xfefefeff" (pointer_expression "*puVar6" * identifier) + number_literal) & (unary_expression "~*puVar6" ~ (pointer_expression "*puVar6" * identifier)))) ;) (expression_statement "uVar9 = uVar8 & 0x80808080;" (assignment_expression "uVar9 = uVar8 & 0x80808080" identifier = (binary_expression "uVar8 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar7 = puVar6 + 1;" (assignment_expression "puVar7 = puVar6 + 1" identifier = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) ;) (expression_statement "bVar12 = (uVar8 & 0x8080) == 0;" (assignment_expression "bVar12 = (uVar8 & 0x8080) == 0" identifier = (binary_expression "(uVar8 & 0x8080) == 0" (parenthesized_expression "(uVar8 & 0x8080)" ( (binary_expression "uVar8 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n      uVar9 = uVar9 >> 0x10;\n    }" { (expression_statement "uVar9 = uVar9 >> 0x10;" (assignment_expression "uVar9 = uVar9 >> 0x10" identifier = (binary_expression "uVar9 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }" { (expression_statement "puVar7 = (uint *)((long)puVar6 + 6);" (assignment_expression "puVar7 = (uint *)((long)puVar6 + 6)" identifier = (cast_expression "(uint *)((long)puVar6 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar6 + 6)" ( (binary_expression "(long)puVar6 + 6" (cast_expression "(long)puVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);" (assignment_expression "uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2)" identifier = (call_expression "(ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2)" ( (binary_expression "((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2" (parenthesized_expression "((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)" ( (binary_expression "(((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438" (parenthesized_expression "(((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9))" ( (binary_expression "((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)" (parenthesized_expression "((int)puVar7 + -3)" ( (binary_expression "(int)puVar7 + -3" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (cast_expression "(uint)CARRY1((byte)uVar9,(byte)uVar9)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar9,(byte)uVar9)" identifier (argument_list "((byte)uVar9,(byte)uVar9)" ( (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)local_438" ( (type_descriptor "int" primitive_type) ) identifier)) )) + identifier) )))) ;) (if_statement "if (__s == (char *)0x0) goto LAB_0010cf97;" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010cf97;" goto statement_identifier ;)) }))) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (labeled_statement "LAB_0010cf97:\n  if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }" statement_identifier : (if_statement "if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }" if (parenthesized_expression "((DAT_001195e4 & 2) != 0)" ( (binary_expression "(DAT_001195e4 & 2) != 0" (parenthesized_expression "(DAT_001195e4 & 2)" ( (binary_expression "DAT_001195e4 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }" { (expression_statement "printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));" (call_expression "printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c))" identifier (argument_list "("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c))" ( (string_literal ""{%d} "" " string_content ") , (binary_expression "(ulong)*(uint *)((long)param_1 + 0x10c)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)((long)param_1 + 0x10c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x10c)" ( (binary_expression "(long)param_1 + 0x10c" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ))) ;) }))) (if_statement "if ((DAT_001195e4 & 0x400) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }" if (parenthesized_expression "((DAT_001195e4 & 0x400) != 0)" ( (binary_expression "(DAT_001195e4 & 0x400) != 0" (parenthesized_expression "(DAT_001195e4 & 0x400)" ( (binary_expression "DAT_001195e4 & 0x400" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }" { (expression_statement "printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);" (call_expression "printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23])" identifier (argument_list "("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23])" ( (string_literal ""%4.0f%% "" " string_content ") , (binary_expression "_DAT_001101e8 * (double)param_1[0x23]" identifier * (cast_expression "(double)param_1[0x23]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "param_1[0x23]" identifier [ number_literal ]))) ))) ;) })) (return_statement "return uVar10;" return identifier ;) })))
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nint print_name_only(Sym *self)\n\n{\n  bfd_boolean bVar1;\n  size_t sVar2;\n  Source_File *pSVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  char *__s;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  char *pcVar10;\n  bool bVar11;\n  char buf [1024];\n  \n  pcVar10 = self->name;\n  if (pcVar10 == (char *)0x0) {\n    return 0;\n  }\n  if (((bsd_style_output == 0) && (demangle != 0)) &&\n     (__s = (char *)bfd_demangle(core_bfd,pcVar10,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar2 = strlen(__s);\n    iVar9 = (int)sVar2;\n    if ((line_granularity != 0 || inline_file_names != 0) &&\n       (pSVar3 = self->file, pSVar3 != (Source_File *)0x0)) goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar10);\n    sVar2 = strlen(pcVar10);\n    iVar9 = (int)sVar2;\n    if (line_granularity == 0 && inline_file_names == 0) goto LAB_0010cf97;\n    pSVar3 = self->file;\n    __s = (char *)0x0;\n    if (pSVar3 == (Source_File *)0x0) goto LAB_0010cf97;\nLAB_0010ceef:\n    bVar1 = line_granularity;\n    pcVar10 = pSVar3->name;\n    if (print_path == 0) {\n      pcVar4 = strrchr(pcVar10,0x2f);\n      if (pcVar4 != (char *)0x0) {\n        pcVar10 = pcVar4 + 1;\n      }\n    }\n    if (bVar1 == 0) {\n      sprintf(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num);\n    }\n    else {\n      sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr);\n    }\n    printf("%s",buf);\n    puVar6 = (uint *)buf;\n    do {\n      puVar5 = puVar6;\n      uVar7 = *puVar5 + 0xfefefeff & ~*puVar5;\n      uVar8 = uVar7 & 0x80808080;\n      puVar6 = puVar5 + 1;\n    } while (uVar8 == 0);\n    bVar11 = (uVar7 & 0x8080) == 0;\n    if (bVar11) {\n      uVar8 = uVar8 >> 0x10;\n    }\n    if (bVar11) {\n      puVar6 = (uint *)((long)puVar5 + 6);\n    }\n    iVar9 = ((((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf) + iVar9;\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }\n  free(__s);\nLAB_0010cf97:\n  if ((debug_level & 2U) != 0) {\n    printf("{%d} ",(ulong)(uint)(self->cg).top_order);\n  }\n  if ((debug_level & 0x400U) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (self->cg).prop.fract);\n  }\n  return iVar9;\n}\n\n" comment (function_definition "int print_name_only(Sym *self)\n\n{\n  bfd_boolean bVar1;\n  size_t sVar2;\n  Source_File *pSVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  char *__s;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  char *pcVar10;\n  bool bVar11;\n  char buf [1024];\n  \n  pcVar10 = self->name;\n  if (pcVar10 == (char *)0x0) {\n    return 0;\n  }\n  if (((bsd_style_output == 0) && (demangle != 0)) &&\n     (__s = (char *)bfd_demangle(core_bfd,pcVar10,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar2 = strlen(__s);\n    iVar9 = (int)sVar2;\n    if ((line_granularity != 0 || inline_file_names != 0) &&\n       (pSVar3 = self->file, pSVar3 != (Source_File *)0x0)) goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar10);\n    sVar2 = strlen(pcVar10);\n    iVar9 = (int)sVar2;\n    if (line_granularity == 0 && inline_file_names == 0) goto LAB_0010cf97;\n    pSVar3 = self->file;\n    __s = (char *)0x0;\n    if (pSVar3 == (Source_File *)0x0) goto LAB_0010cf97;\nLAB_0010ceef:\n    bVar1 = line_granularity;\n    pcVar10 = pSVar3->name;\n    if (print_path == 0) {\n      pcVar4 = strrchr(pcVar10,0x2f);\n      if (pcVar4 != (char *)0x0) {\n        pcVar10 = pcVar4 + 1;\n      }\n    }\n    if (bVar1 == 0) {\n      sprintf(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num);\n    }\n    else {\n      sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr);\n    }\n    printf("%s",buf);\n    puVar6 = (uint *)buf;\n    do {\n      puVar5 = puVar6;\n      uVar7 = *puVar5 + 0xfefefeff & ~*puVar5;\n      uVar8 = uVar7 & 0x80808080;\n      puVar6 = puVar5 + 1;\n    } while (uVar8 == 0);\n    bVar11 = (uVar7 & 0x8080) == 0;\n    if (bVar11) {\n      uVar8 = uVar8 >> 0x10;\n    }\n    if (bVar11) {\n      puVar6 = (uint *)((long)puVar5 + 6);\n    }\n    iVar9 = ((((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf) + iVar9;\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }\n  free(__s);\nLAB_0010cf97:\n  if ((debug_level & 2U) != 0) {\n    printf("{%d} ",(ulong)(uint)(self->cg).top_order);\n  }\n  if ((debug_level & 0x400U) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (self->cg).prop.fract);\n  }\n  return iVar9;\n}" primitive_type (function_declarator "print_name_only(Sym *self)" identifier (parameter_list "(Sym *self)" ( (parameter_declaration "Sym *self" type_identifier (pointer_declarator "*self" * identifier)) ))) (compound_statement "{\n  bfd_boolean bVar1;\n  size_t sVar2;\n  Source_File *pSVar3;\n  char *pcVar4;\n  uint *puVar5;\n  uint *puVar6;\n  char *__s;\n  uint uVar7;\n  uint uVar8;\n  int iVar9;\n  char *pcVar10;\n  bool bVar11;\n  char buf [1024];\n  \n  pcVar10 = self->name;\n  if (pcVar10 == (char *)0x0) {\n    return 0;\n  }\n  if (((bsd_style_output == 0) && (demangle != 0)) &&\n     (__s = (char *)bfd_demangle(core_bfd,pcVar10,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar2 = strlen(__s);\n    iVar9 = (int)sVar2;\n    if ((line_granularity != 0 || inline_file_names != 0) &&\n       (pSVar3 = self->file, pSVar3 != (Source_File *)0x0)) goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar10);\n    sVar2 = strlen(pcVar10);\n    iVar9 = (int)sVar2;\n    if (line_granularity == 0 && inline_file_names == 0) goto LAB_0010cf97;\n    pSVar3 = self->file;\n    __s = (char *)0x0;\n    if (pSVar3 == (Source_File *)0x0) goto LAB_0010cf97;\nLAB_0010ceef:\n    bVar1 = line_granularity;\n    pcVar10 = pSVar3->name;\n    if (print_path == 0) {\n      pcVar4 = strrchr(pcVar10,0x2f);\n      if (pcVar4 != (char *)0x0) {\n        pcVar10 = pcVar4 + 1;\n      }\n    }\n    if (bVar1 == 0) {\n      sprintf(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num);\n    }\n    else {\n      sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr);\n    }\n    printf("%s",buf);\n    puVar6 = (uint *)buf;\n    do {\n      puVar5 = puVar6;\n      uVar7 = *puVar5 + 0xfefefeff & ~*puVar5;\n      uVar8 = uVar7 & 0x80808080;\n      puVar6 = puVar5 + 1;\n    } while (uVar8 == 0);\n    bVar11 = (uVar7 & 0x8080) == 0;\n    if (bVar11) {\n      uVar8 = uVar8 >> 0x10;\n    }\n    if (bVar11) {\n      puVar6 = (uint *)((long)puVar5 + 6);\n    }\n    iVar9 = ((((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf) + iVar9;\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }\n  free(__s);\nLAB_0010cf97:\n  if ((debug_level & 2U) != 0) {\n    printf("{%d} ",(ulong)(uint)(self->cg).top_order);\n  }\n  if ((debug_level & 0x400U) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (self->cg).prop.fract);\n  }\n  return iVar9;\n}" { (declaration "bfd_boolean bVar1;" type_identifier identifier ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "Source_File *pSVar3;" type_identifier (pointer_declarator "*pSVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "char buf [1024];" primitive_type (array_declarator "buf [1024]" identifier [ number_literal ]) ;) (expression_statement "pcVar10 = self->name;" (assignment_expression "pcVar10 = self->name" identifier = (field_expression "self->name" identifier -> field_identifier)) ;) (if_statement "if (pcVar10 == (char *)0x0) {\n    return 0;\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    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (((bsd_style_output == 0) && (demangle != 0)) &&\n     (__s = (char *)bfd_demangle(core_bfd,pcVar10,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar2 = strlen(__s);\n    iVar9 = (int)sVar2;\n    if ((line_granularity != 0 || inline_file_names != 0) &&\n       (pSVar3 = self->file, pSVar3 != (Source_File *)0x0)) goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar10);\n    sVar2 = strlen(pcVar10);\n    iVar9 = (int)sVar2;\n    if (line_granularity == 0 && inline_file_names == 0) goto LAB_0010cf97;\n    pSVar3 = self->file;\n    __s = (char *)0x0;\n    if (pSVar3 == (Source_File *)0x0) goto LAB_0010cf97;\nLAB_0010ceef:\n    bVar1 = line_granularity;\n    pcVar10 = pSVar3->name;\n    if (print_path == 0) {\n      pcVar4 = strrchr(pcVar10,0x2f);\n      if (pcVar4 != (char *)0x0) {\n        pcVar10 = pcVar4 + 1;\n      }\n    }\n    if (bVar1 == 0) {\n      sprintf(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num);\n    }\n    else {\n      sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr);\n    }\n    printf("%s",buf);\n    puVar6 = (uint *)buf;\n    do {\n      puVar5 = puVar6;\n      uVar7 = *puVar5 + 0xfefefeff & ~*puVar5;\n      uVar8 = uVar7 & 0x80808080;\n      puVar6 = puVar5 + 1;\n    } while (uVar8 == 0);\n    bVar11 = (uVar7 & 0x8080) == 0;\n    if (bVar11) {\n      uVar8 = uVar8 >> 0x10;\n    }\n    if (bVar11) {\n      puVar6 = (uint *)((long)puVar5 + 6);\n    }\n    iVar9 = ((((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf) + iVar9;\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" if (parenthesized_expression "(((bsd_style_output == 0) && (demangle != 0)) &&\n     (__s = (char *)bfd_demangle(core_bfd,pcVar10,3), __s != (char *)0x0))" ( (binary_expression "((bsd_style_output == 0) && (demangle != 0)) &&\n     (__s = (char *)bfd_demangle(core_bfd,pcVar10,3), __s != (char *)0x0)" (parenthesized_expression "((bsd_style_output == 0) && (demangle != 0))" ( (binary_expression "(bsd_style_output == 0) && (demangle != 0)" (parenthesized_expression "(bsd_style_output == 0)" ( (binary_expression "bsd_style_output == 0" identifier == number_literal) )) && (parenthesized_expression "(demangle != 0)" ( (binary_expression "demangle != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(__s = (char *)bfd_demangle(core_bfd,pcVar10,3), __s != (char *)0x0)" ( (comma_expression "__s = (char *)bfd_demangle(core_bfd,pcVar10,3), __s != (char *)0x0" (assignment_expression "__s = (char *)bfd_demangle(core_bfd,pcVar10,3)" identifier = (cast_expression "(char *)bfd_demangle(core_bfd,pcVar10,3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_demangle(core_bfd,pcVar10,3)" identifier (argument_list "(core_bfd,pcVar10,3)" ( identifier , identifier , number_literal ))))) , (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    printf("%s",__s);\n    sVar2 = strlen(__s);\n    iVar9 = (int)sVar2;\n    if ((line_granularity != 0 || inline_file_names != 0) &&\n       (pSVar3 = self->file, pSVar3 != (Source_File *)0x0)) goto LAB_0010ceef;\n  }" { (expression_statement "printf("%s",__s);" (call_expression "printf("%s",__s)" identifier (argument_list "("%s",__s)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (expression_statement "sVar2 = strlen(__s);" (assignment_expression "sVar2 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar9 = (int)sVar2;" (assignment_expression "iVar9 = (int)sVar2" identifier = (cast_expression "(int)sVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((line_granularity != 0 || inline_file_names != 0) &&\n       (pSVar3 = self->file, pSVar3 != (Source_File *)0x0)) goto LAB_0010ceef;" if (parenthesized_expression "((line_granularity != 0 || inline_file_names != 0) &&\n       (pSVar3 = self->file, pSVar3 != (Source_File *)0x0))" ( (binary_expression "(line_granularity != 0 || inline_file_names != 0) &&\n       (pSVar3 = self->file, pSVar3 != (Source_File *)0x0)" (parenthesized_expression "(line_granularity != 0 || inline_file_names != 0)" ( (binary_expression "line_granularity != 0 || inline_file_names != 0" (binary_expression "line_granularity != 0" identifier != number_literal) || (binary_expression "inline_file_names != 0" identifier != number_literal)) )) && (parenthesized_expression "(pSVar3 = self->file, pSVar3 != (Source_File *)0x0)" ( (comma_expression "pSVar3 = self->file, pSVar3 != (Source_File *)0x0" (assignment_expression "pSVar3 = self->file" identifier = (field_expression "self->file" identifier -> field_identifier)) , (binary_expression "pSVar3 != (Source_File *)0x0" identifier != (cast_expression "(Source_File *)0x0" ( (type_descriptor "Source_File *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0010ceef;" goto statement_identifier ;)) }) (else_clause "else {\n    printf("%s",pcVar10);\n    sVar2 = strlen(pcVar10);\n    iVar9 = (int)sVar2;\n    if (line_granularity == 0 && inline_file_names == 0) goto LAB_0010cf97;\n    pSVar3 = self->file;\n    __s = (char *)0x0;\n    if (pSVar3 == (Source_File *)0x0) goto LAB_0010cf97;\nLAB_0010ceef:\n    bVar1 = line_granularity;\n    pcVar10 = pSVar3->name;\n    if (print_path == 0) {\n      pcVar4 = strrchr(pcVar10,0x2f);\n      if (pcVar4 != (char *)0x0) {\n        pcVar10 = pcVar4 + 1;\n      }\n    }\n    if (bVar1 == 0) {\n      sprintf(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num);\n    }\n    else {\n      sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr);\n    }\n    printf("%s",buf);\n    puVar6 = (uint *)buf;\n    do {\n      puVar5 = puVar6;\n      uVar7 = *puVar5 + 0xfefefeff & ~*puVar5;\n      uVar8 = uVar7 & 0x80808080;\n      puVar6 = puVar5 + 1;\n    } while (uVar8 == 0);\n    bVar11 = (uVar7 & 0x8080) == 0;\n    if (bVar11) {\n      uVar8 = uVar8 >> 0x10;\n    }\n    if (bVar11) {\n      puVar6 = (uint *)((long)puVar5 + 6);\n    }\n    iVar9 = ((((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf) + iVar9;\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" else (compound_statement "{\n    printf("%s",pcVar10);\n    sVar2 = strlen(pcVar10);\n    iVar9 = (int)sVar2;\n    if (line_granularity == 0 && inline_file_names == 0) goto LAB_0010cf97;\n    pSVar3 = self->file;\n    __s = (char *)0x0;\n    if (pSVar3 == (Source_File *)0x0) goto LAB_0010cf97;\nLAB_0010ceef:\n    bVar1 = line_granularity;\n    pcVar10 = pSVar3->name;\n    if (print_path == 0) {\n      pcVar4 = strrchr(pcVar10,0x2f);\n      if (pcVar4 != (char *)0x0) {\n        pcVar10 = pcVar4 + 1;\n      }\n    }\n    if (bVar1 == 0) {\n      sprintf(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num);\n    }\n    else {\n      sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr);\n    }\n    printf("%s",buf);\n    puVar6 = (uint *)buf;\n    do {\n      puVar5 = puVar6;\n      uVar7 = *puVar5 + 0xfefefeff & ~*puVar5;\n      uVar8 = uVar7 & 0x80808080;\n      puVar6 = puVar5 + 1;\n    } while (uVar8 == 0);\n    bVar11 = (uVar7 & 0x8080) == 0;\n    if (bVar11) {\n      uVar8 = uVar8 >> 0x10;\n    }\n    if (bVar11) {\n      puVar6 = (uint *)((long)puVar5 + 6);\n    }\n    iVar9 = ((((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf) + iVar9;\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" { (expression_statement "printf("%s",pcVar10);" (call_expression "printf("%s",pcVar10)" identifier (argument_list "("%s",pcVar10)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (expression_statement "sVar2 = strlen(pcVar10);" (assignment_expression "sVar2 = strlen(pcVar10)" identifier = (call_expression "strlen(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier )))) ;) (expression_statement "iVar9 = (int)sVar2;" (assignment_expression "iVar9 = (int)sVar2" identifier = (cast_expression "(int)sVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (line_granularity == 0 && inline_file_names == 0) goto LAB_0010cf97;" if (parenthesized_expression "(line_granularity == 0 && inline_file_names == 0)" ( (binary_expression "line_granularity == 0 && inline_file_names == 0" (binary_expression "line_granularity == 0" identifier == number_literal) && (binary_expression "inline_file_names == 0" identifier == number_literal)) )) (goto_statement "goto LAB_0010cf97;" goto statement_identifier ;)) (expression_statement "pSVar3 = self->file;" (assignment_expression "pSVar3 = self->file" identifier = (field_expression "self->file" identifier -> field_identifier)) ;) (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pSVar3 == (Source_File *)0x0) goto LAB_0010cf97;" if (parenthesized_expression "(pSVar3 == (Source_File *)0x0)" ( (binary_expression "pSVar3 == (Source_File *)0x0" identifier == (cast_expression "(Source_File *)0x0" ( (type_descriptor "Source_File *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010cf97;" goto statement_identifier ;)) (labeled_statement "LAB_0010ceef:\n    bVar1 = line_granularity;" statement_identifier : (expression_statement "bVar1 = line_granularity;" (assignment_expression "bVar1 = line_granularity" identifier = identifier) ;)) (expression_statement "pcVar10 = pSVar3->name;" (assignment_expression "pcVar10 = pSVar3->name" identifier = (field_expression "pSVar3->name" identifier -> field_identifier)) ;) (if_statement "if (print_path == 0) {\n      pcVar4 = strrchr(pcVar10,0x2f);\n      if (pcVar4 != (char *)0x0) {\n        pcVar10 = pcVar4 + 1;\n      }\n    }" if (parenthesized_expression "(print_path == 0)" ( (binary_expression "print_path == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar4 = strrchr(pcVar10,0x2f);\n      if (pcVar4 != (char *)0x0) {\n        pcVar10 = pcVar4 + 1;\n      }\n    }" { (expression_statement "pcVar4 = strrchr(pcVar10,0x2f);" (assignment_expression "pcVar4 = strrchr(pcVar10,0x2f)" identifier = (call_expression "strrchr(pcVar10,0x2f)" identifier (argument_list "(pcVar10,0x2f)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar4 != (char *)0x0) {\n        pcVar10 = pcVar4 + 1;\n      }" if (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar10 = pcVar4 + 1;\n      }" { (expression_statement "pcVar10 = pcVar4 + 1;" (assignment_expression "pcVar10 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) })) })) (if_statement "if (bVar1 == 0) {\n      sprintf(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num);\n    }\n    else {\n      sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr);\n    }" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      sprintf(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num);\n    }" { (expression_statement "sprintf(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num);" (call_expression "sprintf(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num)" identifier (argument_list "(buf," (%s:%d)",pcVar10,(ulong)(uint)self->line_num)" ( identifier , (string_literal "" (%s:%d)"" " string_content ") , identifier , (cast_expression "(ulong)(uint)self->line_num" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)self->line_num" ( (type_descriptor "uint" type_identifier) ) (field_expression "self->line_num" identifier -> field_identifier))) ))) ;) }) (else_clause "else {\n      sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr);\n    }" else (compound_statement "{\n      sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr);\n    }" { (expression_statement "sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr);" (call_expression "sprintf(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr)" identifier (argument_list "(buf," (%s:%d @ %lx)",pcVar10,(ulong)(uint)self->line_num,self->addr)" ( identifier , (string_literal "" (%s:%d @ %lx)"" " string_content ") , identifier , (cast_expression "(ulong)(uint)self->line_num" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)self->line_num" ( (type_descriptor "uint" type_identifier) ) (field_expression "self->line_num" identifier -> field_identifier))) , (field_expression "self->addr" identifier -> field_identifier) ))) ;) }))) (expression_statement "printf("%s",buf);" (call_expression "printf("%s",buf)" identifier (argument_list "("%s",buf)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (expression_statement "puVar6 = (uint *)buf;" (assignment_expression "puVar6 = (uint *)buf" identifier = (cast_expression "(uint *)buf" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n      puVar5 = puVar6;\n      uVar7 = *puVar5 + 0xfefefeff & ~*puVar5;\n      uVar8 = uVar7 & 0x80808080;\n      puVar6 = puVar5 + 1;\n    } while (uVar8 == 0);" do (compound_statement "{\n      puVar5 = puVar6;\n      uVar7 = *puVar5 + 0xfefefeff & ~*puVar5;\n      uVar8 = uVar7 & 0x80808080;\n      puVar6 = puVar5 + 1;\n    }" { (expression_statement "puVar5 = puVar6;" (assignment_expression "puVar5 = puVar6" identifier = identifier) ;) (expression_statement "uVar7 = *puVar5 + 0xfefefeff & ~*puVar5;" (assignment_expression "uVar7 = *puVar5 + 0xfefefeff & ~*puVar5" identifier = (binary_expression "*puVar5 + 0xfefefeff & ~*puVar5" (binary_expression "*puVar5 + 0xfefefeff" (pointer_expression "*puVar5" * identifier) + number_literal) & (unary_expression "~*puVar5" ~ (pointer_expression "*puVar5" * identifier)))) ;) (expression_statement "uVar8 = uVar7 & 0x80808080;" (assignment_expression "uVar8 = uVar7 & 0x80808080" identifier = (binary_expression "uVar7 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar6 = puVar5 + 1;" (assignment_expression "puVar6 = puVar5 + 1" identifier = (binary_expression "puVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) ;) (expression_statement "bVar11 = (uVar7 & 0x8080) == 0;" (assignment_expression "bVar11 = (uVar7 & 0x8080) == 0" identifier = (binary_expression "(uVar7 & 0x8080) == 0" (parenthesized_expression "(uVar7 & 0x8080)" ( (binary_expression "uVar7 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar11) {\n      uVar8 = uVar8 >> 0x10;\n    }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n      uVar8 = uVar8 >> 0x10;\n    }" { (expression_statement "uVar8 = uVar8 >> 0x10;" (assignment_expression "uVar8 = uVar8 >> 0x10" identifier = (binary_expression "uVar8 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar11) {\n      puVar6 = (uint *)((long)puVar5 + 6);\n    }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n      puVar6 = (uint *)((long)puVar5 + 6);\n    }" { (expression_statement "puVar6 = (uint *)((long)puVar5 + 6);" (assignment_expression "puVar6 = (uint *)((long)puVar5 + 6)" identifier = (cast_expression "(uint *)((long)puVar5 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar5 + 6)" ( (binary_expression "(long)puVar5 + 6" (cast_expression "(long)puVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "iVar9 = ((((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf) + iVar9;" (assignment_expression "iVar9 = ((((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf) + iVar9" identifier = (binary_expression "((((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf) + iVar9" (parenthesized_expression "((((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf)" ( (binary_expression "(((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)) - (int)buf" (parenthesized_expression "(((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8))" ( (binary_expression "((int)puVar6 + -3) - (uint)CARRY1((byte)uVar8,(byte)uVar8)" (parenthesized_expression "((int)puVar6 + -3)" ( (binary_expression "(int)puVar6 + -3" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (cast_expression "(uint)CARRY1((byte)uVar8,(byte)uVar8)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar8,(byte)uVar8)" identifier (argument_list "((byte)uVar8,(byte)uVar8)" ( (cast_expression "(byte)uVar8" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar8" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)buf" ( (type_descriptor "int" primitive_type) ) identifier)) )) + identifier)) ;) (if_statement "if (__s == (char *)0x0) goto LAB_0010cf97;" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010cf97;" goto statement_identifier ;)) }))) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (labeled_statement "LAB_0010cf97:\n  if ((debug_level & 2U) != 0) {\n    printf("{%d} ",(ulong)(uint)(self->cg).top_order);\n  }" statement_identifier : (if_statement "if ((debug_level & 2U) != 0) {\n    printf("{%d} ",(ulong)(uint)(self->cg).top_order);\n  }" if (parenthesized_expression "((debug_level & 2U) != 0)" ( (binary_expression "(debug_level & 2U) != 0" (parenthesized_expression "(debug_level & 2U)" ( (binary_expression "debug_level & 2U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    printf("{%d} ",(ulong)(uint)(self->cg).top_order);\n  }" { (expression_statement "printf("{%d} ",(ulong)(uint)(self->cg).top_order);" (call_expression "printf("{%d} ",(ulong)(uint)(self->cg).top_order)" identifier (argument_list "("{%d} ",(ulong)(uint)(self->cg).top_order)" ( (string_literal ""{%d} "" " string_content ") , (field_expression "(ulong)(uint)(self->cg).top_order" (call_expression "(ulong)(uint)(self->cg)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(self->cg)" ( (field_expression "self->cg" identifier -> field_identifier) ))) . field_identifier) ))) ;) }))) (if_statement "if ((debug_level & 0x400U) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (self->cg).prop.fract);\n  }" if (parenthesized_expression "((debug_level & 0x400U) != 0)" ( (binary_expression "(debug_level & 0x400U) != 0" (parenthesized_expression "(debug_level & 0x400U)" ( (binary_expression "debug_level & 0x400U" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    printf("%4.0f%% ",_DAT_001101e8 * (self->cg).prop.fract);\n  }" { (expression_statement "printf("%4.0f%% ",_DAT_001101e8 * (self->cg).prop.fract);" (call_expression "printf("%4.0f%% ",_DAT_001101e8 * (self->cg).prop.fract)" identifier (argument_list "("%4.0f%% ",_DAT_001101e8 * (self->cg).prop.fract)" ( (string_literal ""%4.0f%% "" " string_content ") , (binary_expression "_DAT_001101e8 * (self->cg).prop.fract" identifier * (field_expression "(self->cg).prop.fract" (field_expression "(self->cg).prop" (parenthesized_expression "(self->cg)" ( (field_expression "self->cg" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ))) ;) })) (return_statement "return iVar9;" return identifier ;) })))
(translation_unit "ulong FUN_0010ce70(undefined8 *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  size_t sVar3;\n  long lVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint *puVar7;\n  char *__s;\n  uint uVar8;\n  uint uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  bool bVar12;\n  uint local_438 [258];\n  \n  pcVar11 = (char *)param_1[2];\n  if (pcVar11 == (char *)0x0) {\n    return 0;\n  }\n  if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }\n  free(__s);\nLAB_0010cf97:\n  if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }\n  if ((DAT_001195e4 & 0x400) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }\n  return uVar10;\n}\n\n" (function_definition "ulong FUN_0010ce70(undefined8 *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  size_t sVar3;\n  long lVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint *puVar7;\n  char *__s;\n  uint uVar8;\n  uint uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  bool bVar12;\n  uint local_438 [258];\n  \n  pcVar11 = (char *)param_1[2];\n  if (pcVar11 == (char *)0x0) {\n    return 0;\n  }\n  if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }\n  free(__s);\nLAB_0010cf97:\n  if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }\n  if ((DAT_001195e4 & 0x400) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }\n  return uVar10;\n}" type_identifier (function_declarator "FUN_0010ce70(undefined8 *param_1)" identifier (parameter_list "(undefined8 *param_1)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  size_t sVar3;\n  long lVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint *puVar7;\n  char *__s;\n  uint uVar8;\n  uint uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  bool bVar12;\n  uint local_438 [258];\n  \n  pcVar11 = (char *)param_1[2];\n  if (pcVar11 == (char *)0x0) {\n    return 0;\n  }\n  if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }\n  free(__s);\nLAB_0010cf97:\n  if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }\n  if ((DAT_001195e4 & 0x400) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }\n  return uVar10;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "bool bVar12;" primitive_type identifier ;) (declaration "uint local_438 [258];" type_identifier (array_declarator "local_438 [258]" identifier [ number_literal ]) ;) (expression_statement "pcVar11 = (char *)param_1[2];" (assignment_expression "pcVar11 = (char *)param_1[2]" identifier = (cast_expression "(char *)param_1[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (if_statement "if (pcVar11 == (char *)0x0) {\n    return 0;\n  }" if (parenthesized_expression "(pcVar11 == (char *)0x0)" ( (binary_expression "pcVar11 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" if (parenthesized_expression "(((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0))" ( (binary_expression "((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)" (parenthesized_expression "((DAT_001195dc == 0) && (DAT_001182e4 != 0))" ( (binary_expression "(DAT_001195dc == 0) && (DAT_001182e4 != 0)" (parenthesized_expression "(DAT_001195dc == 0)" ( (binary_expression "DAT_001195dc == 0" identifier == number_literal) )) && (parenthesized_expression "(DAT_001182e4 != 0)" ( (binary_expression "DAT_001182e4 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)" ( (comma_expression "__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0" (assignment_expression "__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3)" identifier = (cast_expression "(char *)bfd_demangle(DAT_00119ad8,pcVar11,3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_demangle(DAT_00119ad8,pcVar11,3)" identifier (argument_list "(DAT_00119ad8,pcVar11,3)" ( identifier , identifier , number_literal ))))) , (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }" { (expression_statement "printf("%s",__s);" (call_expression "printf("%s",__s)" identifier (argument_list "("%s",__s)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (expression_statement "sVar3 = strlen(__s);" (assignment_expression "sVar3 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar2 = (int)sVar3;" (assignment_expression "iVar2 = (int)sVar3" identifier = (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar10 = sVar3 & 0xffffffff;" (assignment_expression "uVar10 = sVar3 & 0xffffffff" identifier = (binary_expression "sVar3 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;" if (parenthesized_expression "((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))" ( (binary_expression "(DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0)" (parenthesized_expression "(DAT_001195d0 != 0 || _DAT_001195c4 != 0)" ( (binary_expression "DAT_001195d0 != 0 || _DAT_001195c4 != 0" (binary_expression "DAT_001195d0 != 0" identifier != number_literal) || (binary_expression "_DAT_001195c4 != 0" identifier != number_literal)) )) && (parenthesized_expression "(lVar4 = param_1[3], lVar4 != 0)" ( (comma_expression "lVar4 = param_1[3], lVar4 != 0" (assignment_expression "lVar4 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) , (binary_expression "lVar4 != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_0010ceef;" goto statement_identifier ;)) }) (else_clause "else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" else (compound_statement "{\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" { (expression_statement "printf("%s",pcVar11);" (call_expression "printf("%s",pcVar11)" identifier (argument_list "("%s",pcVar11)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (expression_statement "sVar3 = strlen(pcVar11);" (assignment_expression "sVar3 = strlen(pcVar11)" identifier = (call_expression "strlen(pcVar11)" identifier (argument_list "(pcVar11)" ( identifier )))) ;) (expression_statement "iVar2 = (int)sVar3;" (assignment_expression "iVar2 = (int)sVar3" identifier = (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar10 = sVar3 & 0xffffffff;" (assignment_expression "uVar10 = sVar3 & 0xffffffff" identifier = (binary_expression "sVar3 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;" if (parenthesized_expression "(DAT_001195d0 == 0 && _DAT_001195c4 == 0)" ( (binary_expression "DAT_001195d0 == 0 && _DAT_001195c4 == 0" (binary_expression "DAT_001195d0 == 0" identifier == number_literal) && (binary_expression "_DAT_001195c4 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_0010cf97;" goto statement_identifier ;)) (expression_statement "lVar4 = param_1[3];" (assignment_expression "lVar4 = param_1[3]" identifier = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (lVar4 == 0) goto LAB_0010cf97;" if (parenthesized_expression "(lVar4 == 0)" ( (binary_expression "lVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010cf97;" goto statement_identifier ;)) (labeled_statement "LAB_0010ceef:\n    iVar1 = DAT_001195d0;" statement_identifier : (expression_statement "iVar1 = DAT_001195d0;" (assignment_expression "iVar1 = DAT_001195d0" identifier = identifier) ;)) (expression_statement "pcVar11 = *(char **)(lVar4 + 8);" (assignment_expression "pcVar11 = *(char **)(lVar4 + 8)" identifier = (pointer_expression "*(char **)(lVar4 + 8)" * (cast_expression "(char **)(lVar4 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar4 + 8)" ( (binary_expression "lVar4 + 8" identifier + number_literal) ))))) ;) (if_statement "if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }" if (parenthesized_expression "(DAT_001195cc == 0)" ( (binary_expression "DAT_001195cc == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }" { (expression_statement "pcVar5 = strrchr(pcVar11,0x2f);" (assignment_expression "pcVar5 = strrchr(pcVar11,0x2f)" identifier = (call_expression "strrchr(pcVar11,0x2f)" identifier (argument_list "(pcVar11,0x2f)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }" if (parenthesized_expression "(pcVar5 != (char *)0x0)" ( (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar11 = pcVar5 + 1;\n      }" { (expression_statement "pcVar11 = pcVar5 + 1;" (assignment_expression "pcVar11 = pcVar5 + 1" identifier = (binary_expression "pcVar5 + 1" identifier + number_literal)) ;) })) })) (if_statement "if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }" { (expression_statement "sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));" (call_expression "sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4))" identifier (argument_list "((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4))" ( (cast_expression "(char *)local_438" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "" (%s:%d)"" " string_content ") , identifier , (binary_expression "(ulong)*(uint *)(param_1 + 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }" else (compound_statement "{\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }" { (expression_statement "sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);" (call_expression "sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1)" identifier (argument_list "((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1)" ( (cast_expression "(char *)local_438" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "" (%s:%d @ %lx)"" " string_content ") , identifier , (binary_expression "(ulong)*(uint *)(param_1 + 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) , (pointer_expression "*param_1" * identifier) ))) ;) }))) (expression_statement "printf("%s",local_438);" (call_expression "printf("%s",local_438)" identifier (argument_list "("%s",local_438)" ( (string_literal ""%s"" " string_content ") , identifier ))) ;) (expression_statement "puVar7 = local_438;" (assignment_expression "puVar7 = local_438" identifier = identifier) ;) (do_statement "do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);" do (compound_statement "{\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    }" { (expression_statement "puVar6 = puVar7;" (assignment_expression "puVar6 = puVar7" identifier = identifier) ;) (expression_statement "uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;" (assignment_expression "uVar8 = *puVar6 + 0xfefefeff & ~*puVar6" identifier = (binary_expression "*puVar6 + 0xfefefeff & ~*puVar6" (binary_expression "*puVar6 + 0xfefefeff" (pointer_expression "*puVar6" * identifier) + number_literal) & (unary_expression "~*puVar6" ~ (pointer_expression "*puVar6" * identifier)))) ;) (expression_statement "uVar9 = uVar8 & 0x80808080;" (assignment_expression "uVar9 = uVar8 & 0x80808080" identifier = (binary_expression "uVar8 & 0x80808080" identifier & number_literal)) ;) (expression_statement "puVar7 = puVar6 + 1;" (assignment_expression "puVar7 = puVar6 + 1" identifier = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) ;) (expression_statement "bVar12 = (uVar8 & 0x8080) == 0;" (assignment_expression "bVar12 = (uVar8 & 0x8080) == 0" identifier = (binary_expression "(uVar8 & 0x8080) == 0" (parenthesized_expression "(uVar8 & 0x8080)" ( (binary_expression "uVar8 & 0x8080" identifier & number_literal) )) == number_literal)) ;) (if_statement "if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n      uVar9 = uVar9 >> 0x10;\n    }" { (expression_statement "uVar9 = uVar9 >> 0x10;" (assignment_expression "uVar9 = uVar9 >> 0x10" identifier = (binary_expression "uVar9 >> 0x10" identifier >> number_literal)) ;) })) (if_statement "if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }" if (parenthesized_expression "(bVar12)" ( identifier )) (compound_statement "{\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }" { (expression_statement "puVar7 = (uint *)((long)puVar6 + 6);" (assignment_expression "puVar7 = (uint *)((long)puVar6 + 6)" identifier = (cast_expression "(uint *)((long)puVar6 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar6 + 6)" ( (binary_expression "(long)puVar6 + 6" (cast_expression "(long)puVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) })) (expression_statement "uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);" (assignment_expression "uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2)" identifier = (call_expression "(ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2)" ( (binary_expression "((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2" (parenthesized_expression "((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)" ( (binary_expression "(((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438" (parenthesized_expression "(((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9))" ( (binary_expression "((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)" (parenthesized_expression "((int)puVar7 + -3)" ( (binary_expression "(int)puVar7 + -3" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) - (cast_expression "(uint)CARRY1((byte)uVar9,(byte)uVar9)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY1((byte)uVar9,(byte)uVar9)" identifier (argument_list "((byte)uVar9,(byte)uVar9)" ( (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) , (cast_expression "(byte)uVar9" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) )) - (cast_expression "(int)local_438" ( (type_descriptor "int" primitive_type) ) identifier)) )) + identifier) )))) ;) (if_statement "if (__s == (char *)0x0) goto LAB_0010cf97;" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010cf97;" goto statement_identifier ;)) }))) (expression_statement "free(__s);" (call_expression "free(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (labeled_statement "LAB_0010cf97:\n  if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }" statement_identifier : (if_statement "if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }" if (parenthesized_expression "((DAT_001195e4 & 2) != 0)" ( (binary_expression "(DAT_001195e4 & 2) != 0" (parenthesized_expression "(DAT_001195e4 & 2)" ( (binary_expression "DAT_001195e4 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }" { (expression_statement "printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));" (call_expression "printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c))" identifier (argument_list "("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c))" ( (string_literal ""{%d} "" " string_content ") , (binary_expression "(ulong)*(uint *)((long)param_1 + 0x10c)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)((long)param_1 + 0x10c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x10c)" ( (binary_expression "(long)param_1 + 0x10c" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ))) ;) }))) (if_statement "if ((DAT_001195e4 & 0x400) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }" if (parenthesized_expression "((DAT_001195e4 & 0x400) != 0)" ( (binary_expression "(DAT_001195e4 & 0x400) != 0" (parenthesized_expression "(DAT_001195e4 & 0x400)" ( (binary_expression "DAT_001195e4 & 0x400" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }" { (expression_statement "printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);" (call_expression "printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23])" identifier (argument_list "("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23])" ( (string_literal ""%4.0f%% "" " string_content ") , (binary_expression "_DAT_001101e8 * (double)param_1[0x23]" identifier * (cast_expression "(double)param_1[0x23]" ( (type_descriptor "double" primitive_type) ) (subscript_expression "param_1[0x23]" identifier [ number_literal ]))) ))) ;) })) (return_statement "return uVar10;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , IDENT , (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (string_literal " string_content ") , IDENT , (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * IDENT) ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & (unary_expression ~ (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) - (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression IDENT * (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) ;) })) (return_statement return IDENT ;) })))
(function_definition "ulong FUN_0010ce70(undefined8 *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  size_t sVar3;\n  long lVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint *puVar7;\n  char *__s;\n  uint uVar8;\n  uint uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  bool bVar12;\n  uint local_438 [258];\n  \n  pcVar11 = (char *)param_1[2];\n  if (pcVar11 == (char *)0x0) {\n    return 0;\n  }\n  if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }\n  free(__s);\nLAB_0010cf97:\n  if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }\n  if ((DAT_001195e4 & 0x400) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }\n  return uVar10;\n}" (type_identifier "ulong") (function_declarator "FUN_0010ce70(undefined8 *param_1)" (identifier "FUN_0010ce70") (parameter_list "(undefined8 *param_1)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  size_t sVar3;\n  long lVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint *puVar7;\n  char *__s;\n  uint uVar8;\n  uint uVar9;\n  ulong uVar10;\n  char *pcVar11;\n  bool bVar12;\n  uint local_438 [258];\n  \n  pcVar11 = (char *)param_1[2];\n  if (pcVar11 == (char *)0x0) {\n    return 0;\n  }\n  if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }\n  free(__s);\nLAB_0010cf97:\n  if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }\n  if ((DAT_001195e4 & 0x400) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }\n  return uVar10;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "uint *puVar6;" (type_identifier "uint") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint *puVar7;" (type_identifier "uint") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "bool bVar12;" (primitive_type "bool") (identifier "bVar12") (; ";")) (declaration "uint local_438 [258];" (type_identifier "uint") (array_declarator "local_438 [258]" (identifier "local_438") ([ "[") (number_literal "258") (] "]")) (; ";")) (expression_statement "pcVar11 = (char *)param_1[2];" (assignment_expression "pcVar11 = (char *)param_1[2]" (identifier "pcVar11") (= "=") (cast_expression "(char *)param_1[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (pcVar11 == (char *)0x0) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(pcVar11 == (char *)0x0)" (( "(") (binary_expression "pcVar11 == (char *)0x0" (identifier "pcVar11") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }\n  else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" (if "if") (parenthesized_expression "(((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0))" (( "(") (binary_expression "((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&\n     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)" (parenthesized_expression "((DAT_001195dc == 0) && (DAT_001182e4 != 0))" (( "(") (binary_expression "(DAT_001195dc == 0) && (DAT_001182e4 != 0)" (parenthesized_expression "(DAT_001195dc == 0)" (( "(") (binary_expression "DAT_001195dc == 0" (identifier "DAT_001195dc") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_001182e4 != 0)" (( "(") (binary_expression "DAT_001182e4 != 0" (identifier "DAT_001182e4") (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)" (( "(") (comma_expression "__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0" (assignment_expression "__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3)" (identifier "__s") (= "=") (cast_expression "(char *)bfd_demangle(DAT_00119ad8,pcVar11,3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "bfd_demangle(DAT_00119ad8,pcVar11,3)" (identifier "bfd_demangle") (argument_list "(DAT_00119ad8,pcVar11,3)" (( "(") (identifier "DAT_00119ad8") (, ",") (identifier "pcVar11") (, ",") (number_literal "3") () ")"))))) (, ",") (binary_expression "__s != (char *)0x0" (identifier "__s") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n    printf("%s",__s);\n    sVar3 = strlen(__s);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;\n  }" ({ "{") (expression_statement "printf("%s",__s);" (call_expression "printf("%s",__s)" (identifier "printf") (argument_list "("%s",__s)" (( "(") (string_literal ""%s"" (" """) (string_content "%s") (" """)) (, ",") (identifier "__s") () ")"))) (; ";")) (expression_statement "sVar3 = strlen(__s);" (assignment_expression "sVar3 = strlen(__s)" (identifier "sVar3") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "iVar2 = (int)sVar3;" (assignment_expression "iVar2 = (int)sVar3" (identifier "iVar2") (= "=") (cast_expression "(int)sVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar3"))) (; ";")) (expression_statement "uVar10 = sVar3 & 0xffffffff;" (assignment_expression "uVar10 = sVar3 & 0xffffffff" (identifier "uVar10") (= "=") (binary_expression "sVar3 & 0xffffffff" (identifier "sVar3") (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))\n    goto LAB_0010ceef;" (if "if") (parenthesized_expression "((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))" (( "(") (binary_expression "(DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0)" (parenthesized_expression "(DAT_001195d0 != 0 || _DAT_001195c4 != 0)" (( "(") (binary_expression "DAT_001195d0 != 0 || _DAT_001195c4 != 0" (binary_expression "DAT_001195d0 != 0" (identifier "DAT_001195d0") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "_DAT_001195c4 != 0" (identifier "_DAT_001195c4") (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "(lVar4 = param_1[3], lVar4 != 0)" (( "(") (comma_expression "lVar4 = param_1[3], lVar4 != 0" (assignment_expression "lVar4 = param_1[3]" (identifier "lVar4") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (, ",") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0010ceef;" (goto "goto") (statement_identifier "LAB_0010ceef") (; ";"))) (} "}")) (else_clause "else {\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" (else "else") (compound_statement "{\n    printf("%s",pcVar11);\n    sVar3 = strlen(pcVar11);\n    iVar2 = (int)sVar3;\n    uVar10 = sVar3 & 0xffffffff;\n    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;\n    lVar4 = param_1[3];\n    __s = (char *)0x0;\n    if (lVar4 == 0) goto LAB_0010cf97;\nLAB_0010ceef:\n    iVar1 = DAT_001195d0;\n    pcVar11 = *(char **)(lVar4 + 8);\n    if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }\n    if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }\n    printf("%s",local_438);\n    puVar7 = local_438;\n    do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);\n    bVar12 = (uVar8 & 0x8080) == 0;\n    if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }\n    if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }\n    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);\n    if (__s == (char *)0x0) goto LAB_0010cf97;\n  }" ({ "{") (expression_statement "printf("%s",pcVar11);" (call_expression "printf("%s",pcVar11)" (identifier "printf") (argument_list "("%s",pcVar11)" (( "(") (string_literal ""%s"" (" """) (string_content "%s") (" """)) (, ",") (identifier "pcVar11") () ")"))) (; ";")) (expression_statement "sVar3 = strlen(pcVar11);" (assignment_expression "sVar3 = strlen(pcVar11)" (identifier "sVar3") (= "=") (call_expression "strlen(pcVar11)" (identifier "strlen") (argument_list "(pcVar11)" (( "(") (identifier "pcVar11") () ")")))) (; ";")) (expression_statement "iVar2 = (int)sVar3;" (assignment_expression "iVar2 = (int)sVar3" (identifier "iVar2") (= "=") (cast_expression "(int)sVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar3"))) (; ";")) (expression_statement "uVar10 = sVar3 & 0xffffffff;" (assignment_expression "uVar10 = sVar3 & 0xffffffff" (identifier "uVar10") (= "=") (binary_expression "sVar3 & 0xffffffff" (identifier "sVar3") (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;" (if "if") (parenthesized_expression "(DAT_001195d0 == 0 && _DAT_001195c4 == 0)" (( "(") (binary_expression "DAT_001195d0 == 0 && _DAT_001195c4 == 0" (binary_expression "DAT_001195d0 == 0" (identifier "DAT_001195d0") (== "==") (number_literal "0")) (&& "&&") (binary_expression "_DAT_001195c4 == 0" (identifier "_DAT_001195c4") (== "==") (number_literal "0"))) () ")")) (goto_statement "goto LAB_0010cf97;" (goto "goto") (statement_identifier "LAB_0010cf97") (; ";"))) (expression_statement "lVar4 = param_1[3];" (assignment_expression "lVar4 = param_1[3]" (identifier "lVar4") (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "__s = (char *)0x0;" (assignment_expression "__s = (char *)0x0" (identifier "__s") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (lVar4 == 0) goto LAB_0010cf97;" (if "if") (parenthesized_expression "(lVar4 == 0)" (( "(") (binary_expression "lVar4 == 0" (identifier "lVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0010cf97;" (goto "goto") (statement_identifier "LAB_0010cf97") (; ";"))) (labeled_statement "LAB_0010ceef:\n    iVar1 = DAT_001195d0;" (statement_identifier "LAB_0010ceef") (: ":") (expression_statement "iVar1 = DAT_001195d0;" (assignment_expression "iVar1 = DAT_001195d0" (identifier "iVar1") (= "=") (identifier "DAT_001195d0")) (; ";"))) (expression_statement "pcVar11 = *(char **)(lVar4 + 8);" (assignment_expression "pcVar11 = *(char **)(lVar4 + 8)" (identifier "pcVar11") (= "=") (pointer_expression "*(char **)(lVar4 + 8)" (* "*") (cast_expression "(char **)(lVar4 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar4 + 8)" (( "(") (binary_expression "lVar4 + 8" (identifier "lVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (DAT_001195cc == 0) {\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }" (if "if") (parenthesized_expression "(DAT_001195cc == 0)" (( "(") (binary_expression "DAT_001195cc == 0" (identifier "DAT_001195cc") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar5 = strrchr(pcVar11,0x2f);\n      if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }\n    }" ({ "{") (expression_statement "pcVar5 = strrchr(pcVar11,0x2f);" (assignment_expression "pcVar5 = strrchr(pcVar11,0x2f)" (identifier "pcVar5") (= "=") (call_expression "strrchr(pcVar11,0x2f)" (identifier "strrchr") (argument_list "(pcVar11,0x2f)" (( "(") (identifier "pcVar11") (, ",") (number_literal "0x2f") () ")")))) (; ";")) (if_statement "if (pcVar5 != (char *)0x0) {\n        pcVar11 = pcVar5 + 1;\n      }" (if "if") (parenthesized_expression "(pcVar5 != (char *)0x0)" (( "(") (binary_expression "pcVar5 != (char *)0x0" (identifier "pcVar5") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pcVar11 = pcVar5 + 1;\n      }" ({ "{") (expression_statement "pcVar11 = pcVar5 + 1;" (assignment_expression "pcVar11 = pcVar5 + 1" (identifier "pcVar11") (= "=") (binary_expression "pcVar5 + 1" (identifier "pcVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (iVar1 == 0) {\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }\n    else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));\n    }" ({ "{") (expression_statement "sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));" (call_expression "sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4))" (identifier "sprintf") (argument_list "((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4))" (( "(") (cast_expression "(char *)local_438" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_438")) (, ",") (string_literal "" (%s:%d)"" (" """) (string_content " (%s:%d)") (" """)) (, ",") (identifier "pcVar11") (, ",") (binary_expression "(ulong)*(uint *)(param_1 + 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(param_1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }" (else "else") (compound_statement "{\n      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);\n    }" ({ "{") (expression_statement "sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);" (call_expression "sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1)" (identifier "sprintf") (argument_list "((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1)" (( "(") (cast_expression "(char *)local_438" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_438")) (, ",") (string_literal "" (%s:%d @ %lx)"" (" """) (string_content " (%s:%d @ %lx)") (" """)) (, ",") (identifier "pcVar11") (, ",") (binary_expression "(ulong)*(uint *)(param_1 + 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(param_1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (, ",") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")"))) (; ";")) (} "}")))) (expression_statement "printf("%s",local_438);" (call_expression "printf("%s",local_438)" (identifier "printf") (argument_list "("%s",local_438)" (( "(") (string_literal ""%s"" (" """) (string_content "%s") (" """)) (, ",") (identifier "local_438") () ")"))) (; ";")) (expression_statement "puVar7 = local_438;" (assignment_expression "puVar7 = local_438" (identifier "puVar7") (= "=") (identifier "local_438")) (; ";")) (do_statement "do {\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    } while (uVar9 == 0);" (do "do") (compound_statement "{\n      puVar6 = puVar7;\n      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;\n      uVar9 = uVar8 & 0x80808080;\n      puVar7 = puVar6 + 1;\n    }" ({ "{") (expression_statement "puVar6 = puVar7;" (assignment_expression "puVar6 = puVar7" (identifier "puVar6") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;" (assignment_expression "uVar8 = *puVar6 + 0xfefefeff & ~*puVar6" (identifier "uVar8") (= "=") (binary_expression "*puVar6 + 0xfefefeff & ~*puVar6" (binary_expression "*puVar6 + 0xfefefeff" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (+ "+") (number_literal "0xfefefeff")) (& "&") (unary_expression "~*puVar6" (~ "~") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))))) (; ";")) (expression_statement "uVar9 = uVar8 & 0x80808080;" (assignment_expression "uVar9 = uVar8 & 0x80808080" (identifier "uVar9") (= "=") (binary_expression "uVar8 & 0x80808080" (identifier "uVar8") (& "&") (number_literal "0x80808080"))) (; ";")) (expression_statement "puVar7 = puVar6 + 1;" (assignment_expression "puVar7 = puVar6 + 1" (identifier "puVar7") (= "=") (binary_expression "puVar6 + 1" (identifier "puVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (; ";")) (expression_statement "bVar12 = (uVar8 & 0x8080) == 0;" (assignment_expression "bVar12 = (uVar8 & 0x8080) == 0" (identifier "bVar12") (= "=") (binary_expression "(uVar8 & 0x8080) == 0" (parenthesized_expression "(uVar8 & 0x8080)" (( "(") (binary_expression "uVar8 & 0x8080" (identifier "uVar8") (& "&") (number_literal "0x8080")) () ")")) (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar12) {\n      uVar9 = uVar9 >> 0x10;\n    }" (if "if") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (compound_statement "{\n      uVar9 = uVar9 >> 0x10;\n    }" ({ "{") (expression_statement "uVar9 = uVar9 >> 0x10;" (assignment_expression "uVar9 = uVar9 >> 0x10" (identifier "uVar9") (= "=") (binary_expression "uVar9 >> 0x10" (identifier "uVar9") (>> ">>") (number_literal "0x10"))) (; ";")) (} "}"))) (if_statement "if (bVar12) {\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }" (if "if") (parenthesized_expression "(bVar12)" (( "(") (identifier "bVar12") () ")")) (compound_statement "{\n      puVar7 = (uint *)((long)puVar6 + 6);\n    }" ({ "{") (expression_statement "puVar7 = (uint *)((long)puVar6 + 6);" (assignment_expression "puVar7 = (uint *)((long)puVar6 + 6)" (identifier "puVar7") (= "=") (cast_expression "(uint *)((long)puVar6 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar6 + 6)" (( "(") (binary_expression "(long)puVar6 + 6" (cast_expression "(long)puVar6" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar6")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (} "}"))) (expression_statement "uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2);" (assignment_expression "uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2)" (identifier "uVar10") (= "=") (call_expression "(ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2)" (( "(") (binary_expression "((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)\n                    + iVar2" (parenthesized_expression "((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)" (( "(") (binary_expression "(((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438" (parenthesized_expression "(((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9))" (( "(") (binary_expression "((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)" (parenthesized_expression "((int)puVar7 + -3)" (( "(") (binary_expression "(int)puVar7 + -3" (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (+ "+") (number_literal "-3")) () ")")) (- "-") (cast_expression "(uint)CARRY1((byte)uVar9,(byte)uVar9)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY1((byte)uVar9,(byte)uVar9)" (identifier "CARRY1") (argument_list "((byte)uVar9,(byte)uVar9)" (( "(") (cast_expression "(byte)uVar9" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar9")) (, ",") (cast_expression "(byte)uVar9" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar9")) () ")"))))) () ")")) (- "-") (cast_expression "(int)local_438" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_438"))) () ")")) (+ "+") (identifier "iVar2")) () ")")))) (; ";")) (if_statement "if (__s == (char *)0x0) goto LAB_0010cf97;" (if "if") (parenthesized_expression "(__s == (char *)0x0)" (( "(") (binary_expression "__s == (char *)0x0" (identifier "__s") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0010cf97;" (goto "goto") (statement_identifier "LAB_0010cf97") (; ";"))) (} "}")))) (expression_statement "free(__s);" (call_expression "free(__s)" (identifier "free") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (labeled_statement "LAB_0010cf97:\n  if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }" (statement_identifier "LAB_0010cf97") (: ":") (if_statement "if ((DAT_001195e4 & 2) != 0) {\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }" (if "if") (parenthesized_expression "((DAT_001195e4 & 2) != 0)" (( "(") (binary_expression "(DAT_001195e4 & 2) != 0" (parenthesized_expression "(DAT_001195e4 & 2)" (( "(") (binary_expression "DAT_001195e4 & 2" (identifier "DAT_001195e4") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));\n  }" ({ "{") (expression_statement "printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));" (call_expression "printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c))" (identifier "printf") (argument_list "("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c))" (( "(") (string_literal ""{%d} "" (" """) (string_content "{%d} ") (" """)) (, ",") (binary_expression "(ulong)*(uint *)((long)param_1 + 0x10c)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)((long)param_1 + 0x10c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x10c)" (( "(") (binary_expression "(long)param_1 + 0x10c" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x10c")) () ")")))) () ")"))) (; ";")) (} "}")))) (if_statement "if ((DAT_001195e4 & 0x400) != 0) {\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }" (if "if") (parenthesized_expression "((DAT_001195e4 & 0x400) != 0)" (( "(") (binary_expression "(DAT_001195e4 & 0x400) != 0" (parenthesized_expression "(DAT_001195e4 & 0x400)" (( "(") (binary_expression "DAT_001195e4 & 0x400" (identifier "DAT_001195e4") (& "&") (number_literal "0x400")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);\n  }" ({ "{") (expression_statement "printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);" (call_expression "printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23])" (identifier "printf") (argument_list "("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23])" (( "(") (string_literal ""%4.0f%% "" (" """) (string_content "%4.0f%% ") (" """)) (, ",") (binary_expression "_DAT_001101e8 * (double)param_1[0x23]" (identifier "_DAT_001101e8") (* "*") (cast_expression "(double)param_1[0x23]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (subscript_expression "param_1[0x23]" (identifier "param_1") ([ "[") (number_literal "0x23") (] "]")))) () ")"))) (; ";")) (} "}"))) (return_statement "return uVar10;" (return "return") (identifier "uVar10") (; ";")) (} "}")))

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

int function_1(type_1 *self)

{
  type_2 var_14;
  size_t sVar2;
  type_3 *var_10;
  char *var_13;
  type_4 *var_17;
  type_4 *puVar6;
  char *var_5;
  type_4 var_16;
  type_4 var_18;
  int var_20;
  char *var_1;
  bool bVar11;
  char buf [1024];
  
  var_1 = self->name;
  if (var_1 == (char *)0x0) {
    return 0;
  }
  if (((var_2 == 0) && (var_3 != 0)) &&
     (var_5 = (char *)var_4(core_bfd,var_1,3), var_5 != (char *)0x0)) {
    var_6("%s",var_5);
    sVar2 = var_7(var_5);
    var_20 = (int)sVar2;
    if ((var_8 != 0 || var_9 != 0) &&
       (var_10 = self->file, var_10 != (type_3 *)0x0)) goto LAB_0010ceef;
  }
  else {
    var_6("%s",var_1);
    sVar2 = var_7(var_1);
    var_20 = (int)sVar2;
    if (var_8 == 0 && var_9 == 0) goto LAB_0010cf97;
    var_10 = self->file;
    var_5 = (char *)0x0;
    if (var_10 == (type_3 *)0x0) goto LAB_0010cf97;
LAB_0010ceef:
    var_14 = var_8;
    var_1 = var_10->name;
    if (var_11 == 0) {
      var_13 = var_12(var_1,0x2f);
      if (var_13 != (char *)0x0) {
        var_1 = var_13 + 1;
      }
    }
    if (var_14 == 0) {
      var_15(buf," (%s:%d)",var_1,(type_5)(type_4)self->line_num);
    }
    else {
      var_15(buf," (%s:%d @ %lx)",var_1,(type_5)(type_4)self->line_num,self->addr);
    }
    var_6("%s",buf);
    puVar6 = (type_4 *)buf;
    do {
      var_17 = puVar6;
      var_16 = *var_17 + 0xfefefeff & ~*var_17;
      var_18 = var_16 & 0x80808080;
      puVar6 = var_17 + 1;
    } while (var_18 == 0);
    bVar11 = (var_16 & 0x8080) == 0;
    if (bVar11) {
      var_18 = var_18 >> 0x10;
    }
    if (bVar11) {
      puVar6 = (type_4 *)((long)var_17 + 6);
    }
    var_20 = ((((int)puVar6 + -3) - (type_4)var_19((type_6)var_18,(type_6)var_18)) - (int)buf) + var_20;
    if (var_5 == (char *)0x0) goto LAB_0010cf97;
  }
  var_21(var_5);
LAB_0010cf97:
  if ((var_22 & 2U) != 0) {
    var_6("{%d} ",(type_5)(type_4)(self->cg).top_order);
  }
  if ((var_22 & 0x400U) != 0) {
    var_6("%4.0f%% ",var_23 * (self->cg).prop.fract);
  }
  return var_20;
}


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

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

ulong MASKED(undefined8 *param_1)

{
  int iVar1;
  int iVar2;
  size_t sVar3;
  long lVar4;
  char *pcVar5;
  uint *puVar6;
  uint *puVar7;
  char *__s;
  uint uVar8;
  uint uVar9;
  ulong uVar10;
  char *pcVar11;
  bool bVar12;
  uint local_438 [258];
  
  pcVar11 = (char *)param_1[2];
  if (pcVar11 == (char *)0x0) {
    return 0;
  }
  if (((DAT_001195dc == 0) && (DAT_001182e4 != 0)) &&
     (__s = (char *)bfd_demangle(DAT_00119ad8,pcVar11,3), __s != (char *)0x0)) {
    printf("%s",__s);
    sVar3 = strlen(__s);
    iVar2 = (int)sVar3;
    uVar10 = sVar3 & 0xffffffff;
    if ((DAT_001195d0 != 0 || _DAT_001195c4 != 0) && (lVar4 = param_1[3], lVar4 != 0))
    goto LAB_0010ceef;
  }
  else {
    printf("%s",pcVar11);
    sVar3 = strlen(pcVar11);
    iVar2 = (int)sVar3;
    uVar10 = sVar3 & 0xffffffff;
    if (DAT_001195d0 == 0 && _DAT_001195c4 == 0) goto LAB_0010cf97;
    lVar4 = param_1[3];
    __s = (char *)0x0;
    if (lVar4 == 0) goto LAB_0010cf97;
LAB_0010ceef:
    iVar1 = DAT_001195d0;
    pcVar11 = *(char **)(lVar4 + 8);
    if (DAT_001195cc == 0) {
      pcVar5 = strrchr(pcVar11,0x2f);
      if (pcVar5 != (char *)0x0) {
        pcVar11 = pcVar5 + 1;
      }
    }
    if (iVar1 == 0) {
      sprintf((char *)local_438," (%s:%d)",pcVar11,(ulong)*(uint *)(param_1 + 4));
    }
    else {
      sprintf((char *)local_438," (%s:%d @ %lx)",pcVar11,(ulong)*(uint *)(param_1 + 4),*param_1);
    }
    printf("%s",local_438);
    puVar7 = local_438;
    do {
      puVar6 = puVar7;
      uVar8 = *puVar6 + 0xfefefeff & ~*puVar6;
      uVar9 = uVar8 & 0x80808080;
      puVar7 = puVar6 + 1;
    } while (uVar9 == 0);
    bVar12 = (uVar8 & 0x8080) == 0;
    if (bVar12) {
      uVar9 = uVar9 >> 0x10;
    }
    if (bVar12) {
      puVar7 = (uint *)((long)puVar6 + 6);
    }
    uVar10 = (ulong)(((((int)puVar7 + -3) - (uint)CARRY1((byte)uVar9,(byte)uVar9)) - (int)local_438)
                    + iVar2);
    if (__s == (char *)0x0) goto LAB_0010cf97;
  }
  free(__s);
LAB_0010cf97:
  if ((DAT_001195e4 & 2) != 0) {
    printf("{%d} ",(ulong)*(uint *)((long)param_1 + 0x10c));
  }
  if ((DAT_001195e4 & 0x400) != 0) {
    printf("%4.0f%% ",_DAT_001101e8 * (double)param_1[0x23]);
  }
  return uVar10;
}

