
void print_dynamic_symbol(Filedata *filedata,bfd_vma si,ulong hn)

{
  Filedata *filedata_00;
  Elf_Internal_Sym *pEVar1;
  ulong uVar2;
  uint uVar3;
  char *pcVar4;
  byte bVar5;
  
  uVar3 = print_vma(si,DEC_5);
  if ((int)uVar3 < 5) {
    fputs(&DAT_0016a393 + (int)uVar3,stdout);
  }
  printf(" %3lu: ",hn);
  if ((dynamic_symbols != (Elf_Internal_Sym *)0x0) && (si < num_dynamic_syms)) {
    filedata_00 = (Filedata *)((filedata->file_header).e_ident + 7);
    pEVar1 = dynamic_symbols + si;
    print_vma(pEVar1->st_value,LONG_HEX);
    putc(0x20,stdout);
    print_vma(pEVar1->st_size,DEC_5);
    pcVar4 = get_symbol_type(filedata_00,(int)filedata + 0x52,
                             (Filedata *)(ulong)(pEVar1->st_info & 0xf));
    printf(" %-7s",pcVar4);
    pcVar4 = get_symbol_binding(filedata_00,(uint)(pEVar1->st_info >> 4));
    printf(" %-6s",pcVar4);
    if ((filedata->file_header).e_ident[7] == '\x06') {
      pcVar4 = get_solaris_symbol_visibility((uint)pEVar1->st_other);
      printf(" %-7s",pcVar4);
    }
    else {
      bVar5 = pEVar1->st_other & 3;
      pcVar4 = get_symbol_visibility((uint)bVar5);
      printf(" %-7s",pcVar4);
      if (pEVar1->st_other != bVar5) {
        pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));
        printf(" [%s] ",pcVar4);
      }
    }
    pcVar4 = get_symbol_index_type(filedata,pEVar1->st_shndx);
    printf(" %3.3s ",pcVar4);
    uVar2 = pEVar1->st_name;
    if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= uVar2)) {
      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);
      printf(pcVar4,uVar2);
    }
    else {
      print_symbol(L'\x19',dynamic_strings + uVar2);
    }
    putc(10,stdout);
    return;
  }
  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);
  printf(pcVar4,si);
  return;
}



void FUN_00122f40(long param_1,ulong param_2,undefined8 param_3)

{
  undefined8 *puVar1;
  ulong uVar2;
  int iVar3;
  char *pcVar4;
  undefined8 uVar5;
  byte bVar6;
  
  iVar3 = FUN_001116b0(param_2,2);
  if (iVar3 < 5) {
    fputs(&DAT_0016a393 + iVar3,stdout);
  }
  printf(" %3lu: ",param_3);
  if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {
    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);
    FUN_001116b0(*puVar1,6);
    putc(0x20,stdout);
    FUN_001116b0(puVar1[1],2);
    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);
    printf(" %-7s",uVar5);
    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);
    printf(" %-6s",uVar5);
    if (*(char *)(param_1 + 0x1f) == '\x06') {
      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));
      printf(" %-7s",uVar5);
    }
    else {
      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;
      uVar5 = FUN_001141e0(bVar6);
      printf(" %-7s",uVar5);
      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {
        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);
        printf(" [%s] ",uVar5);
      }
    }
    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));
    printf(" %3.3s ",uVar5);
    uVar2 = puVar1[2];
    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {
      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);
      printf(pcVar4,uVar2);
    }
    else {
      FUN_001122a0(0x19,DAT_00194690 + uVar2);
    }
    putc(10,stdout);
    return;
  }
  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);
  printf(pcVar4,param_2);
  return;
}


PUSH R12
MOV R12,RDX
PUSH RBP
MOV RBP,RDI
PUSH RBX
MOV RBX,RSI
MOV ESI,0x2
MOV RDI,RBX
CALL 0x001116b0
CMP EAX,0x4
JLE 0x001230e0
MOV RSI,R12
LEA RDI,[0x1697ea]
XOR EAX,EAX
CALL 0x00107190
MOV RAX,qword ptr [0x00194678]
TEST RAX,RAX
JZ 0x00122f89
CMP qword ptr [0x00194680],RBX
JA 0x00122fb0
LEA RSI,[0x171458]
XOR EDI,EDI
MOV EDX,0x5
CALL 0x00107130
MOV RSI,RBX
POP RBX
POP RBP
MOV RDI,RAX
POP R12
XOR EAX,EAX
JMP 0x00107190
SHL RBX,0x5
MOV ESI,0x6
LEA R12,[RBP + 0x1f]
LEA RBX,[RAX + RBX*0x1]
MOV RDI,qword ptr [RBX]
CALL 0x001116b0
MOV RSI,qword ptr [0x001923a0]
MOV EDI,0x20
CALL 0x00107270
MOV RDI,qword ptr [RBX + 0x8]
MOV ESI,0x2
CALL 0x001116b0
MOVZX EDX,byte ptr [RBX + 0x18]
LEA RSI,[RBP + 0x52]
MOV RDI,R12
AND EDX,0xf
CALL 0x001171e0
LEA RDI,[0x1697f2]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
MOVZX ESI,byte ptr [RBX + 0x18]
MOV RDI,R12
SHR SIL,0x4
MOVZX ESI,SIL
CALL 0x00118b60
LEA RDI,[0x1697f8]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
CMP byte ptr [RBP + 0x1f],0x6
JZ 0x00123128
MOVZX R12D,byte ptr [RBX + 0x19]
AND R12D,0x3
MOVZX EDI,R12B
CALL 0x001141e0
LEA RDI,[0x1697f2]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
MOVZX ESI,byte ptr [RBX + 0x19]
CMP SIL,R12B
JNZ 0x00123100
MOV ESI,dword ptr [RBX + 0x1c]
MOV RDI,RBP
CALL 0x001142e0
LEA RDI,[0x169805]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV RSI,qword ptr [0x00194690]
MOV RBX,qword ptr [RBX + 0x10]
TEST RSI,RSI
JZ 0x001230a4
CMP RBX,qword ptr [0x00194688]
JC 0x00123150
LEA RSI,[0x16980d]
XOR EDI,EDI
MOV EDX,0x5
CALL 0x00107130
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00107190
MOV RSI,qword ptr [0x001923a0]
POP RBX
MOV EDI,0xa
POP RBP
POP R12
JMP 0x00107270
CDQE
LEA RDI,[0x16a393]
MOV RSI,qword ptr [0x001923a0]
ADD RDI,RAX
CALL 0x001071e0
JMP 0x00122f63
XOR ESI,R12D
MOV RDI,RBP
MOVZX ESI,SIL
CALL 0x00122cb0
LEA RDI,[0x1697fe]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
JMP 0x0012306b
MOVZX EDI,byte ptr [RBX + 0x19]
CALL 0x00114270
LEA RDI,[0x1697f2]
MOV RSI,RAX
XOR EAX,EAX
CALL 0x00107190
JMP 0x0012306b
ADD RSI,RBX
MOV EDI,0x19
CALL 0x001122a0
JMP 0x001230c4
(translation_unit "void FUN_00122f40(long param_1,ulong param_2,undefined8 param_3)\n\n{\n  undefined8 *puVar1;\n  ulong uVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  \n  iVar3 = FUN_001116b0(param_2,2);\n  if (iVar3 < 5) {\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }\n  printf(" %3lu: ",param_3);\n  if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);\n  printf(pcVar4,param_2);\n  return;\n}\n\n" (function_definition "void FUN_00122f40(long param_1,ulong param_2,undefined8 param_3)\n\n{\n  undefined8 *puVar1;\n  ulong uVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  \n  iVar3 = FUN_001116b0(param_2,2);\n  if (iVar3 < 5) {\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }\n  printf(" %3lu: ",param_3);\n  if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);\n  printf(pcVar4,param_2);\n  return;\n}" primitive_type (function_declarator "FUN_00122f40(long param_1,ulong param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,ulong param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  ulong uVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  \n  iVar3 = FUN_001116b0(param_2,2);\n  if (iVar3 < 5) {\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }\n  printf(" %3lu: ",param_3);\n  if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);\n  printf(pcVar4,param_2);\n  return;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (expression_statement "iVar3 = FUN_001116b0(param_2,2);" (assignment_expression "iVar3 = FUN_001116b0(param_2,2)" identifier = (call_expression "FUN_001116b0(param_2,2)" identifier (argument_list "(param_2,2)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 < 5) {\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }" if (parenthesized_expression "(iVar3 < 5)" ( (binary_expression "iVar3 < 5" identifier < number_literal) )) (compound_statement "{\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }" { (expression_statement "fputs(&DAT_0016a393 + iVar3,stdout);" (call_expression "fputs(&DAT_0016a393 + iVar3,stdout)" identifier (argument_list "(&DAT_0016a393 + iVar3,stdout)" ( (binary_expression "&DAT_0016a393 + iVar3" (pointer_expression "&DAT_0016a393" & identifier) + identifier) , identifier ))) ;) })) (expression_statement "printf(" %3lu: ",param_3);" (call_expression "printf(" %3lu: ",param_3)" identifier (argument_list "(" %3lu: ",param_3)" ( (string_literal "" %3lu: "" " string_content ") , identifier ))) ;) (if_statement "if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }" if (parenthesized_expression "((DAT_00194678 != 0) && (param_2 < DAT_00194680))" ( (binary_expression "(DAT_00194678 != 0) && (param_2 < DAT_00194680)" (parenthesized_expression "(DAT_00194678 != 0)" ( (binary_expression "DAT_00194678 != 0" identifier != number_literal) )) && (parenthesized_expression "(param_2 < DAT_00194680)" ( (binary_expression "param_2 < DAT_00194680" identifier < identifier) ))) )) (compound_statement "{\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }" { (expression_statement "puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);" (assignment_expression "puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20)" identifier = (cast_expression "(undefined8 *)(DAT_00194678 + param_2 * 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00194678 + param_2 * 0x20)" ( (binary_expression "DAT_00194678 + param_2 * 0x20" identifier + (binary_expression "param_2 * 0x20" identifier * number_literal)) )))) ;) (expression_statement "FUN_001116b0(*puVar1,6);" (call_expression "FUN_001116b0(*puVar1,6)" identifier (argument_list "(*puVar1,6)" ( (pointer_expression "*puVar1" * identifier) , number_literal ))) ;) (expression_statement "putc(0x20,stdout);" (call_expression "putc(0x20,stdout)" identifier (argument_list "(0x20,stdout)" ( number_literal , identifier ))) ;) (expression_statement "FUN_001116b0(puVar1[1],2);" (call_expression "FUN_001116b0(puVar1[1],2)" identifier (argument_list "(puVar1[1],2)" ( (subscript_expression "puVar1[1]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);" (assignment_expression "uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf)" identifier = (call_expression "FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf)" identifier (argument_list "(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , (binary_expression "param_1 + 0x52" identifier + number_literal) , (binary_expression "*(byte *)(puVar1 + 3) & 0xf" (pointer_expression "*(byte *)(puVar1 + 3)" * (cast_expression "(byte *)(puVar1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 3)" ( (binary_expression "puVar1 + 3" identifier + number_literal) )))) & number_literal) )))) ;) (expression_statement "printf(" %-7s",uVar5);" (call_expression "printf(" %-7s",uVar5)" identifier (argument_list "(" %-7s",uVar5)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (expression_statement "uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);" (assignment_expression "uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4)" identifier = (call_expression "FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4)" identifier (argument_list "(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , (binary_expression "*(byte *)(puVar1 + 3) >> 4" (pointer_expression "*(byte *)(puVar1 + 3)" * (cast_expression "(byte *)(puVar1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 3)" ( (binary_expression "puVar1 + 3" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "printf(" %-6s",uVar5);" (call_expression "printf(" %-6s",uVar5)" identifier (argument_list "(" %-6s",uVar5)" ( (string_literal "" %-6s"" " string_content ") , identifier ))) ;) (if_statement "if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x1f) == '\x06')" ( (binary_expression "*(char *)(param_1 + 0x1f) == '\x06'" (pointer_expression "*(char *)(param_1 + 0x1f)" * (cast_expression "(char *)(param_1 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) )))) == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }" { (expression_statement "uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));" (assignment_expression "uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19))" identifier = (call_expression "FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19))" identifier (argument_list "(*(undefined1 *)((long)puVar1 + 0x19))" ( (pointer_expression "*(undefined1 *)((long)puVar1 + 0x19)" * (cast_expression "(undefined1 *)((long)puVar1 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar1 + 0x19)" ( (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )))) ;) (expression_statement "printf(" %-7s",uVar5);" (call_expression "printf(" %-7s",uVar5)" identifier (argument_list "(" %-7s",uVar5)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) }) (else_clause "else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }" else (compound_statement "{\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }" { (expression_statement "bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;" (assignment_expression "bVar6 = *(byte *)((long)puVar1 + 0x19) & 3" identifier = (binary_expression "*(byte *)((long)puVar1 + 0x19) & 3" (pointer_expression "*(byte *)((long)puVar1 + 0x19)" * (cast_expression "(byte *)((long)puVar1 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar1 + 0x19)" ( (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "uVar5 = FUN_001141e0(bVar6);" (assignment_expression "uVar5 = FUN_001141e0(bVar6)" identifier = (call_expression "FUN_001141e0(bVar6)" identifier (argument_list "(bVar6)" ( identifier )))) ;) (expression_statement "printf(" %-7s",uVar5);" (call_expression "printf(" %-7s",uVar5)" identifier (argument_list "(" %-7s",uVar5)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (if_statement "if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }" if (parenthesized_expression "(*(byte *)((long)puVar1 + 0x19) != bVar6)" ( (binary_expression "*(byte *)((long)puVar1 + 0x19) != bVar6" (pointer_expression "*(byte *)((long)puVar1 + 0x19)" * (cast_expression "(byte *)((long)puVar1 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar1 + 0x19)" ( (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }" { (expression_statement "uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);" (assignment_expression "uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6)" identifier = (call_expression "FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6)" identifier (argument_list "(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6)" ( identifier , (binary_expression "*(byte *)((long)puVar1 + 0x19) ^ bVar6" (pointer_expression "*(byte *)((long)puVar1 + 0x19)" * (cast_expression "(byte *)((long)puVar1 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar1 + 0x19)" ( (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ^ identifier) )))) ;) (expression_statement "printf(" [%s] ",uVar5);" (call_expression "printf(" [%s] ",uVar5)" identifier (argument_list "(" [%s] ",uVar5)" ( (string_literal "" [%s] "" " string_content ") , identifier ))) ;) })) }))) (expression_statement "uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));" (assignment_expression "uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c))" identifier = (call_expression "FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c))" identifier (argument_list "(param_1,*(undefined4 *)((long)puVar1 + 0x1c))" ( identifier , (pointer_expression "*(undefined4 *)((long)puVar1 + 0x1c)" * (cast_expression "(undefined4 *)((long)puVar1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar1 + 0x1c)" ( (binary_expression "(long)puVar1 + 0x1c" (cast_expression "(long)puVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )))) ;) (expression_statement "printf(" %3.3s ",uVar5);" (call_expression "printf(" %3.3s ",uVar5)" identifier (argument_list "(" %3.3s ",uVar5)" ( (string_literal "" %3.3s "" " string_content ") , identifier ))) ;) (expression_statement "uVar2 = puVar1[2];" (assignment_expression "uVar2 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (if_statement "if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }" if (parenthesized_expression "((DAT_00194690 == 0) || (DAT_00194688 <= uVar2))" ( (binary_expression "(DAT_00194690 == 0) || (DAT_00194688 <= uVar2)" (parenthesized_expression "(DAT_00194690 == 0)" ( (binary_expression "DAT_00194690 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_00194688 <= uVar2)" ( (binary_expression "DAT_00194688 <= uVar2" identifier <= identifier) ))) )) (compound_statement "{\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }" { (expression_statement "pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5)" identifier = (cast_expression "(char *)dcgettext(0," <corrupt: %14ld>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <corrupt: %14ld>",5)" identifier (argument_list "(0," <corrupt: %14ld>",5)" ( number_literal , (string_literal "" <corrupt: %14ld>"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,uVar2);" (call_expression "printf(pcVar4,uVar2)" identifier (argument_list "(pcVar4,uVar2)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }" else (compound_statement "{\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }" { (expression_statement "FUN_001122a0(0x19,DAT_00194690 + uVar2);" (call_expression "FUN_001122a0(0x19,DAT_00194690 + uVar2)" identifier (argument_list "(0x19,DAT_00194690 + uVar2)" ( number_literal , (binary_expression "DAT_00194690 + uVar2" identifier + identifier) ))) ;) }))) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" identifier (argument_list "(0,"<No info available for dynamic symbol number %lu>\n",5)" ( number_literal , (string_literal ""<No info available for dynamic symbol number %lu>\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,param_2);" (call_expression "printf(pcVar4,param_2)" identifier (argument_list "(pcVar4,param_2)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void print_dynamic_symbol(Filedata *filedata,bfd_vma si,ulong hn)\n\n{\n  Filedata *filedata_00;\n  Elf_Internal_Sym *pEVar1;\n  ulong uVar2;\n  uint uVar3;\n  char *pcVar4;\n  byte bVar5;\n  \n  uVar3 = print_vma(si,DEC_5);\n  if ((int)uVar3 < 5) {\n    fputs(&DAT_0016a393 + (int)uVar3,stdout);\n  }\n  printf(" %3lu: ",hn);\n  if ((dynamic_symbols != (Elf_Internal_Sym *)0x0) && (si < num_dynamic_syms)) {\n    filedata_00 = (Filedata *)((filedata->file_header).e_ident + 7);\n    pEVar1 = dynamic_symbols + si;\n    print_vma(pEVar1->st_value,LONG_HEX);\n    putc(0x20,stdout);\n    print_vma(pEVar1->st_size,DEC_5);\n    pcVar4 = get_symbol_type(filedata_00,(int)filedata + 0x52,\n                             (Filedata *)(ulong)(pEVar1->st_info & 0xf));\n    printf(" %-7s",pcVar4);\n    pcVar4 = get_symbol_binding(filedata_00,(uint)(pEVar1->st_info >> 4));\n    printf(" %-6s",pcVar4);\n    if ((filedata->file_header).e_ident[7] == '\x06') {\n      pcVar4 = get_solaris_symbol_visibility((uint)pEVar1->st_other);\n      printf(" %-7s",pcVar4);\n    }\n    else {\n      bVar5 = pEVar1->st_other & 3;\n      pcVar4 = get_symbol_visibility((uint)bVar5);\n      printf(" %-7s",pcVar4);\n      if (pEVar1->st_other != bVar5) {\n        pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));\n        printf(" [%s] ",pcVar4);\n      }\n    }\n    pcVar4 = get_symbol_index_type(filedata,pEVar1->st_shndx);\n    printf(" %3.3s ",pcVar4);\n    uVar2 = pEVar1->st_name;\n    if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      print_symbol(L'\x19',dynamic_strings + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);\n  printf(pcVar4,si);\n  return;\n}\n\n" (function_definition "void print_dynamic_symbol(Filedata *filedata,bfd_vma si,ulong hn)\n\n{\n  Filedata *filedata_00;\n  Elf_Internal_Sym *pEVar1;\n  ulong uVar2;\n  uint uVar3;\n  char *pcVar4;\n  byte bVar5;\n  \n  uVar3 = print_vma(si,DEC_5);\n  if ((int)uVar3 < 5) {\n    fputs(&DAT_0016a393 + (int)uVar3,stdout);\n  }\n  printf(" %3lu: ",hn);\n  if ((dynamic_symbols != (Elf_Internal_Sym *)0x0) && (si < num_dynamic_syms)) {\n    filedata_00 = (Filedata *)((filedata->file_header).e_ident + 7);\n    pEVar1 = dynamic_symbols + si;\n    print_vma(pEVar1->st_value,LONG_HEX);\n    putc(0x20,stdout);\n    print_vma(pEVar1->st_size,DEC_5);\n    pcVar4 = get_symbol_type(filedata_00,(int)filedata + 0x52,\n                             (Filedata *)(ulong)(pEVar1->st_info & 0xf));\n    printf(" %-7s",pcVar4);\n    pcVar4 = get_symbol_binding(filedata_00,(uint)(pEVar1->st_info >> 4));\n    printf(" %-6s",pcVar4);\n    if ((filedata->file_header).e_ident[7] == '\x06') {\n      pcVar4 = get_solaris_symbol_visibility((uint)pEVar1->st_other);\n      printf(" %-7s",pcVar4);\n    }\n    else {\n      bVar5 = pEVar1->st_other & 3;\n      pcVar4 = get_symbol_visibility((uint)bVar5);\n      printf(" %-7s",pcVar4);\n      if (pEVar1->st_other != bVar5) {\n        pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));\n        printf(" [%s] ",pcVar4);\n      }\n    }\n    pcVar4 = get_symbol_index_type(filedata,pEVar1->st_shndx);\n    printf(" %3.3s ",pcVar4);\n    uVar2 = pEVar1->st_name;\n    if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      print_symbol(L'\x19',dynamic_strings + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);\n  printf(pcVar4,si);\n  return;\n}" primitive_type (function_declarator "print_dynamic_symbol(Filedata *filedata,bfd_vma si,ulong hn)" identifier (parameter_list "(Filedata *filedata,bfd_vma si,ulong hn)" ( (parameter_declaration "Filedata *filedata" type_identifier (pointer_declarator "*filedata" * identifier)) , (parameter_declaration "bfd_vma si" type_identifier identifier) , (parameter_declaration "ulong hn" type_identifier identifier) ))) (compound_statement "{\n  Filedata *filedata_00;\n  Elf_Internal_Sym *pEVar1;\n  ulong uVar2;\n  uint uVar3;\n  char *pcVar4;\n  byte bVar5;\n  \n  uVar3 = print_vma(si,DEC_5);\n  if ((int)uVar3 < 5) {\n    fputs(&DAT_0016a393 + (int)uVar3,stdout);\n  }\n  printf(" %3lu: ",hn);\n  if ((dynamic_symbols != (Elf_Internal_Sym *)0x0) && (si < num_dynamic_syms)) {\n    filedata_00 = (Filedata *)((filedata->file_header).e_ident + 7);\n    pEVar1 = dynamic_symbols + si;\n    print_vma(pEVar1->st_value,LONG_HEX);\n    putc(0x20,stdout);\n    print_vma(pEVar1->st_size,DEC_5);\n    pcVar4 = get_symbol_type(filedata_00,(int)filedata + 0x52,\n                             (Filedata *)(ulong)(pEVar1->st_info & 0xf));\n    printf(" %-7s",pcVar4);\n    pcVar4 = get_symbol_binding(filedata_00,(uint)(pEVar1->st_info >> 4));\n    printf(" %-6s",pcVar4);\n    if ((filedata->file_header).e_ident[7] == '\x06') {\n      pcVar4 = get_solaris_symbol_visibility((uint)pEVar1->st_other);\n      printf(" %-7s",pcVar4);\n    }\n    else {\n      bVar5 = pEVar1->st_other & 3;\n      pcVar4 = get_symbol_visibility((uint)bVar5);\n      printf(" %-7s",pcVar4);\n      if (pEVar1->st_other != bVar5) {\n        pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));\n        printf(" [%s] ",pcVar4);\n      }\n    }\n    pcVar4 = get_symbol_index_type(filedata,pEVar1->st_shndx);\n    printf(" %3.3s ",pcVar4);\n    uVar2 = pEVar1->st_name;\n    if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      print_symbol(L'\x19',dynamic_strings + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);\n  printf(pcVar4,si);\n  return;\n}" { (declaration "Filedata *filedata_00;" type_identifier (pointer_declarator "*filedata_00" * identifier) ;) (declaration "Elf_Internal_Sym *pEVar1;" type_identifier (pointer_declarator "*pEVar1" * identifier) ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (expression_statement "uVar3 = print_vma(si,DEC_5);" (assignment_expression "uVar3 = print_vma(si,DEC_5)" identifier = (call_expression "print_vma(si,DEC_5)" identifier (argument_list "(si,DEC_5)" ( identifier , identifier )))) ;) (if_statement "if ((int)uVar3 < 5) {\n    fputs(&DAT_0016a393 + (int)uVar3,stdout);\n  }" if (parenthesized_expression "((int)uVar3 < 5)" ( (binary_expression "(int)uVar3 < 5" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    fputs(&DAT_0016a393 + (int)uVar3,stdout);\n  }" { (expression_statement "fputs(&DAT_0016a393 + (int)uVar3,stdout);" (call_expression "fputs(&DAT_0016a393 + (int)uVar3,stdout)" identifier (argument_list "(&DAT_0016a393 + (int)uVar3,stdout)" ( (binary_expression "&DAT_0016a393 + (int)uVar3" (pointer_expression "&DAT_0016a393" & identifier) + (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier ))) ;) })) (expression_statement "printf(" %3lu: ",hn);" (call_expression "printf(" %3lu: ",hn)" identifier (argument_list "(" %3lu: ",hn)" ( (string_literal "" %3lu: "" " string_content ") , identifier ))) ;) (if_statement "if ((dynamic_symbols != (Elf_Internal_Sym *)0x0) && (si < num_dynamic_syms)) {\n    filedata_00 = (Filedata *)((filedata->file_header).e_ident + 7);\n    pEVar1 = dynamic_symbols + si;\n    print_vma(pEVar1->st_value,LONG_HEX);\n    putc(0x20,stdout);\n    print_vma(pEVar1->st_size,DEC_5);\n    pcVar4 = get_symbol_type(filedata_00,(int)filedata + 0x52,\n                             (Filedata *)(ulong)(pEVar1->st_info & 0xf));\n    printf(" %-7s",pcVar4);\n    pcVar4 = get_symbol_binding(filedata_00,(uint)(pEVar1->st_info >> 4));\n    printf(" %-6s",pcVar4);\n    if ((filedata->file_header).e_ident[7] == '\x06') {\n      pcVar4 = get_solaris_symbol_visibility((uint)pEVar1->st_other);\n      printf(" %-7s",pcVar4);\n    }\n    else {\n      bVar5 = pEVar1->st_other & 3;\n      pcVar4 = get_symbol_visibility((uint)bVar5);\n      printf(" %-7s",pcVar4);\n      if (pEVar1->st_other != bVar5) {\n        pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));\n        printf(" [%s] ",pcVar4);\n      }\n    }\n    pcVar4 = get_symbol_index_type(filedata,pEVar1->st_shndx);\n    printf(" %3.3s ",pcVar4);\n    uVar2 = pEVar1->st_name;\n    if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      print_symbol(L'\x19',dynamic_strings + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }" if (parenthesized_expression "((dynamic_symbols != (Elf_Internal_Sym *)0x0) && (si < num_dynamic_syms))" ( (binary_expression "(dynamic_symbols != (Elf_Internal_Sym *)0x0) && (si < num_dynamic_syms)" (parenthesized_expression "(dynamic_symbols != (Elf_Internal_Sym *)0x0)" ( (binary_expression "dynamic_symbols != (Elf_Internal_Sym *)0x0" identifier != (cast_expression "(Elf_Internal_Sym *)0x0" ( (type_descriptor "Elf_Internal_Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(si < num_dynamic_syms)" ( (binary_expression "si < num_dynamic_syms" identifier < identifier) ))) )) (compound_statement "{\n    filedata_00 = (Filedata *)((filedata->file_header).e_ident + 7);\n    pEVar1 = dynamic_symbols + si;\n    print_vma(pEVar1->st_value,LONG_HEX);\n    putc(0x20,stdout);\n    print_vma(pEVar1->st_size,DEC_5);\n    pcVar4 = get_symbol_type(filedata_00,(int)filedata + 0x52,\n                             (Filedata *)(ulong)(pEVar1->st_info & 0xf));\n    printf(" %-7s",pcVar4);\n    pcVar4 = get_symbol_binding(filedata_00,(uint)(pEVar1->st_info >> 4));\n    printf(" %-6s",pcVar4);\n    if ((filedata->file_header).e_ident[7] == '\x06') {\n      pcVar4 = get_solaris_symbol_visibility((uint)pEVar1->st_other);\n      printf(" %-7s",pcVar4);\n    }\n    else {\n      bVar5 = pEVar1->st_other & 3;\n      pcVar4 = get_symbol_visibility((uint)bVar5);\n      printf(" %-7s",pcVar4);\n      if (pEVar1->st_other != bVar5) {\n        pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));\n        printf(" [%s] ",pcVar4);\n      }\n    }\n    pcVar4 = get_symbol_index_type(filedata,pEVar1->st_shndx);\n    printf(" %3.3s ",pcVar4);\n    uVar2 = pEVar1->st_name;\n    if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      print_symbol(L'\x19',dynamic_strings + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }" { (expression_statement "filedata_00 = (Filedata *)((filedata->file_header).e_ident + 7);" (assignment_expression "filedata_00 = (Filedata *)((filedata->file_header).e_ident + 7)" identifier = (cast_expression "(Filedata *)((filedata->file_header).e_ident + 7)" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((filedata->file_header).e_ident + 7)" ( (binary_expression "(filedata->file_header).e_ident + 7" (field_expression "(filedata->file_header).e_ident" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier) + number_literal) )))) ;) (expression_statement "pEVar1 = dynamic_symbols + si;" (assignment_expression "pEVar1 = dynamic_symbols + si" identifier = (binary_expression "dynamic_symbols + si" identifier + identifier)) ;) (expression_statement "print_vma(pEVar1->st_value,LONG_HEX);" (call_expression "print_vma(pEVar1->st_value,LONG_HEX)" identifier (argument_list "(pEVar1->st_value,LONG_HEX)" ( (field_expression "pEVar1->st_value" identifier -> field_identifier) , identifier ))) ;) (expression_statement "putc(0x20,stdout);" (call_expression "putc(0x20,stdout)" identifier (argument_list "(0x20,stdout)" ( number_literal , identifier ))) ;) (expression_statement "print_vma(pEVar1->st_size,DEC_5);" (call_expression "print_vma(pEVar1->st_size,DEC_5)" identifier (argument_list "(pEVar1->st_size,DEC_5)" ( (field_expression "pEVar1->st_size" identifier -> field_identifier) , identifier ))) ;) (expression_statement "pcVar4 = get_symbol_type(filedata_00,(int)filedata + 0x52,\n                             (Filedata *)(ulong)(pEVar1->st_info & 0xf));" (assignment_expression "pcVar4 = get_symbol_type(filedata_00,(int)filedata + 0x52,\n                             (Filedata *)(ulong)(pEVar1->st_info & 0xf))" identifier = (call_expression "get_symbol_type(filedata_00,(int)filedata + 0x52,\n                             (Filedata *)(ulong)(pEVar1->st_info & 0xf))" identifier (argument_list "(filedata_00,(int)filedata + 0x52,\n                             (Filedata *)(ulong)(pEVar1->st_info & 0xf))" ( identifier , (binary_expression "(int)filedata + 0x52" (cast_expression "(int)filedata" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (cast_expression "(Filedata *)(ulong)(pEVar1->st_info & 0xf)" ( (type_descriptor "Filedata *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(pEVar1->st_info & 0xf)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pEVar1->st_info & 0xf)" ( (binary_expression "pEVar1->st_info & 0xf" (field_expression "pEVar1->st_info" identifier -> field_identifier) & number_literal) )))) )))) ;) (expression_statement "printf(" %-7s",pcVar4);" (call_expression "printf(" %-7s",pcVar4)" identifier (argument_list "(" %-7s",pcVar4)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (expression_statement "pcVar4 = get_symbol_binding(filedata_00,(uint)(pEVar1->st_info >> 4));" (assignment_expression "pcVar4 = get_symbol_binding(filedata_00,(uint)(pEVar1->st_info >> 4))" identifier = (call_expression "get_symbol_binding(filedata_00,(uint)(pEVar1->st_info >> 4))" identifier (argument_list "(filedata_00,(uint)(pEVar1->st_info >> 4))" ( identifier , (call_expression "(uint)(pEVar1->st_info >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pEVar1->st_info >> 4)" ( (binary_expression "pEVar1->st_info >> 4" (field_expression "pEVar1->st_info" identifier -> field_identifier) >> number_literal) ))) )))) ;) (expression_statement "printf(" %-6s",pcVar4);" (call_expression "printf(" %-6s",pcVar4)" identifier (argument_list "(" %-6s",pcVar4)" ( (string_literal "" %-6s"" " string_content ") , identifier ))) ;) (if_statement "if ((filedata->file_header).e_ident[7] == '\x06') {\n      pcVar4 = get_solaris_symbol_visibility((uint)pEVar1->st_other);\n      printf(" %-7s",pcVar4);\n    }\n    else {\n      bVar5 = pEVar1->st_other & 3;\n      pcVar4 = get_symbol_visibility((uint)bVar5);\n      printf(" %-7s",pcVar4);\n      if (pEVar1->st_other != bVar5) {\n        pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));\n        printf(" [%s] ",pcVar4);\n      }\n    }" if (parenthesized_expression "((filedata->file_header).e_ident[7] == '\x06')" ( (binary_expression "(filedata->file_header).e_ident[7] == '\x06'" (subscript_expression "(filedata->file_header).e_ident[7]" (field_expression "(filedata->file_header).e_ident" (parenthesized_expression "(filedata->file_header)" ( (field_expression "filedata->file_header" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar4 = get_solaris_symbol_visibility((uint)pEVar1->st_other);\n      printf(" %-7s",pcVar4);\n    }" { (expression_statement "pcVar4 = get_solaris_symbol_visibility((uint)pEVar1->st_other);" (assignment_expression "pcVar4 = get_solaris_symbol_visibility((uint)pEVar1->st_other)" identifier = (call_expression "get_solaris_symbol_visibility((uint)pEVar1->st_other)" identifier (argument_list "((uint)pEVar1->st_other)" ( (cast_expression "(uint)pEVar1->st_other" ( (type_descriptor "uint" type_identifier) ) (field_expression "pEVar1->st_other" identifier -> field_identifier)) )))) ;) (expression_statement "printf(" %-7s",pcVar4);" (call_expression "printf(" %-7s",pcVar4)" identifier (argument_list "(" %-7s",pcVar4)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) }) (else_clause "else {\n      bVar5 = pEVar1->st_other & 3;\n      pcVar4 = get_symbol_visibility((uint)bVar5);\n      printf(" %-7s",pcVar4);\n      if (pEVar1->st_other != bVar5) {\n        pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));\n        printf(" [%s] ",pcVar4);\n      }\n    }" else (compound_statement "{\n      bVar5 = pEVar1->st_other & 3;\n      pcVar4 = get_symbol_visibility((uint)bVar5);\n      printf(" %-7s",pcVar4);\n      if (pEVar1->st_other != bVar5) {\n        pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));\n        printf(" [%s] ",pcVar4);\n      }\n    }" { (expression_statement "bVar5 = pEVar1->st_other & 3;" (assignment_expression "bVar5 = pEVar1->st_other & 3" identifier = (binary_expression "pEVar1->st_other & 3" (field_expression "pEVar1->st_other" identifier -> field_identifier) & number_literal)) ;) (expression_statement "pcVar4 = get_symbol_visibility((uint)bVar5);" (assignment_expression "pcVar4 = get_symbol_visibility((uint)bVar5)" identifier = (call_expression "get_symbol_visibility((uint)bVar5)" identifier (argument_list "((uint)bVar5)" ( (cast_expression "(uint)bVar5" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "printf(" %-7s",pcVar4);" (call_expression "printf(" %-7s",pcVar4)" identifier (argument_list "(" %-7s",pcVar4)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (if_statement "if (pEVar1->st_other != bVar5) {\n        pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));\n        printf(" [%s] ",pcVar4);\n      }" if (parenthesized_expression "(pEVar1->st_other != bVar5)" ( (binary_expression "pEVar1->st_other != bVar5" (field_expression "pEVar1->st_other" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));\n        printf(" [%s] ",pcVar4);\n      }" { (expression_statement "pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5));" (assignment_expression "pcVar4 = get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5))" identifier = (call_expression "get_symbol_other(filedata,(uint)(pEVar1->st_other ^ bVar5))" identifier (argument_list "(filedata,(uint)(pEVar1->st_other ^ bVar5))" ( identifier , (call_expression "(uint)(pEVar1->st_other ^ bVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pEVar1->st_other ^ bVar5)" ( (binary_expression "pEVar1->st_other ^ bVar5" (field_expression "pEVar1->st_other" identifier -> field_identifier) ^ identifier) ))) )))) ;) (expression_statement "printf(" [%s] ",pcVar4);" (call_expression "printf(" [%s] ",pcVar4)" identifier (argument_list "(" [%s] ",pcVar4)" ( (string_literal "" [%s] "" " string_content ") , identifier ))) ;) })) }))) (expression_statement "pcVar4 = get_symbol_index_type(filedata,pEVar1->st_shndx);" (assignment_expression "pcVar4 = get_symbol_index_type(filedata,pEVar1->st_shndx)" identifier = (call_expression "get_symbol_index_type(filedata,pEVar1->st_shndx)" identifier (argument_list "(filedata,pEVar1->st_shndx)" ( identifier , (field_expression "pEVar1->st_shndx" identifier -> field_identifier) )))) ;) (expression_statement "printf(" %3.3s ",pcVar4);" (call_expression "printf(" %3.3s ",pcVar4)" identifier (argument_list "(" %3.3s ",pcVar4)" ( (string_literal "" %3.3s "" " string_content ") , identifier ))) ;) (expression_statement "uVar2 = pEVar1->st_name;" (assignment_expression "uVar2 = pEVar1->st_name" identifier = (field_expression "pEVar1->st_name" identifier -> field_identifier)) ;) (if_statement "if ((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      print_symbol(L'\x19',dynamic_strings + uVar2);\n    }" if (parenthesized_expression "((dynamic_strings == (char *)0x0) || (dynamic_strings_length <= uVar2))" ( (binary_expression "(dynamic_strings == (char *)0x0) || (dynamic_strings_length <= uVar2)" (parenthesized_expression "(dynamic_strings == (char *)0x0)" ( (binary_expression "dynamic_strings == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(dynamic_strings_length <= uVar2)" ( (binary_expression "dynamic_strings_length <= uVar2" identifier <= identifier) ))) )) (compound_statement "{\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }" { (expression_statement "pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5)" identifier = (cast_expression "(char *)dcgettext(0," <corrupt: %14ld>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <corrupt: %14ld>",5)" identifier (argument_list "(0," <corrupt: %14ld>",5)" ( number_literal , (string_literal "" <corrupt: %14ld>"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,uVar2);" (call_expression "printf(pcVar4,uVar2)" identifier (argument_list "(pcVar4,uVar2)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      print_symbol(L'\x19',dynamic_strings + uVar2);\n    }" else (compound_statement "{\n      print_symbol(L'\x19',dynamic_strings + uVar2);\n    }" { (expression_statement "print_symbol(L'\x19',dynamic_strings + uVar2);" (call_expression "print_symbol(L'\x19',dynamic_strings + uVar2)" identifier (argument_list "(L'\x19',dynamic_strings + uVar2)" ( (char_literal "L'\x19'" L' escape_sequence ') , (binary_expression "dynamic_strings + uVar2" identifier + identifier) ))) ;) }))) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" identifier (argument_list "(0,"<No info available for dynamic symbol number %lu>\n",5)" ( number_literal , (string_literal ""<No info available for dynamic symbol number %lu>\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,si);" (call_expression "printf(pcVar4,si)" identifier (argument_list "(pcVar4,si)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00122f40(long param_1,ulong param_2,undefined8 param_3)\n\n{\n  undefined8 *puVar1;\n  ulong uVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  \n  iVar3 = FUN_001116b0(param_2,2);\n  if (iVar3 < 5) {\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }\n  printf(" %3lu: ",param_3);\n  if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);\n  printf(pcVar4,param_2);\n  return;\n}\n\n" (function_definition "void FUN_00122f40(long param_1,ulong param_2,undefined8 param_3)\n\n{\n  undefined8 *puVar1;\n  ulong uVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  \n  iVar3 = FUN_001116b0(param_2,2);\n  if (iVar3 < 5) {\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }\n  printf(" %3lu: ",param_3);\n  if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);\n  printf(pcVar4,param_2);\n  return;\n}" primitive_type (function_declarator "FUN_00122f40(long param_1,ulong param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,ulong param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "ulong param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined8 *puVar1;\n  ulong uVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  \n  iVar3 = FUN_001116b0(param_2,2);\n  if (iVar3 < 5) {\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }\n  printf(" %3lu: ",param_3);\n  if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);\n  printf(pcVar4,param_2);\n  return;\n}" { (declaration "undefined8 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (expression_statement "iVar3 = FUN_001116b0(param_2,2);" (assignment_expression "iVar3 = FUN_001116b0(param_2,2)" identifier = (call_expression "FUN_001116b0(param_2,2)" identifier (argument_list "(param_2,2)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 < 5) {\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }" if (parenthesized_expression "(iVar3 < 5)" ( (binary_expression "iVar3 < 5" identifier < number_literal) )) (compound_statement "{\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }" { (expression_statement "fputs(&DAT_0016a393 + iVar3,stdout);" (call_expression "fputs(&DAT_0016a393 + iVar3,stdout)" identifier (argument_list "(&DAT_0016a393 + iVar3,stdout)" ( (binary_expression "&DAT_0016a393 + iVar3" (pointer_expression "&DAT_0016a393" & identifier) + identifier) , identifier ))) ;) })) (expression_statement "printf(" %3lu: ",param_3);" (call_expression "printf(" %3lu: ",param_3)" identifier (argument_list "(" %3lu: ",param_3)" ( (string_literal "" %3lu: "" " string_content ") , identifier ))) ;) (if_statement "if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }" if (parenthesized_expression "((DAT_00194678 != 0) && (param_2 < DAT_00194680))" ( (binary_expression "(DAT_00194678 != 0) && (param_2 < DAT_00194680)" (parenthesized_expression "(DAT_00194678 != 0)" ( (binary_expression "DAT_00194678 != 0" identifier != number_literal) )) && (parenthesized_expression "(param_2 < DAT_00194680)" ( (binary_expression "param_2 < DAT_00194680" identifier < identifier) ))) )) (compound_statement "{\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }" { (expression_statement "puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);" (assignment_expression "puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20)" identifier = (cast_expression "(undefined8 *)(DAT_00194678 + param_2 * 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00194678 + param_2 * 0x20)" ( (binary_expression "DAT_00194678 + param_2 * 0x20" identifier + (binary_expression "param_2 * 0x20" identifier * number_literal)) )))) ;) (expression_statement "FUN_001116b0(*puVar1,6);" (call_expression "FUN_001116b0(*puVar1,6)" identifier (argument_list "(*puVar1,6)" ( (pointer_expression "*puVar1" * identifier) , number_literal ))) ;) (expression_statement "putc(0x20,stdout);" (call_expression "putc(0x20,stdout)" identifier (argument_list "(0x20,stdout)" ( number_literal , identifier ))) ;) (expression_statement "FUN_001116b0(puVar1[1],2);" (call_expression "FUN_001116b0(puVar1[1],2)" identifier (argument_list "(puVar1[1],2)" ( (subscript_expression "puVar1[1]" identifier [ number_literal ]) , number_literal ))) ;) (expression_statement "uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);" (assignment_expression "uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf)" identifier = (call_expression "FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf)" identifier (argument_list "(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , (binary_expression "param_1 + 0x52" identifier + number_literal) , (binary_expression "*(byte *)(puVar1 + 3) & 0xf" (pointer_expression "*(byte *)(puVar1 + 3)" * (cast_expression "(byte *)(puVar1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 3)" ( (binary_expression "puVar1 + 3" identifier + number_literal) )))) & number_literal) )))) ;) (expression_statement "printf(" %-7s",uVar5);" (call_expression "printf(" %-7s",uVar5)" identifier (argument_list "(" %-7s",uVar5)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (expression_statement "uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);" (assignment_expression "uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4)" identifier = (call_expression "FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4)" identifier (argument_list "(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) , (binary_expression "*(byte *)(puVar1 + 3) >> 4" (pointer_expression "*(byte *)(puVar1 + 3)" * (cast_expression "(byte *)(puVar1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 3)" ( (binary_expression "puVar1 + 3" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "printf(" %-6s",uVar5);" (call_expression "printf(" %-6s",uVar5)" identifier (argument_list "(" %-6s",uVar5)" ( (string_literal "" %-6s"" " string_content ") , identifier ))) ;) (if_statement "if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x1f) == '\x06')" ( (binary_expression "*(char *)(param_1 + 0x1f) == '\x06'" (pointer_expression "*(char *)(param_1 + 0x1f)" * (cast_expression "(char *)(param_1 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f)" ( (binary_expression "param_1 + 0x1f" identifier + number_literal) )))) == (char_literal "'\x06'" ' escape_sequence ')) )) (compound_statement "{\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }" { (expression_statement "uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));" (assignment_expression "uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19))" identifier = (call_expression "FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19))" identifier (argument_list "(*(undefined1 *)((long)puVar1 + 0x19))" ( (pointer_expression "*(undefined1 *)((long)puVar1 + 0x19)" * (cast_expression "(undefined1 *)((long)puVar1 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar1 + 0x19)" ( (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )))) ;) (expression_statement "printf(" %-7s",uVar5);" (call_expression "printf(" %-7s",uVar5)" identifier (argument_list "(" %-7s",uVar5)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) }) (else_clause "else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }" else (compound_statement "{\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }" { (expression_statement "bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;" (assignment_expression "bVar6 = *(byte *)((long)puVar1 + 0x19) & 3" identifier = (binary_expression "*(byte *)((long)puVar1 + 0x19) & 3" (pointer_expression "*(byte *)((long)puVar1 + 0x19)" * (cast_expression "(byte *)((long)puVar1 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar1 + 0x19)" ( (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "uVar5 = FUN_001141e0(bVar6);" (assignment_expression "uVar5 = FUN_001141e0(bVar6)" identifier = (call_expression "FUN_001141e0(bVar6)" identifier (argument_list "(bVar6)" ( identifier )))) ;) (expression_statement "printf(" %-7s",uVar5);" (call_expression "printf(" %-7s",uVar5)" identifier (argument_list "(" %-7s",uVar5)" ( (string_literal "" %-7s"" " string_content ") , identifier ))) ;) (if_statement "if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }" if (parenthesized_expression "(*(byte *)((long)puVar1 + 0x19) != bVar6)" ( (binary_expression "*(byte *)((long)puVar1 + 0x19) != bVar6" (pointer_expression "*(byte *)((long)puVar1 + 0x19)" * (cast_expression "(byte *)((long)puVar1 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar1 + 0x19)" ( (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }" { (expression_statement "uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);" (assignment_expression "uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6)" identifier = (call_expression "FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6)" identifier (argument_list "(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6)" ( identifier , (binary_expression "*(byte *)((long)puVar1 + 0x19) ^ bVar6" (pointer_expression "*(byte *)((long)puVar1 + 0x19)" * (cast_expression "(byte *)((long)puVar1 + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar1 + 0x19)" ( (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ^ identifier) )))) ;) (expression_statement "printf(" [%s] ",uVar5);" (call_expression "printf(" [%s] ",uVar5)" identifier (argument_list "(" [%s] ",uVar5)" ( (string_literal "" [%s] "" " string_content ") , identifier ))) ;) })) }))) (expression_statement "uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));" (assignment_expression "uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c))" identifier = (call_expression "FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c))" identifier (argument_list "(param_1,*(undefined4 *)((long)puVar1 + 0x1c))" ( identifier , (pointer_expression "*(undefined4 *)((long)puVar1 + 0x1c)" * (cast_expression "(undefined4 *)((long)puVar1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar1 + 0x1c)" ( (binary_expression "(long)puVar1 + 0x1c" (cast_expression "(long)puVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) )))) ;) (expression_statement "printf(" %3.3s ",uVar5);" (call_expression "printf(" %3.3s ",uVar5)" identifier (argument_list "(" %3.3s ",uVar5)" ( (string_literal "" %3.3s "" " string_content ") , identifier ))) ;) (expression_statement "uVar2 = puVar1[2];" (assignment_expression "uVar2 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (if_statement "if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }" if (parenthesized_expression "((DAT_00194690 == 0) || (DAT_00194688 <= uVar2))" ( (binary_expression "(DAT_00194690 == 0) || (DAT_00194688 <= uVar2)" (parenthesized_expression "(DAT_00194690 == 0)" ( (binary_expression "DAT_00194690 == 0" identifier == number_literal) )) || (parenthesized_expression "(DAT_00194688 <= uVar2)" ( (binary_expression "DAT_00194688 <= uVar2" identifier <= identifier) ))) )) (compound_statement "{\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }" { (expression_statement "pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5)" identifier = (cast_expression "(char *)dcgettext(0," <corrupt: %14ld>",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," <corrupt: %14ld>",5)" identifier (argument_list "(0," <corrupt: %14ld>",5)" ( number_literal , (string_literal "" <corrupt: %14ld>"" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,uVar2);" (call_expression "printf(pcVar4,uVar2)" identifier (argument_list "(pcVar4,uVar2)" ( identifier , identifier ))) ;) }) (else_clause "else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }" else (compound_statement "{\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }" { (expression_statement "FUN_001122a0(0x19,DAT_00194690 + uVar2);" (call_expression "FUN_001122a0(0x19,DAT_00194690 + uVar2)" identifier (argument_list "(0x19,DAT_00194690 + uVar2)" ( number_literal , (binary_expression "DAT_00194690 + uVar2" identifier + identifier) ))) ;) }))) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" identifier (argument_list "(10,stdout)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" identifier (argument_list "(0,"<No info available for dynamic symbol number %lu>\n",5)" ( number_literal , (string_literal ""<No info available for dynamic symbol number %lu>\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,param_2);" (call_expression "printf(pcVar4,param_2)" identifier (argument_list "(pcVar4,param_2)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression & IDENT) + IDENT) , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ^ IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + IDENT) ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00122f40(long param_1,ulong param_2,undefined8 param_3)\n\n{\n  undefined8 *puVar1;\n  ulong uVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  \n  iVar3 = FUN_001116b0(param_2,2);\n  if (iVar3 < 5) {\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }\n  printf(" %3lu: ",param_3);\n  if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);\n  printf(pcVar4,param_2);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00122f40(long param_1,ulong param_2,undefined8 param_3)" (identifier "FUN_00122f40") (parameter_list "(long param_1,ulong param_2,undefined8 param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "ulong param_2" (type_identifier "ulong") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) () ")"))) (compound_statement "{\n  undefined8 *puVar1;\n  ulong uVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined8 uVar5;\n  byte bVar6;\n  \n  iVar3 = FUN_001116b0(param_2,2);\n  if (iVar3 < 5) {\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }\n  printf(" %3lu: ",param_3);\n  if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }\n  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);\n  printf(pcVar4,param_2);\n  return;\n}" ({ "{") (declaration "undefined8 *puVar1;" (type_identifier "undefined8") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "ulong uVar2;" (type_identifier "ulong") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "byte bVar6;" (type_identifier "byte") (identifier "bVar6") (; ";")) (expression_statement "iVar3 = FUN_001116b0(param_2,2);" (assignment_expression "iVar3 = FUN_001116b0(param_2,2)" (identifier "iVar3") (= "=") (call_expression "FUN_001116b0(param_2,2)" (identifier "FUN_001116b0") (argument_list "(param_2,2)" (( "(") (identifier "param_2") (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if (iVar3 < 5) {\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }" (if "if") (parenthesized_expression "(iVar3 < 5)" (( "(") (binary_expression "iVar3 < 5" (identifier "iVar3") (< "<") (number_literal "5")) () ")")) (compound_statement "{\n    fputs(&DAT_0016a393 + iVar3,stdout);\n  }" ({ "{") (expression_statement "fputs(&DAT_0016a393 + iVar3,stdout);" (call_expression "fputs(&DAT_0016a393 + iVar3,stdout)" (identifier "fputs") (argument_list "(&DAT_0016a393 + iVar3,stdout)" (( "(") (binary_expression "&DAT_0016a393 + iVar3" (pointer_expression "&DAT_0016a393" (& "&") (identifier "DAT_0016a393")) (+ "+") (identifier "iVar3")) (, ",") (identifier "stdout") () ")"))) (; ";")) (} "}"))) (expression_statement "printf(" %3lu: ",param_3);" (call_expression "printf(" %3lu: ",param_3)" (identifier "printf") (argument_list "(" %3lu: ",param_3)" (( "(") (string_literal "" %3lu: "" (" """) (string_content " %3lu: ") (" """)) (, ",") (identifier "param_3") () ")"))) (; ";")) (if_statement "if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }" (if "if") (parenthesized_expression "((DAT_00194678 != 0) && (param_2 < DAT_00194680))" (( "(") (binary_expression "(DAT_00194678 != 0) && (param_2 < DAT_00194680)" (parenthesized_expression "(DAT_00194678 != 0)" (( "(") (binary_expression "DAT_00194678 != 0" (identifier "DAT_00194678") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(param_2 < DAT_00194680)" (( "(") (binary_expression "param_2 < DAT_00194680" (identifier "param_2") (< "<") (identifier "DAT_00194680")) () ")"))) () ")")) (compound_statement "{\n    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);\n    FUN_001116b0(*puVar1,6);\n    putc(0x20,stdout);\n    FUN_001116b0(puVar1[1],2);\n    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);\n    printf(" %-7s",uVar5);\n    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);\n    printf(" %-6s",uVar5);\n    if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }\n    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));\n    printf(" %3.3s ",uVar5);\n    uVar2 = puVar1[2];\n    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }\n    putc(10,stdout);\n    return;\n  }" ({ "{") (expression_statement "puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);" (assignment_expression "puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20)" (identifier "puVar1") (= "=") (cast_expression "(undefined8 *)(DAT_00194678 + param_2 * 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00194678 + param_2 * 0x20)" (( "(") (binary_expression "DAT_00194678 + param_2 * 0x20" (identifier "DAT_00194678") (+ "+") (binary_expression "param_2 * 0x20" (identifier "param_2") (* "*") (number_literal "0x20"))) () ")")))) (; ";")) (expression_statement "FUN_001116b0(*puVar1,6);" (call_expression "FUN_001116b0(*puVar1,6)" (identifier "FUN_001116b0") (argument_list "(*puVar1,6)" (( "(") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (, ",") (number_literal "6") () ")"))) (; ";")) (expression_statement "putc(0x20,stdout);" (call_expression "putc(0x20,stdout)" (identifier "putc") (argument_list "(0x20,stdout)" (( "(") (number_literal "0x20") (, ",") (identifier "stdout") () ")"))) (; ";")) (expression_statement "FUN_001116b0(puVar1[1],2);" (call_expression "FUN_001116b0(puVar1[1],2)" (identifier "FUN_001116b0") (argument_list "(puVar1[1],2)" (( "(") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "2") () ")"))) (; ";")) (expression_statement "uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);" (assignment_expression "uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf)" (identifier "uVar5") (= "=") (call_expression "FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf)" (identifier "FUN_001171e0") (argument_list "(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) (, ",") (binary_expression "param_1 + 0x52" (identifier "param_1") (+ "+") (number_literal "0x52")) (, ",") (binary_expression "*(byte *)(puVar1 + 3) & 0xf" (pointer_expression "*(byte *)(puVar1 + 3)" (* "*") (cast_expression "(byte *)(puVar1 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 3)" (( "(") (binary_expression "puVar1 + 3" (identifier "puVar1") (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0xf")) () ")")))) (; ";")) (expression_statement "printf(" %-7s",uVar5);" (call_expression "printf(" %-7s",uVar5)" (identifier "printf") (argument_list "(" %-7s",uVar5)" (( "(") (string_literal "" %-7s"" (" """) (string_content " %-7s") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);" (assignment_expression "uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4)" (identifier "uVar5") (= "=") (call_expression "FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4)" (identifier "FUN_00118b60") (argument_list "(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) (, ",") (binary_expression "*(byte *)(puVar1 + 3) >> 4" (pointer_expression "*(byte *)(puVar1 + 3)" (* "*") (cast_expression "(byte *)(puVar1 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 3)" (( "(") (binary_expression "puVar1 + 3" (identifier "puVar1") (+ "+") (number_literal "3")) () ")")))) (>> ">>") (number_literal "4")) () ")")))) (; ";")) (expression_statement "printf(" %-6s",uVar5);" (call_expression "printf(" %-6s",uVar5)" (identifier "printf") (argument_list "(" %-6s",uVar5)" (( "(") (string_literal "" %-6s"" (" """) (string_content " %-6s") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (if_statement "if (*(char *)(param_1 + 0x1f) == '\x06') {\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }\n    else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x1f) == '\x06')" (( "(") (binary_expression "*(char *)(param_1 + 0x1f) == '\x06'" (pointer_expression "*(char *)(param_1 + 0x1f)" (* "*") (cast_expression "(char *)(param_1 + 0x1f)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f)" (( "(") (binary_expression "param_1 + 0x1f" (identifier "param_1") (+ "+") (number_literal "0x1f")) () ")")))) (== "==") (char_literal "'\x06'" (' "'") (escape_sequence "\x06") (' "'"))) () ")")) (compound_statement "{\n      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));\n      printf(" %-7s",uVar5);\n    }" ({ "{") (expression_statement "uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));" (assignment_expression "uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19))" (identifier "uVar5") (= "=") (call_expression "FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19))" (identifier "FUN_00114270") (argument_list "(*(undefined1 *)((long)puVar1 + 0x19))" (( "(") (pointer_expression "*(undefined1 *)((long)puVar1 + 0x19)" (* "*") (cast_expression "(undefined1 *)((long)puVar1 + 0x19)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar1 + 0x19)" (( "(") (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar1")) (+ "+") (number_literal "0x19")) () ")")))) () ")")))) (; ";")) (expression_statement "printf(" %-7s",uVar5);" (call_expression "printf(" %-7s",uVar5)" (identifier "printf") (argument_list "(" %-7s",uVar5)" (( "(") (string_literal "" %-7s"" (" """) (string_content " %-7s") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }" (else "else") (compound_statement "{\n      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;\n      uVar5 = FUN_001141e0(bVar6);\n      printf(" %-7s",uVar5);\n      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }\n    }" ({ "{") (expression_statement "bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;" (assignment_expression "bVar6 = *(byte *)((long)puVar1 + 0x19) & 3" (identifier "bVar6") (= "=") (binary_expression "*(byte *)((long)puVar1 + 0x19) & 3" (pointer_expression "*(byte *)((long)puVar1 + 0x19)" (* "*") (cast_expression "(byte *)((long)puVar1 + 0x19)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar1 + 0x19)" (( "(") (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar1")) (+ "+") (number_literal "0x19")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "uVar5 = FUN_001141e0(bVar6);" (assignment_expression "uVar5 = FUN_001141e0(bVar6)" (identifier "uVar5") (= "=") (call_expression "FUN_001141e0(bVar6)" (identifier "FUN_001141e0") (argument_list "(bVar6)" (( "(") (identifier "bVar6") () ")")))) (; ";")) (expression_statement "printf(" %-7s",uVar5);" (call_expression "printf(" %-7s",uVar5)" (identifier "printf") (argument_list "(" %-7s",uVar5)" (( "(") (string_literal "" %-7s"" (" """) (string_content " %-7s") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (if_statement "if (*(byte *)((long)puVar1 + 0x19) != bVar6) {\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }" (if "if") (parenthesized_expression "(*(byte *)((long)puVar1 + 0x19) != bVar6)" (( "(") (binary_expression "*(byte *)((long)puVar1 + 0x19) != bVar6" (pointer_expression "*(byte *)((long)puVar1 + 0x19)" (* "*") (cast_expression "(byte *)((long)puVar1 + 0x19)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar1 + 0x19)" (( "(") (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar1")) (+ "+") (number_literal "0x19")) () ")")))) (!= "!=") (identifier "bVar6")) () ")")) (compound_statement "{\n        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);\n        printf(" [%s] ",uVar5);\n      }" ({ "{") (expression_statement "uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);" (assignment_expression "uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6)" (identifier "uVar5") (= "=") (call_expression "FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6)" (identifier "FUN_00122cb0") (argument_list "(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6)" (( "(") (identifier "param_1") (, ",") (binary_expression "*(byte *)((long)puVar1 + 0x19) ^ bVar6" (pointer_expression "*(byte *)((long)puVar1 + 0x19)" (* "*") (cast_expression "(byte *)((long)puVar1 + 0x19)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar1 + 0x19)" (( "(") (binary_expression "(long)puVar1 + 0x19" (cast_expression "(long)puVar1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar1")) (+ "+") (number_literal "0x19")) () ")")))) (^ "^") (identifier "bVar6")) () ")")))) (; ";")) (expression_statement "printf(" [%s] ",uVar5);" (call_expression "printf(" [%s] ",uVar5)" (identifier "printf") (argument_list "(" [%s] ",uVar5)" (( "(") (string_literal "" [%s] "" (" """) (string_content " [%s] ") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));" (assignment_expression "uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c))" (identifier "uVar5") (= "=") (call_expression "FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c))" (identifier "FUN_001142e0") (argument_list "(param_1,*(undefined4 *)((long)puVar1 + 0x1c))" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(undefined4 *)((long)puVar1 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((long)puVar1 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar1 + 0x1c)" (( "(") (binary_expression "(long)puVar1 + 0x1c" (cast_expression "(long)puVar1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar1")) (+ "+") (number_literal "0x1c")) () ")")))) () ")")))) (; ";")) (expression_statement "printf(" %3.3s ",uVar5);" (call_expression "printf(" %3.3s ",uVar5)" (identifier "printf") (argument_list "(" %3.3s ",uVar5)" (( "(") (string_literal "" %3.3s "" (" """) (string_content " %3.3s ") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "uVar2 = puVar1[2];" (assignment_expression "uVar2 = puVar1[2]" (identifier "uVar2") (= "=") (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }\n    else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }" (if "if") (parenthesized_expression "((DAT_00194690 == 0) || (DAT_00194688 <= uVar2))" (( "(") (binary_expression "(DAT_00194690 == 0) || (DAT_00194688 <= uVar2)" (parenthesized_expression "(DAT_00194690 == 0)" (( "(") (binary_expression "DAT_00194690 == 0" (identifier "DAT_00194690") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(DAT_00194688 <= uVar2)" (( "(") (binary_expression "DAT_00194688 <= uVar2" (identifier "DAT_00194688") (<= "<=") (identifier "uVar2")) () ")"))) () ")")) (compound_statement "{\n      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);\n      printf(pcVar4,uVar2);\n    }" ({ "{") (expression_statement "pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0," <corrupt: %14ld>",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," <corrupt: %14ld>",5)" (identifier "dcgettext") (argument_list "(0," <corrupt: %14ld>",5)" (( "(") (number_literal "0") (, ",") (string_literal "" <corrupt: %14ld>"" (" """) (string_content " <corrupt: %14ld>") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar4,uVar2);" (call_expression "printf(pcVar4,uVar2)" (identifier "printf") (argument_list "(pcVar4,uVar2)" (( "(") (identifier "pcVar4") (, ",") (identifier "uVar2") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }" (else "else") (compound_statement "{\n      FUN_001122a0(0x19,DAT_00194690 + uVar2);\n    }" ({ "{") (expression_statement "FUN_001122a0(0x19,DAT_00194690 + uVar2);" (call_expression "FUN_001122a0(0x19,DAT_00194690 + uVar2)" (identifier "FUN_001122a0") (argument_list "(0x19,DAT_00194690 + uVar2)" (( "(") (number_literal "0x19") (, ",") (binary_expression "DAT_00194690 + uVar2" (identifier "DAT_00194690") (+ "+") (identifier "uVar2")) () ")"))) (; ";")) (} "}")))) (expression_statement "putc(10,stdout);" (call_expression "putc(10,stdout)" (identifier "putc") (argument_list "(10,stdout)" (( "(") (number_literal "10") (, ",") (identifier "stdout") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5)" (identifier "dcgettext") (argument_list "(0,"<No info available for dynamic symbol number %lu>\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<No info available for dynamic symbol number %lu>\n"" (" """) (string_content "<No info available for dynamic symbol number %lu>") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar4,param_2);" (call_expression "printf(pcVar4,param_2)" (identifier "printf") (argument_list "(pcVar4,param_2)" (( "(") (identifier "pcVar4") (, ",") (identifier "param_2") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *filedata,type_2 var_5,type_3 hn)

{
  type_1 *filedata_00;
  type_4 *pEVar1;
  type_3 var_17;
  type_5 uVar3;
  char *pcVar4;
  type_6 var_12;
  
  uVar3 = var_1(var_5,DEC_5);
  if ((int)uVar3 < 5) {
    var_2(&DAT_0016a393 + (int)uVar3,stdout);
  }
  var_3(" %3lu: ",hn);
  if ((var_4 != (type_4 *)0x0) && (var_5 < var_6)) {
    filedata_00 = (type_1 *)((filedata->file_header).e_ident + 7);
    pEVar1 = var_4 + var_5;
    var_1(pEVar1->st_value,LONG_HEX);
    var_7(0x20,stdout);
    var_1(pEVar1->st_size,DEC_5);
    pcVar4 = var_8(filedata_00,(int)filedata + 0x52,
                             (type_1 *)(type_3)(pEVar1->st_info & 0xf));
    var_3(" %-7s",pcVar4);
    pcVar4 = var_9(filedata_00,(type_5)(pEVar1->st_info >> 4));
    var_3(" %-6s",pcVar4);
    if ((filedata->file_header).e_ident[7] == '\x06') {
      pcVar4 = var_10((type_5)pEVar1->st_other);
      var_3(" %-7s",pcVar4);
    }
    else {
      var_12 = pEVar1->st_other & 3;
      pcVar4 = var_11((type_5)var_12);
      var_3(" %-7s",pcVar4);
      if (pEVar1->st_other != var_12) {
        pcVar4 = var_13(filedata,(type_5)(pEVar1->st_other ^ var_12));
        var_3(" [%s] ",pcVar4);
      }
    }
    pcVar4 = var_14(filedata,pEVar1->st_shndx);
    var_3(" %3.3s ",pcVar4);
    var_17 = pEVar1->st_name;
    if ((var_15 == (char *)0x0) || (var_16 <= var_17)) {
      pcVar4 = (char *)var_18(0," <corrupt: %14ld>",5);
      var_3(pcVar4,var_17);
    }
    else {
      var_19(L'\x19',var_15 + var_17);
    }
    var_7(10,stdout);
    return;
  }
  pcVar4 = (char *)var_18(0,"<No info available for dynamic symbol number %lu>\n",5);
  var_3(pcVar4,var_5);
  return;
}


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

void MASKED(long param_1,ulong param_2,undefined8 param_3)

{
  undefined8 *puVar1;
  ulong uVar2;
  int iVar3;
  char *pcVar4;
  undefined8 uVar5;
  byte bVar6;
  
  iVar3 = FUN_001116b0(param_2,2);
  if (iVar3 < 5) {
    fputs(&DAT_0016a393 + iVar3,stdout);
  }
  printf(" %3lu: ",param_3);
  if ((DAT_00194678 != 0) && (param_2 < DAT_00194680)) {
    puVar1 = (undefined8 *)(DAT_00194678 + param_2 * 0x20);
    FUN_001116b0(*puVar1,6);
    putc(0x20,stdout);
    FUN_001116b0(puVar1[1],2);
    uVar5 = FUN_001171e0(param_1 + 0x1f,param_1 + 0x52,*(byte *)(puVar1 + 3) & 0xf);
    printf(" %-7s",uVar5);
    uVar5 = FUN_00118b60(param_1 + 0x1f,*(byte *)(puVar1 + 3) >> 4);
    printf(" %-6s",uVar5);
    if (*(char *)(param_1 + 0x1f) == '\x06') {
      uVar5 = FUN_00114270(*(undefined1 *)((long)puVar1 + 0x19));
      printf(" %-7s",uVar5);
    }
    else {
      bVar6 = *(byte *)((long)puVar1 + 0x19) & 3;
      uVar5 = FUN_001141e0(bVar6);
      printf(" %-7s",uVar5);
      if (*(byte *)((long)puVar1 + 0x19) != bVar6) {
        uVar5 = FUN_00122cb0(param_1,*(byte *)((long)puVar1 + 0x19) ^ bVar6);
        printf(" [%s] ",uVar5);
      }
    }
    uVar5 = FUN_001142e0(param_1,*(undefined4 *)((long)puVar1 + 0x1c));
    printf(" %3.3s ",uVar5);
    uVar2 = puVar1[2];
    if ((DAT_00194690 == 0) || (DAT_00194688 <= uVar2)) {
      pcVar4 = (char *)dcgettext(0," <corrupt: %14ld>",5);
      printf(pcVar4,uVar2);
    }
    else {
      FUN_001122a0(0x19,DAT_00194690 + uVar2);
    }
    putc(10,stdout);
    return;
  }
  pcVar4 = (char *)dcgettext(0,"<No info available for dynamic symbol number %lu>\n",5);
  printf(pcVar4,param_2);
  return;
}

