
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void process(Command_line * this, int argc, char * * argv) */

void __thiscall gold::Command_line::process(Command_line *this,int argc,char **argv)

{
  char *pcVar1;
  Object_format OVar2;
  size_t sVar3;
  char **__format;
  char *pcVar4;
  FILE *pFVar5;
  int iVar6;
  bool no_more_options;
  Input_file_argument file;
  
  no_more_options = false;
  if (0 < argc) {
    iVar6 = 0;
    do {
      while( true ) {
        pcVar1 = (this->options_).format_.value;
        (this->position_options_).as_needed_ = (this->options_).as_needed_.value;
        (this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;
        OVar2 = General_options::string_to_object_format(pcVar1);
        (this->position_options_).format_enum_ = OVar2;
        (this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;
        (this->position_options_).incremental_disposition_ =
             (this->options_).incremental_disposition_;
        pcVar1 = argv[iVar6];
        if (no_more_options == false) break;
        file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;
        pcVar4 = (char *)0xffffffffffffffff;
        if (pcVar1 != (char *)0x0) {
LAB_001f144a:
          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;
          sVar3 = strlen(pcVar1);
          pcVar4 = pcVar1 + sVar3;
        }
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char_const*>(&file.name_,pcVar1,pcVar4);
        file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;
        file.type_ = INPUT_FILE_TYPE_FILE;
                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char_const*>(&file.extra_search_path_,"");
        file.options_.as_needed_ = (this->position_options_).as_needed_;
        file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;
        file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2;
        file.options_.format_enum_ = (this->position_options_).format_enum_;
        file.options_.whole_archive_ = (this->position_options_).whole_archive_;
        file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9;
        file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;
        file.just_symbols_ = false;
        file.arg_serial_ = 0;
                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */
        Input_arguments::add_file(&this->inputs_,&file);
        iVar6 = iVar6 + 1;
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {
          operator_delete(file.extra_search_path_._M_dataplus._M_p);
        }
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {
          operator_delete(file.name_._M_dataplus._M_p);
        }
        if (argc <= iVar6) goto LAB_001f1588;
      }
      if (*pcVar1 != '-') goto LAB_001f144a;
      iVar6 = process_one_option(this,argc,argv,iVar6,&no_more_options);
    } while (iVar6 < argc);
  }
LAB_001f1588:
  pcVar1 = program_name;
  if ((this->inputs_).in_group_ == false) {
    if ((this->inputs_).in_lib_ == false) {
      General_options::finalize(&this->options_);
      return;
    }
  }
  else {
    pcVar4 = (char *)gettext("%s: missing group end\n");
    fprintf(stderr,pcVar4,pcVar1);
    anon_unknown.dwarf_b246f7::usage();
  }
  pcVar1 = program_name;
  __format = (char **)gettext("%s: missing lib end\n");
  pFVar5 = stderr;
  fprintf(stderr,(char *)__format,pcVar1);
  iVar6 = (int)pFVar5;
  anon_unknown.dwarf_b246f7::usage();
                    /* catch() { ... } // from try @ 001f14aa with catch @ 001f160d */
  process(iVar6,__format);
  return;
}



void FUN_001f13f0(long param_1,int param_2,long param_3)

{
  undefined8 uVar1;
  undefined4 uVar2;
  size_t sVar3;
  char *pcVar4;
  char *pcVar5;
  int iVar6;
  char local_99;
  undefined1 *local_98 [2];
  undefined1 local_88 [16];
  undefined4 local_78;
  undefined1 *local_70 [2];
  undefined1 local_60 [16];
  undefined1 local_50;
  undefined8 local_4c;
  undefined8 uStack_44;
  undefined4 local_3c;
  
  local_99 = '\0';
  if (0 < param_2) {
    iVar6 = 0;
    do {
      while( true ) {
        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);
        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);
        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));
        *(undefined4 *)(param_1 + 0x92dc) = uVar2;
        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);
        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);
        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);
        if (local_99 == '\0') break;
        local_98[0] = local_88;
        pcVar5 = (char *)0xffffffffffffffff;
        if (pcVar4 != (char *)0x0) {
LAB_001f144a:
          local_98[0] = local_88;
          sVar3 = strlen(pcVar4);
          pcVar5 = pcVar4 + sVar3;
        }
        FUN_001665c0(local_98,pcVar4,pcVar5);
        local_70[0] = local_60;
        local_78 = 0;
                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */
        FUN_001665c0(local_70,"");
        local_4c = *(undefined8 *)(param_1 + 0x92d8);
        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);
        local_50 = 0;
        local_3c = 0;
                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */
        FUN_001e6fb0(param_1 + 38000,local_98);
        iVar6 = iVar6 + 1;
        if (local_70[0] != local_60) {
          FUN_002dac70();
        }
        if (local_98[0] != local_88) {
          FUN_002dac70();
        }
        if (param_2 <= iVar6) goto LAB_001f1588;
      }
      if (*pcVar4 != '-') goto LAB_001f144a;
      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);
    } while (iVar6 < param_2);
  }
LAB_001f1588:
  uVar1 = DAT_0043e8e8;
  if (*(char *)(param_1 + 0x9488) == '\0') {
    if (*(char *)(param_1 + 0x9489) == '\0') {
      FUN_001f00b0(param_1 + 8);
      return;
    }
  }
  else {
    pcVar4 = (char *)gettext("%s: missing group end\n");
    fprintf(stderr,pcVar4,uVar1);
    FUN_001e5430();
  }
  uVar1 = DAT_0043e8e8;
  pcVar4 = (char *)gettext("%s: missing lib end\n");
  fprintf(stderr,pcVar4,uVar1);
  FUN_001e5430();
                    /* catch() { ... } // from try @ 001f14aa with catch @ 001f160d */
  FUN_0014c754();
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
MOV RBX,RDI
SUB RSP,0x88
MOV byte ptr [RSP + 0x1f],0x0
TEST ESI,ESI
JLE 0x001f1588
LEA RAX,[RSP + 0x1f]
MOV R13D,ESI
MOV R14,RDX
XOR R12D,R12D
LEA R15,[RDI + 0x9470]
LEA RBP,[RSP + 0x20]
MOV qword ptr [RSP + 0x8],RAX
JMP 0x001f14e2
CMP byte ptr [RSI],0x2d
JZ 0x001f1560
LEA RAX,[RBP + 0x10]
MOV qword ptr [RSP + 0x20],RAX
MOV RDI,RSI
MOV qword ptr [RSP],RSI
CALL 0x00147490
MOV RSI,qword ptr [RSP]
LEA RDX,[RSI + RAX*0x1]
MOV RDI,RBP
CALL 0x001665c0
LEA RDX,[0x38b016]
LEA RAX,[RBP + 0x38]
MOV dword ptr [RSP + 0x40],0x0
LEA RDI,[RBP + 0x28]
MOV RSI,RDX
MOV qword ptr [RSP + 0x48],RAX
CALL 0x001665c0
MOVDQU XMM0,xmmword ptr [RBX + 0x92d8]
MOV RSI,RBP
MOV RDI,R15
MOV byte ptr [RSP + 0x68],0x0
MOV dword ptr [RSP + 0x7c],0x0
MOVUPS xmmword ptr [RSP + 0x6c],XMM0
CALL 0x001e6fb0
MOV RDI,qword ptr [RSP + 0x48]
LEA RAX,[RBP + 0x38]
ADD R12D,0x1
CMP RDI,RAX
JZ 0x001f14c6
CALL 0x002dac70
MOV RDI,qword ptr [RSP + 0x20]
LEA RAX,[RBP + 0x10]
CMP RDI,RAX
JZ 0x001f14d9
CALL 0x002dac70
CMP R12D,R13D
JGE 0x001f1588
MOVZX EAX,byte ptr [RBX + 0x4d1]
MOV RDI,qword ptr [RBX + 0x610]
MOV byte ptr [RBX + 0x92d8],AL
MOVZX EAX,byte ptr [RBX + 0x891]
MOV byte ptr [RBX + 0x92d9],AL
CALL 0x001e5d80
CMP byte ptr [RSP + 0x1f],0x0
MOV dword ptr [RBX + 0x92dc],EAX
MOVZX EAX,byte ptr [RBX + 0x7809]
MOV byte ptr [RBX + 0x92e0],AL
MOV EAX,dword ptr [RBX + 0x91f8]
MOV dword ptr [RBX + 0x92e4],EAX
MOVSXD RAX,R12D
LEA RAX,[R14 + RAX*0x8]
MOV RSI,qword ptr [RAX]
JZ 0x001f1438
LEA RAX,[RBP + 0x10]
MOV RDX,-0x1
MOV qword ptr [RSP + 0x20],RAX
TEST RSI,RSI
JZ 0x001f145e
JMP 0x001f144a
MOV R8,qword ptr [RSP + 0x8]
MOV ECX,R12D
MOV RDX,R14
MOV ESI,R13D
MOV RDI,RBX
CALL 0x001ef8d0
MOV R12D,EAX
CMP R12D,R13D
JL 0x001f14e2
NOP word ptr [RAX + RAX*0x1]
CMP byte ptr [RBX + 0x9488],0x0
JNZ 0x001f15b5
CMP byte ptr [RBX + 0x9489],0x0
JNZ 0x001f15e1
LEA RDI,[RBX + 0x8]
CALL 0x001f00b0
ADD RSP,0x88
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RBX,qword ptr [0x0043e8e8]
LEA RDI,[0x37af81]
CALL 0x00147320
MOV RDI,qword ptr [0x0043e860]
MOV RSI,RAX
MOV RDX,RBX
XOR EAX,EAX
CALL 0x00147a00
CALL 0x001e5430
MOV RBX,qword ptr [0x0043e8e8]
LEA RDI,[0x37af98]
CALL 0x00147320
MOV RDI,qword ptr [0x0043e860]
MOV RSI,RAX
MOV RDX,RBX
XOR EAX,EAX
CALL 0x00147a00
CALL 0x001e5430
MOV RBX,RAX
JMP 0x0014c754
(translation_unit "void FUN_001f13f0(long param_1,int param_2,long param_3)\n\n{\n  undefined8 uVar1;\n  undefined4 uVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char *pcVar5;\n  int iVar6;\n  char local_99;\n  undefined1 *local_98 [2];\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70 [2];\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  local_99 = '\0';\n  if (0 < param_2) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }\nLAB_001f1588:\n  uVar1 = DAT_0043e8e8;\n  if (*(char *)(param_1 + 0x9488) == '\0') {\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }\n  uVar1 = DAT_0043e8e8;\n  pcVar4 = (char *)gettext("%s: missing lib end\n");\n  fprintf(stderr,pcVar4,uVar1);\n  FUN_001e5430();\n                    /* catch() { ... } // from try @ 001f14aa with catch @ 001f160d */\n  FUN_0014c754();\n  return;\n}\n\n" (function_definition "void FUN_001f13f0(long param_1,int param_2,long param_3)\n\n{\n  undefined8 uVar1;\n  undefined4 uVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char *pcVar5;\n  int iVar6;\n  char local_99;\n  undefined1 *local_98 [2];\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70 [2];\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  local_99 = '\0';\n  if (0 < param_2) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }\nLAB_001f1588:\n  uVar1 = DAT_0043e8e8;\n  if (*(char *)(param_1 + 0x9488) == '\0') {\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }\n  uVar1 = DAT_0043e8e8;\n  pcVar4 = (char *)gettext("%s: missing lib end\n");\n  fprintf(stderr,pcVar4,uVar1);\n  FUN_001e5430();\n                    /* catch() { ... } // from try @ 001f14aa with catch @ 001f160d */\n  FUN_0014c754();\n  return;\n}" primitive_type (function_declarator "FUN_001f13f0(long param_1,int param_2,long param_3)" identifier (parameter_list "(long param_1,int param_2,long param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined4 uVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char *pcVar5;\n  int iVar6;\n  char local_99;\n  undefined1 *local_98 [2];\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70 [2];\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  local_99 = '\0';\n  if (0 < param_2) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }\nLAB_001f1588:\n  uVar1 = DAT_0043e8e8;\n  if (*(char *)(param_1 + 0x9488) == '\0') {\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }\n  uVar1 = DAT_0043e8e8;\n  pcVar4 = (char *)gettext("%s: missing lib end\n");\n  fprintf(stderr,pcVar4,uVar1);\n  FUN_001e5430();\n                    /* catch() { ... } // from try @ 001f14aa with catch @ 001f160d */\n  FUN_0014c754();\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char local_99;" primitive_type identifier ;) (declaration "undefined1 *local_98 [2];" type_identifier (pointer_declarator "*local_98 [2]" * (array_declarator "local_98 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_88 [16];" type_identifier (array_declarator "local_88 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_78;" type_identifier identifier ;) (declaration "undefined1 *local_70 [2];" type_identifier (pointer_declarator "*local_70 [2]" * (array_declarator "local_70 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_60 [16];" type_identifier (array_declarator "local_60 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_50;" type_identifier identifier ;) (declaration "undefined8 local_4c;" type_identifier identifier ;) (declaration "undefined8 uStack_44;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (expression_statement "local_99 = '\0';" (assignment_expression "local_99 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0 < param_2) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }" if (parenthesized_expression "(0 < param_2)" ( (binary_expression "0 < param_2" number_literal < identifier) )) (compound_statement "{\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);" do (compound_statement "{\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    }" { (while_statement "while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }" { (expression_statement "*(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);" (assignment_expression "*(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1)" (pointer_expression "*(undefined1 *)(param_1 + 0x92d8)" * (cast_expression "(undefined1 *)(param_1 + 0x92d8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92d8)" ( (binary_expression "param_1 + 0x92d8" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(param_1 + 0x4d1)" * (cast_expression "(undefined1 *)(param_1 + 0x4d1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4d1)" ( (binary_expression "param_1 + 0x4d1" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);" (assignment_expression "*(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891)" (pointer_expression "*(undefined1 *)(param_1 + 0x92d9)" * (cast_expression "(undefined1 *)(param_1 + 0x92d9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92d9)" ( (binary_expression "param_1 + 0x92d9" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(param_1 + 0x891)" * (cast_expression "(undefined1 *)(param_1 + 0x891)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x891)" ( (binary_expression "param_1 + 0x891" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));" (assignment_expression "uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610))" identifier = (call_expression "FUN_001e5d80(*(undefined8 *)(param_1 + 0x610))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x610))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x610)" * (cast_expression "(undefined8 *)(param_1 + 0x610)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x610)" ( (binary_expression "param_1 + 0x610" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x92dc) = uVar2;" (assignment_expression "*(undefined4 *)(param_1 + 0x92dc) = uVar2" (pointer_expression "*(undefined4 *)(param_1 + 0x92dc)" * (cast_expression "(undefined4 *)(param_1 + 0x92dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92dc)" ( (binary_expression "param_1 + 0x92dc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);" (assignment_expression "*(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809)" (pointer_expression "*(undefined1 *)(param_1 + 0x92e0)" * (cast_expression "(undefined1 *)(param_1 + 0x92e0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92e0)" ( (binary_expression "param_1 + 0x92e0" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(param_1 + 0x7809)" * (cast_expression "(undefined1 *)(param_1 + 0x7809)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7809)" ( (binary_expression "param_1 + 0x7809" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);" (assignment_expression "*(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8)" (pointer_expression "*(undefined4 *)(param_1 + 0x92e4)" * (cast_expression "(undefined4 *)(param_1 + 0x92e4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92e4)" ( (binary_expression "param_1 + 0x92e4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x91f8)" * (cast_expression "(undefined4 *)(param_1 + 0x91f8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x91f8)" ( (binary_expression "param_1 + 0x91f8" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);" (assignment_expression "pcVar4 = *(char **)(param_3 + (long)iVar6 * 8)" identifier = (pointer_expression "*(char **)(param_3 + (long)iVar6 * 8)" * (cast_expression "(char **)(param_3 + (long)iVar6 * 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + (long)iVar6 * 8)" ( (binary_expression "param_3 + (long)iVar6 * 8" identifier + (binary_expression "(long)iVar6 * 8" (cast_expression "(long)iVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) ))))) ;) (if_statement "if (local_99 == '\0') break;" if (parenthesized_expression "(local_99 == '\0')" ( (binary_expression "local_99 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "local_98[0] = local_88;" (assignment_expression "local_98[0] = local_88" (subscript_expression "local_98[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar5 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar5 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }" if (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }" { (labeled_statement "LAB_001f144a:\n          local_98[0] = local_88;" statement_identifier : (expression_statement "local_98[0] = local_88;" (assignment_expression "local_98[0] = local_88" (subscript_expression "local_98[0]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "sVar3 = strlen(pcVar4);" (assignment_expression "sVar3 = strlen(pcVar4)" identifier = (call_expression "strlen(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier )))) ;) (expression_statement "pcVar5 = pcVar4 + sVar3;" (assignment_expression "pcVar5 = pcVar4 + sVar3" identifier = (binary_expression "pcVar4 + sVar3" identifier + identifier)) ;) })) (expression_statement "FUN_001665c0(local_98,pcVar4,pcVar5);" (call_expression "FUN_001665c0(local_98,pcVar4,pcVar5)" identifier (argument_list "(local_98,pcVar4,pcVar5)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_70[0] = local_60;" (assignment_expression "local_70[0] = local_60" (subscript_expression "local_70[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) comment (expression_statement "FUN_001665c0(local_70,"");" (call_expression "FUN_001665c0(local_70,"")" identifier (argument_list "(local_70,"")" ( identifier , (string_literal """" " ") ))) ;) (expression_statement "local_4c = *(undefined8 *)(param_1 + 0x92d8);" (assignment_expression "local_4c = *(undefined8 *)(param_1 + 0x92d8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x92d8)" * (cast_expression "(undefined8 *)(param_1 + 0x92d8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92d8)" ( (binary_expression "param_1 + 0x92d8" identifier + number_literal) ))))) ;) (expression_statement "uStack_44 = *(undefined8 *)(param_1 + 0x92e0);" (assignment_expression "uStack_44 = *(undefined8 *)(param_1 + 0x92e0)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x92e0)" * (cast_expression "(undefined8 *)(param_1 + 0x92e0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92e0)" ( (binary_expression "param_1 + 0x92e0" identifier + number_literal) ))))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) comment (expression_statement "FUN_001e6fb0(param_1 + 38000,local_98);" (call_expression "FUN_001e6fb0(param_1 + 38000,local_98)" identifier (argument_list "(param_1 + 38000,local_98)" ( (binary_expression "param_1 + 38000" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }" if (parenthesized_expression "(local_70[0] != local_60)" ( (binary_expression "local_70[0] != local_60" (subscript_expression "local_70[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          FUN_002dac70();\n        }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }" if (parenthesized_expression "(local_98[0] != local_88)" ( (binary_expression "local_98[0] != local_88" (subscript_expression "local_98[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          FUN_002dac70();\n        }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (param_2 <= iVar6) goto LAB_001f1588;" if (parenthesized_expression "(param_2 <= iVar6)" ( (binary_expression "param_2 <= iVar6" identifier <= identifier) )) (goto_statement "goto LAB_001f1588;" goto statement_identifier ;)) })) (if_statement "if (*pcVar4 != '-') goto LAB_001f144a;" if (parenthesized_expression "(*pcVar4 != '-')" ( (binary_expression "*pcVar4 != '-'" (pointer_expression "*pcVar4" * identifier) != (char_literal "'-'" ' character ')) )) (goto_statement "goto LAB_001f144a;" goto statement_identifier ;)) (expression_statement "iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);" (assignment_expression "iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99)" identifier = (call_expression "FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99)" identifier (argument_list "(param_1,param_2,param_3,iVar6,&local_99)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_99" & identifier) )))) ;) }) while (parenthesized_expression "(iVar6 < param_2)" ( (binary_expression "iVar6 < param_2" identifier < identifier) )) ;) })) (labeled_statement "LAB_001f1588:\n  uVar1 = DAT_0043e8e8;" statement_identifier : (expression_statement "uVar1 = DAT_0043e8e8;" (assignment_expression "uVar1 = DAT_0043e8e8" identifier = identifier) ;)) (if_statement "if (*(char *)(param_1 + 0x9488) == '\0') {\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x9488) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x9488) == '\0'" (pointer_expression "*(char *)(param_1 + 0x9488)" * (cast_expression "(char *)(param_1 + 0x9488)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9488)" ( (binary_expression "param_1 + 0x9488" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x9489) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x9489) == '\0'" (pointer_expression "*(char *)(param_1 + 0x9489)" * (cast_expression "(char *)(param_1 + 0x9489)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9489)" ( (binary_expression "param_1 + 0x9489" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }" { (expression_statement "FUN_001f00b0(param_1 + 8);" (call_expression "FUN_001f00b0(param_1 + 8)" identifier (argument_list "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }" else (compound_statement "{\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }" { (expression_statement "pcVar4 = (char *)gettext("%s: missing group end\n");" (assignment_expression "pcVar4 = (char *)gettext("%s: missing group end\n")" identifier = (cast_expression "(char *)gettext("%s: missing group end\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: missing group end\n")" identifier (argument_list "("%s: missing group end\n")" ( (string_literal ""%s: missing group end\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "fprintf(stderr,pcVar4,uVar1);" (call_expression "fprintf(stderr,pcVar4,uVar1)" identifier (argument_list "(stderr,pcVar4,uVar1)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_001e5430();" (call_expression "FUN_001e5430()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "uVar1 = DAT_0043e8e8;" (assignment_expression "uVar1 = DAT_0043e8e8" identifier = identifier) ;) (expression_statement "pcVar4 = (char *)gettext("%s: missing lib end\n");" (assignment_expression "pcVar4 = (char *)gettext("%s: missing lib end\n")" identifier = (cast_expression "(char *)gettext("%s: missing lib end\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: missing lib end\n")" identifier (argument_list "("%s: missing lib end\n")" ( (string_literal ""%s: missing lib end\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "fprintf(stderr,pcVar4,uVar1);" (call_expression "fprintf(stderr,pcVar4,uVar1)" identifier (argument_list "(stderr,pcVar4,uVar1)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_001e5430();" (call_expression "FUN_001e5430()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "FUN_0014c754();" (call_expression "FUN_0014c754()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void process(Command_line * this, int argc, char * * argv) */\n\nvoid __thiscall gold::Command_line::process(Command_line *this,int argc,char **argv)\n\n{\n  char *pcVar1;\n  Object_format OVar2;\n  size_t sVar3;\n  char **__format;\n  char *pcVar4;\n  FILE *pFVar5;\n  int iVar6;\n  bool no_more_options;\n  Input_file_argument file;\n  \n  no_more_options = false;\n  if (0 < argc) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        pcVar1 = (this->options_).format_.value;\n        (this->position_options_).as_needed_ = (this->options_).as_needed_.value;\n        (this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;\n        OVar2 = General_options::string_to_object_format(pcVar1);\n        (this->position_options_).format_enum_ = OVar2;\n        (this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;\n        (this->position_options_).incremental_disposition_ =\n             (this->options_).incremental_disposition_;\n        pcVar1 = argv[iVar6];\n        if (no_more_options == false) break;\n        file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n        pcVar4 = (char *)0xffffffffffffffff;\n        if (pcVar1 != (char *)0x0) {\nLAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n          sVar3 = strlen(pcVar1);\n          pcVar4 = pcVar1 + sVar3;\n        }\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.name_,pcVar1,pcVar4);\n        file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n        file.type_ = INPUT_FILE_TYPE_FILE;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.extra_search_path_,"");\n        file.options_.as_needed_ = (this->position_options_).as_needed_;\n        file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;\n        file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2;\n        file.options_.format_enum_ = (this->position_options_).format_enum_;\n        file.options_.whole_archive_ = (this->position_options_).whole_archive_;\n        file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9;\n        file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;\n        file.just_symbols_ = false;\n        file.arg_serial_ = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        Input_arguments::add_file(&this->inputs_,&file);\n        iVar6 = iVar6 + 1;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n          operator_delete(file.extra_search_path_._M_dataplus._M_p);\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n          operator_delete(file.name_._M_dataplus._M_p);\n        }\n        if (argc <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar1 != '-') goto LAB_001f144a;\n      iVar6 = process_one_option(this,argc,argv,iVar6,&no_more_options);\n    } while (iVar6 < argc);\n  }\nLAB_001f1588:\n  pcVar1 = program_name;\n  if ((this->inputs_).in_group_ == false) {\n    if ((this->inputs_).in_lib_ == false) {\n      General_options::finalize(&this->options_);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,pcVar1);\n    anon_unknown.dwarf_b246f7::usage();\n  }\n  pcVar1 = program_name;\n  __format = (char **)gettext("%s: missing lib end\n");\n  pFVar5 = stderr;\n  fprintf(stderr,(char *)__format,pcVar1);\n  iVar6 = (int)pFVar5;\n  anon_unknown.dwarf_b246f7::usage();\n                    /* catch() { ... } // from try @ 001f14aa with catch @ 001f160d */\n  process(iVar6,__format);\n  return;\n}\n\n" comment comment (function_definition "void __thiscall gold::Command_line::process(Command_line *this,int argc,char **argv)\n\n{\n  char *pcVar1;\n  Object_format OVar2;\n  size_t sVar3;\n  char **__format;\n  char *pcVar4;\n  FILE *pFVar5;\n  int iVar6;\n  bool no_more_options;\n  Input_file_argument file;\n  \n  no_more_options = false;\n  if (0 < argc) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        pcVar1 = (this->options_).format_.value;\n        (this->position_options_).as_needed_ = (this->options_).as_needed_.value;\n        (this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;\n        OVar2 = General_options::string_to_object_format(pcVar1);\n        (this->position_options_).format_enum_ = OVar2;\n        (this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;\n        (this->position_options_).incremental_disposition_ =\n             (this->options_).incremental_disposition_;\n        pcVar1 = argv[iVar6];\n        if (no_more_options == false) break;\n        file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n        pcVar4 = (char *)0xffffffffffffffff;\n        if (pcVar1 != (char *)0x0) {\nLAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n          sVar3 = strlen(pcVar1);\n          pcVar4 = pcVar1 + sVar3;\n        }\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.name_,pcVar1,pcVar4);\n        file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n        file.type_ = INPUT_FILE_TYPE_FILE;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.extra_search_path_,"");\n        file.options_.as_needed_ = (this->position_options_).as_needed_;\n        file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;\n        file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2;\n        file.options_.format_enum_ = (this->position_options_).format_enum_;\n        file.options_.whole_archive_ = (this->position_options_).whole_archive_;\n        file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9;\n        file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;\n        file.just_symbols_ = false;\n        file.arg_serial_ = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        Input_arguments::add_file(&this->inputs_,&file);\n        iVar6 = iVar6 + 1;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n          operator_delete(file.extra_search_path_._M_dataplus._M_p);\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n          operator_delete(file.name_._M_dataplus._M_p);\n        }\n        if (argc <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar1 != '-') goto LAB_001f144a;\n      iVar6 = process_one_option(this,argc,argv,iVar6,&no_more_options);\n    } while (iVar6 < argc);\n  }\nLAB_001f1588:\n  pcVar1 = program_name;\n  if ((this->inputs_).in_group_ == false) {\n    if ((this->inputs_).in_lib_ == false) {\n      General_options::finalize(&this->options_);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,pcVar1);\n    anon_unknown.dwarf_b246f7::usage();\n  }\n  pcVar1 = program_name;\n  __format = (char **)gettext("%s: missing lib end\n");\n  pFVar5 = stderr;\n  fprintf(stderr,(char *)__format,pcVar1);\n  iVar6 = (int)pFVar5;\n  anon_unknown.dwarf_b246f7::usage();\n                    /* catch() { ... } // from try @ 001f14aa with catch @ 001f160d */\n  process(iVar6,__format);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Command_line::" identifier : : identifier : :) (function_declarator "process(Command_line *this,int argc,char **argv)" identifier (parameter_list "(Command_line *this,int argc,char **argv)" ( (parameter_declaration "Command_line *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) ))) (compound_statement "{\n  char *pcVar1;\n  Object_format OVar2;\n  size_t sVar3;\n  char **__format;\n  char *pcVar4;\n  FILE *pFVar5;\n  int iVar6;\n  bool no_more_options;\n  Input_file_argument file;\n  \n  no_more_options = false;\n  if (0 < argc) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        pcVar1 = (this->options_).format_.value;\n        (this->position_options_).as_needed_ = (this->options_).as_needed_.value;\n        (this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;\n        OVar2 = General_options::string_to_object_format(pcVar1);\n        (this->position_options_).format_enum_ = OVar2;\n        (this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;\n        (this->position_options_).incremental_disposition_ =\n             (this->options_).incremental_disposition_;\n        pcVar1 = argv[iVar6];\n        if (no_more_options == false) break;\n        file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n        pcVar4 = (char *)0xffffffffffffffff;\n        if (pcVar1 != (char *)0x0) {\nLAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n          sVar3 = strlen(pcVar1);\n          pcVar4 = pcVar1 + sVar3;\n        }\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.name_,pcVar1,pcVar4);\n        file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n        file.type_ = INPUT_FILE_TYPE_FILE;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.extra_search_path_,"");\n        file.options_.as_needed_ = (this->position_options_).as_needed_;\n        file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;\n        file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2;\n        file.options_.format_enum_ = (this->position_options_).format_enum_;\n        file.options_.whole_archive_ = (this->position_options_).whole_archive_;\n        file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9;\n        file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;\n        file.just_symbols_ = false;\n        file.arg_serial_ = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        Input_arguments::add_file(&this->inputs_,&file);\n        iVar6 = iVar6 + 1;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n          operator_delete(file.extra_search_path_._M_dataplus._M_p);\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n          operator_delete(file.name_._M_dataplus._M_p);\n        }\n        if (argc <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar1 != '-') goto LAB_001f144a;\n      iVar6 = process_one_option(this,argc,argv,iVar6,&no_more_options);\n    } while (iVar6 < argc);\n  }\nLAB_001f1588:\n  pcVar1 = program_name;\n  if ((this->inputs_).in_group_ == false) {\n    if ((this->inputs_).in_lib_ == false) {\n      General_options::finalize(&this->options_);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,pcVar1);\n    anon_unknown.dwarf_b246f7::usage();\n  }\n  pcVar1 = program_name;\n  __format = (char **)gettext("%s: missing lib end\n");\n  pFVar5 = stderr;\n  fprintf(stderr,(char *)__format,pcVar1);\n  iVar6 = (int)pFVar5;\n  anon_unknown.dwarf_b246f7::usage();\n                    /* catch() { ... } // from try @ 001f14aa with catch @ 001f160d */\n  process(iVar6,__format);\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "Object_format OVar2;" type_identifier identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char **__format;" primitive_type (pointer_declarator "**__format" * (pointer_declarator "*__format" * identifier)) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "FILE *pFVar5;" type_identifier (pointer_declarator "*pFVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "bool no_more_options;" primitive_type identifier ;) (declaration "Input_file_argument file;" type_identifier identifier ;) (expression_statement "no_more_options = false;" (assignment_expression "no_more_options = false" identifier = false) ;) (if_statement "if (0 < argc) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        pcVar1 = (this->options_).format_.value;\n        (this->position_options_).as_needed_ = (this->options_).as_needed_.value;\n        (this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;\n        OVar2 = General_options::string_to_object_format(pcVar1);\n        (this->position_options_).format_enum_ = OVar2;\n        (this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;\n        (this->position_options_).incremental_disposition_ =\n             (this->options_).incremental_disposition_;\n        pcVar1 = argv[iVar6];\n        if (no_more_options == false) break;\n        file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n        pcVar4 = (char *)0xffffffffffffffff;\n        if (pcVar1 != (char *)0x0) {\nLAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n          sVar3 = strlen(pcVar1);\n          pcVar4 = pcVar1 + sVar3;\n        }\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.name_,pcVar1,pcVar4);\n        file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n        file.type_ = INPUT_FILE_TYPE_FILE;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.extra_search_path_,"");\n        file.options_.as_needed_ = (this->position_options_).as_needed_;\n        file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;\n        file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2;\n        file.options_.format_enum_ = (this->position_options_).format_enum_;\n        file.options_.whole_archive_ = (this->position_options_).whole_archive_;\n        file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9;\n        file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;\n        file.just_symbols_ = false;\n        file.arg_serial_ = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        Input_arguments::add_file(&this->inputs_,&file);\n        iVar6 = iVar6 + 1;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n          operator_delete(file.extra_search_path_._M_dataplus._M_p);\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n          operator_delete(file.name_._M_dataplus._M_p);\n        }\n        if (argc <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar1 != '-') goto LAB_001f144a;\n      iVar6 = process_one_option(this,argc,argv,iVar6,&no_more_options);\n    } while (iVar6 < argc);\n  }" if (parenthesized_expression "(0 < argc)" ( (binary_expression "0 < argc" number_literal < identifier) )) (compound_statement "{\n    iVar6 = 0;\n    do {\n      while( true ) {\n        pcVar1 = (this->options_).format_.value;\n        (this->position_options_).as_needed_ = (this->options_).as_needed_.value;\n        (this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;\n        OVar2 = General_options::string_to_object_format(pcVar1);\n        (this->position_options_).format_enum_ = OVar2;\n        (this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;\n        (this->position_options_).incremental_disposition_ =\n             (this->options_).incremental_disposition_;\n        pcVar1 = argv[iVar6];\n        if (no_more_options == false) break;\n        file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n        pcVar4 = (char *)0xffffffffffffffff;\n        if (pcVar1 != (char *)0x0) {\nLAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n          sVar3 = strlen(pcVar1);\n          pcVar4 = pcVar1 + sVar3;\n        }\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.name_,pcVar1,pcVar4);\n        file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n        file.type_ = INPUT_FILE_TYPE_FILE;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.extra_search_path_,"");\n        file.options_.as_needed_ = (this->position_options_).as_needed_;\n        file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;\n        file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2;\n        file.options_.format_enum_ = (this->position_options_).format_enum_;\n        file.options_.whole_archive_ = (this->position_options_).whole_archive_;\n        file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9;\n        file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;\n        file.just_symbols_ = false;\n        file.arg_serial_ = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        Input_arguments::add_file(&this->inputs_,&file);\n        iVar6 = iVar6 + 1;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n          operator_delete(file.extra_search_path_._M_dataplus._M_p);\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n          operator_delete(file.name_._M_dataplus._M_p);\n        }\n        if (argc <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar1 != '-') goto LAB_001f144a;\n      iVar6 = process_one_option(this,argc,argv,iVar6,&no_more_options);\n    } while (iVar6 < argc);\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n      while( true ) {\n        pcVar1 = (this->options_).format_.value;\n        (this->position_options_).as_needed_ = (this->options_).as_needed_.value;\n        (this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;\n        OVar2 = General_options::string_to_object_format(pcVar1);\n        (this->position_options_).format_enum_ = OVar2;\n        (this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;\n        (this->position_options_).incremental_disposition_ =\n             (this->options_).incremental_disposition_;\n        pcVar1 = argv[iVar6];\n        if (no_more_options == false) break;\n        file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n        pcVar4 = (char *)0xffffffffffffffff;\n        if (pcVar1 != (char *)0x0) {\nLAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n          sVar3 = strlen(pcVar1);\n          pcVar4 = pcVar1 + sVar3;\n        }\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.name_,pcVar1,pcVar4);\n        file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n        file.type_ = INPUT_FILE_TYPE_FILE;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.extra_search_path_,"");\n        file.options_.as_needed_ = (this->position_options_).as_needed_;\n        file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;\n        file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2;\n        file.options_.format_enum_ = (this->position_options_).format_enum_;\n        file.options_.whole_archive_ = (this->position_options_).whole_archive_;\n        file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9;\n        file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;\n        file.just_symbols_ = false;\n        file.arg_serial_ = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        Input_arguments::add_file(&this->inputs_,&file);\n        iVar6 = iVar6 + 1;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n          operator_delete(file.extra_search_path_._M_dataplus._M_p);\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n          operator_delete(file.name_._M_dataplus._M_p);\n        }\n        if (argc <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar1 != '-') goto LAB_001f144a;\n      iVar6 = process_one_option(this,argc,argv,iVar6,&no_more_options);\n    } while (iVar6 < argc);" do (compound_statement "{\n      while( true ) {\n        pcVar1 = (this->options_).format_.value;\n        (this->position_options_).as_needed_ = (this->options_).as_needed_.value;\n        (this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;\n        OVar2 = General_options::string_to_object_format(pcVar1);\n        (this->position_options_).format_enum_ = OVar2;\n        (this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;\n        (this->position_options_).incremental_disposition_ =\n             (this->options_).incremental_disposition_;\n        pcVar1 = argv[iVar6];\n        if (no_more_options == false) break;\n        file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n        pcVar4 = (char *)0xffffffffffffffff;\n        if (pcVar1 != (char *)0x0) {\nLAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n          sVar3 = strlen(pcVar1);\n          pcVar4 = pcVar1 + sVar3;\n        }\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.name_,pcVar1,pcVar4);\n        file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n        file.type_ = INPUT_FILE_TYPE_FILE;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.extra_search_path_,"");\n        file.options_.as_needed_ = (this->position_options_).as_needed_;\n        file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;\n        file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2;\n        file.options_.format_enum_ = (this->position_options_).format_enum_;\n        file.options_.whole_archive_ = (this->position_options_).whole_archive_;\n        file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9;\n        file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;\n        file.just_symbols_ = false;\n        file.arg_serial_ = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        Input_arguments::add_file(&this->inputs_,&file);\n        iVar6 = iVar6 + 1;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n          operator_delete(file.extra_search_path_._M_dataplus._M_p);\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n          operator_delete(file.name_._M_dataplus._M_p);\n        }\n        if (argc <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar1 != '-') goto LAB_001f144a;\n      iVar6 = process_one_option(this,argc,argv,iVar6,&no_more_options);\n    }" { (while_statement "while( true ) {\n        pcVar1 = (this->options_).format_.value;\n        (this->position_options_).as_needed_ = (this->options_).as_needed_.value;\n        (this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;\n        OVar2 = General_options::string_to_object_format(pcVar1);\n        (this->position_options_).format_enum_ = OVar2;\n        (this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;\n        (this->position_options_).incremental_disposition_ =\n             (this->options_).incremental_disposition_;\n        pcVar1 = argv[iVar6];\n        if (no_more_options == false) break;\n        file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n        pcVar4 = (char *)0xffffffffffffffff;\n        if (pcVar1 != (char *)0x0) {\nLAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n          sVar3 = strlen(pcVar1);\n          pcVar4 = pcVar1 + sVar3;\n        }\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.name_,pcVar1,pcVar4);\n        file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n        file.type_ = INPUT_FILE_TYPE_FILE;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.extra_search_path_,"");\n        file.options_.as_needed_ = (this->position_options_).as_needed_;\n        file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;\n        file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2;\n        file.options_.format_enum_ = (this->position_options_).format_enum_;\n        file.options_.whole_archive_ = (this->position_options_).whole_archive_;\n        file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9;\n        file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;\n        file.just_symbols_ = false;\n        file.arg_serial_ = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        Input_arguments::add_file(&this->inputs_,&file);\n        iVar6 = iVar6 + 1;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n          operator_delete(file.extra_search_path_._M_dataplus._M_p);\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n          operator_delete(file.name_._M_dataplus._M_p);\n        }\n        if (argc <= iVar6) goto LAB_001f1588;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pcVar1 = (this->options_).format_.value;\n        (this->position_options_).as_needed_ = (this->options_).as_needed_.value;\n        (this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;\n        OVar2 = General_options::string_to_object_format(pcVar1);\n        (this->position_options_).format_enum_ = OVar2;\n        (this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;\n        (this->position_options_).incremental_disposition_ =\n             (this->options_).incremental_disposition_;\n        pcVar1 = argv[iVar6];\n        if (no_more_options == false) break;\n        file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n        pcVar4 = (char *)0xffffffffffffffff;\n        if (pcVar1 != (char *)0x0) {\nLAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n          sVar3 = strlen(pcVar1);\n          pcVar4 = pcVar1 + sVar3;\n        }\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.name_,pcVar1,pcVar4);\n        file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n        file.type_ = INPUT_FILE_TYPE_FILE;\n                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.extra_search_path_,"");\n        file.options_.as_needed_ = (this->position_options_).as_needed_;\n        file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;\n        file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2;\n        file.options_.format_enum_ = (this->position_options_).format_enum_;\n        file.options_.whole_archive_ = (this->position_options_).whole_archive_;\n        file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9;\n        file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;\n        file.just_symbols_ = false;\n        file.arg_serial_ = 0;\n                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */\n        Input_arguments::add_file(&this->inputs_,&file);\n        iVar6 = iVar6 + 1;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n          operator_delete(file.extra_search_path_._M_dataplus._M_p);\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n          operator_delete(file.name_._M_dataplus._M_p);\n        }\n        if (argc <= iVar6) goto LAB_001f1588;\n      }" { (expression_statement "pcVar1 = (this->options_).format_.value;" (assignment_expression "pcVar1 = (this->options_).format_.value" identifier = (field_expression "(this->options_).format_.value" (field_expression "(this->options_).format_" (parenthesized_expression "(this->options_)" ( (field_expression "this->options_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "(this->position_options_).as_needed_ = (this->options_).as_needed_.value;" (assignment_expression "(this->position_options_).as_needed_ = (this->options_).as_needed_.value" (field_expression "(this->position_options_).as_needed_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier) = (field_expression "(this->options_).as_needed_.value" (field_expression "(this->options_).as_needed_" (parenthesized_expression "(this->options_)" ( (field_expression "this->options_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "(this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;" (assignment_expression "(this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value" (field_expression "(this->position_options_).Bdynamic_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier) = (field_expression "(this->options_).Bdynamic_.value" (field_expression "(this->options_).Bdynamic_" (parenthesized_expression "(this->options_)" ( (field_expression "this->options_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (ERROR "OVar2 = General_options::" (assignment_expression "OVar2 = General_options" identifier = identifier) : :) (expression_statement "string_to_object_format(pcVar1);" (call_expression "string_to_object_format(pcVar1)" identifier (argument_list "(pcVar1)" ( identifier ))) ;) (expression_statement "(this->position_options_).format_enum_ = OVar2;" (assignment_expression "(this->position_options_).format_enum_ = OVar2" (field_expression "(this->position_options_).format_enum_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;" (assignment_expression "(this->position_options_).whole_archive_ = (this->options_).whole_archive_.value" (field_expression "(this->position_options_).whole_archive_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier) = (field_expression "(this->options_).whole_archive_.value" (field_expression "(this->options_).whole_archive_" (parenthesized_expression "(this->options_)" ( (field_expression "this->options_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "(this->position_options_).incremental_disposition_ =\n             (this->options_).incremental_disposition_;" (assignment_expression "(this->position_options_).incremental_disposition_ =\n             (this->options_).incremental_disposition_" (field_expression "(this->position_options_).incremental_disposition_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier) = (field_expression "(this->options_).incremental_disposition_" (parenthesized_expression "(this->options_)" ( (field_expression "this->options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pcVar1 = argv[iVar6];" (assignment_expression "pcVar1 = argv[iVar6]" identifier = (subscript_expression "argv[iVar6]" identifier [ identifier ])) ;) (if_statement "if (no_more_options == false) break;" if (parenthesized_expression "(no_more_options == false)" ( (binary_expression "no_more_options == false" identifier == false) )) (break_statement "break;" break ;)) (expression_statement "file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;" (assignment_expression "file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2" (field_expression "file.name_._M_dataplus._M_p" (field_expression "file.name_._M_dataplus" (field_expression "file.name_" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&file.name_.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "file.name_.field_2" (field_expression "file.name_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "pcVar4 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar4 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pcVar1 != (char *)0x0) {\nLAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n          sVar3 = strlen(pcVar1);\n          pcVar4 = pcVar1 + sVar3;\n        }" if (parenthesized_expression "(pcVar1 != (char *)0x0)" ( (binary_expression "pcVar1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n          sVar3 = strlen(pcVar1);\n          pcVar4 = pcVar1 + sVar3;\n        }" { (labeled_statement "LAB_001f144a:\n          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;" statement_identifier : (expression_statement "file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;" (assignment_expression "file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2" (field_expression "file.name_._M_dataplus._M_p" (field_expression "file.name_._M_dataplus" (field_expression "file.name_" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&file.name_.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "file.name_.field_2" (field_expression "file.name_" identifier . field_identifier) . field_identifier))) ;)) (expression_statement "sVar3 = strlen(pcVar1);" (assignment_expression "sVar3 = strlen(pcVar1)" identifier = (call_expression "strlen(pcVar1)" identifier (argument_list "(pcVar1)" ( identifier )))) ;) (expression_statement "pcVar4 = pcVar1 + sVar3;" (assignment_expression "pcVar4 = pcVar1 + sVar3" identifier = (binary_expression "pcVar1 + sVar3" identifier + identifier)) ;) })) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.name_,pcVar1,pcVar4);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>(&file.name_,pcVar1,pcVar4);" (binary_expression "_M_construct<char_const*>(&file.name_,pcVar1,pcVar4)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&file.name_,pcVar1,pcVar4)" ( (comma_expression "&file.name_,pcVar1,pcVar4" (pointer_expression "&file.name_" & (field_expression "file.name_" identifier . field_identifier)) , (comma_expression "pcVar1,pcVar4" identifier , identifier)) ))) ;)) (expression_statement "file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;" (assignment_expression "file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2" (field_expression "file.extra_search_path_._M_dataplus._M_p" (field_expression "file.extra_search_path_._M_dataplus" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&file.extra_search_path_.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "file.extra_search_path_.field_2" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "file.type_ = INPUT_FILE_TYPE_FILE;" (assignment_expression "file.type_ = INPUT_FILE_TYPE_FILE" (field_expression "file.type_" identifier . field_identifier) = identifier) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(&file.extra_search_path_,"");" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char_const*>(&file.extra_search_path_,"");" (binary_expression "_M_construct<char_const*>(&file.extra_search_path_,"")" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&file.extra_search_path_,"")" ( (comma_expression "&file.extra_search_path_,""" (pointer_expression "&file.extra_search_path_" & (field_expression "file.extra_search_path_" identifier . field_identifier)) , (string_literal """" " ")) ))) ;)) (expression_statement "file.options_.as_needed_ = (this->position_options_).as_needed_;" (assignment_expression "file.options_.as_needed_ = (this->position_options_).as_needed_" (field_expression "file.options_.as_needed_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = (field_expression "(this->position_options_).as_needed_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;" (assignment_expression "file.options_.Bdynamic_ = (this->position_options_).Bdynamic_" (field_expression "file.options_.Bdynamic_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = (field_expression "(this->position_options_).Bdynamic_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2;" (assignment_expression "file.options_._2_2_ = *(undefined2 *)&(this->position_options_).field_0x2" (field_expression "file.options_._2_2_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = (pointer_expression "*(undefined2 *)&(this->position_options_).field_0x2" * (cast_expression "(undefined2 *)&(this->position_options_).field_0x2" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->position_options_).field_0x2" & (field_expression "(this->position_options_).field_0x2" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "file.options_.format_enum_ = (this->position_options_).format_enum_;" (assignment_expression "file.options_.format_enum_ = (this->position_options_).format_enum_" (field_expression "file.options_.format_enum_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = (field_expression "(this->position_options_).format_enum_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "file.options_.whole_archive_ = (this->position_options_).whole_archive_;" (assignment_expression "file.options_.whole_archive_ = (this->position_options_).whole_archive_" (field_expression "file.options_.whole_archive_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = (field_expression "(this->position_options_).whole_archive_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9;" (assignment_expression "file.options_._9_3_ = *(undefined3 *)&(this->position_options_).field_0x9" (field_expression "file.options_._9_3_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = (pointer_expression "*(undefined3 *)&(this->position_options_).field_0x9" * (cast_expression "(undefined3 *)&(this->position_options_).field_0x9" ( (type_descriptor "undefined3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->position_options_).field_0x9" & (field_expression "(this->position_options_).field_0x9" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;" (assignment_expression "file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_" (field_expression "file.options_.incremental_disposition_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = (field_expression "(this->position_options_).incremental_disposition_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "file.just_symbols_ = false;" (assignment_expression "file.just_symbols_ = false" (field_expression "file.just_symbols_" identifier . field_identifier) = false) ;) (expression_statement "file.arg_serial_ = 0;" (assignment_expression "file.arg_serial_ = 0" (field_expression "file.arg_serial_" identifier . field_identifier) = number_literal) ;) comment (labeled_statement "Input_arguments::add_file(&this->inputs_,&file);" statement_identifier : (ERROR ":" :) (expression_statement "add_file(&this->inputs_,&file);" (call_expression "add_file(&this->inputs_,&file)" identifier (argument_list "(&this->inputs_,&file)" ( (pointer_expression "&this->inputs_" & (field_expression "this->inputs_" identifier -> field_identifier)) , (pointer_expression "&file" & identifier) ))) ;)) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n          operator_delete(file.extra_search_path_._M_dataplus._M_p);\n        }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2" (binary_expression "allocator<char>_>_9\n             *)file.extra_search_path_._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)file.extra_search_path_._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "file.extra_search_path_._M_dataplus._M_p" (field_expression "file.extra_search_path_._M_dataplus" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier) . field_identifier))) != (pointer_expression "&file.extra_search_path_.field_2" & (field_expression "file.extra_search_path_.field_2" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier))) )) )) (compound_statement "{\n          operator_delete(file.extra_search_path_._M_dataplus._M_p);\n        }" { (expression_statement "operator_delete(file.extra_search_path_._M_dataplus._M_p);" (call_expression "operator_delete(file.extra_search_path_._M_dataplus._M_p)" identifier (argument_list "(file.extra_search_path_._M_dataplus._M_p)" ( (field_expression "file.extra_search_path_._M_dataplus._M_p" (field_expression "file.extra_search_path_._M_dataplus" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n          operator_delete(file.name_._M_dataplus._M_p);\n        }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p != &file.name_.field_2" (binary_expression "allocator<char>_>_9\n             *)file.name_._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)file.name_._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "file.name_._M_dataplus._M_p" (field_expression "file.name_._M_dataplus" (field_expression "file.name_" identifier . field_identifier) . field_identifier) . field_identifier))) != (pointer_expression "&file.name_.field_2" & (field_expression "file.name_.field_2" (field_expression "file.name_" identifier . field_identifier) . field_identifier))) )) )) (compound_statement "{\n          operator_delete(file.name_._M_dataplus._M_p);\n        }" { (expression_statement "operator_delete(file.name_._M_dataplus._M_p);" (call_expression "operator_delete(file.name_._M_dataplus._M_p)" identifier (argument_list "(file.name_._M_dataplus._M_p)" ( (field_expression "file.name_._M_dataplus._M_p" (field_expression "file.name_._M_dataplus" (field_expression "file.name_" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (argc <= iVar6) goto LAB_001f1588;" if (parenthesized_expression "(argc <= iVar6)" ( (binary_expression "argc <= iVar6" identifier <= identifier) )) (goto_statement "goto LAB_001f1588;" goto statement_identifier ;)) })) (if_statement "if (*pcVar1 != '-') goto LAB_001f144a;" if (parenthesized_expression "(*pcVar1 != '-')" ( (binary_expression "*pcVar1 != '-'" (pointer_expression "*pcVar1" * identifier) != (char_literal "'-'" ' character ')) )) (goto_statement "goto LAB_001f144a;" goto statement_identifier ;)) (expression_statement "iVar6 = process_one_option(this,argc,argv,iVar6,&no_more_options);" (assignment_expression "iVar6 = process_one_option(this,argc,argv,iVar6,&no_more_options)" identifier = (call_expression "process_one_option(this,argc,argv,iVar6,&no_more_options)" identifier (argument_list "(this,argc,argv,iVar6,&no_more_options)" ( identifier , identifier , identifier , identifier , (pointer_expression "&no_more_options" & identifier) )))) ;) }) while (parenthesized_expression "(iVar6 < argc)" ( (binary_expression "iVar6 < argc" identifier < identifier) )) ;) })) (labeled_statement "LAB_001f1588:\n  pcVar1 = program_name;" statement_identifier : (expression_statement "pcVar1 = program_name;" (assignment_expression "pcVar1 = program_name" identifier = identifier) ;)) (if_statement "if ((this->inputs_).in_group_ == false) {\n    if ((this->inputs_).in_lib_ == false) {\n      General_options::finalize(&this->options_);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,pcVar1);\n    anon_unknown.dwarf_b246f7::usage();\n  }" if (parenthesized_expression "((this->inputs_).in_group_ == false)" ( (binary_expression "(this->inputs_).in_group_ == false" (field_expression "(this->inputs_).in_group_" (parenthesized_expression "(this->inputs_)" ( (field_expression "this->inputs_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n    if ((this->inputs_).in_lib_ == false) {\n      General_options::finalize(&this->options_);\n      return;\n    }\n  }" { (if_statement "if ((this->inputs_).in_lib_ == false) {\n      General_options::finalize(&this->options_);\n      return;\n    }" if (parenthesized_expression "((this->inputs_).in_lib_ == false)" ( (binary_expression "(this->inputs_).in_lib_ == false" (field_expression "(this->inputs_).in_lib_" (parenthesized_expression "(this->inputs_)" ( (field_expression "this->inputs_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n      General_options::finalize(&this->options_);\n      return;\n    }" { (labeled_statement "General_options::finalize(&this->options_);" statement_identifier : (ERROR ":" :) (expression_statement "finalize(&this->options_);" (call_expression "finalize(&this->options_)" identifier (argument_list "(&this->options_)" ( (pointer_expression "&this->options_" & (field_expression "this->options_" identifier -> field_identifier)) ))) ;)) (return_statement "return;" return ;) })) }) (else_clause "else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,pcVar1);\n    anon_unknown.dwarf_b246f7::usage();\n  }" else (compound_statement "{\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,pcVar1);\n    anon_unknown.dwarf_b246f7::usage();\n  }" { (expression_statement "pcVar4 = (char *)gettext("%s: missing group end\n");" (assignment_expression "pcVar4 = (char *)gettext("%s: missing group end\n")" identifier = (cast_expression "(char *)gettext("%s: missing group end\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: missing group end\n")" identifier (argument_list "("%s: missing group end\n")" ( (string_literal ""%s: missing group end\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "fprintf(stderr,pcVar4,pcVar1);" (call_expression "fprintf(stderr,pcVar4,pcVar1)" identifier (argument_list "(stderr,pcVar4,pcVar1)" ( identifier , identifier , identifier ))) ;) (ERROR "anon_unknown.dwarf_b246f7::" (field_expression "anon_unknown.dwarf_b246f7" identifier . field_identifier) : :) (expression_statement "usage();" (call_expression "usage()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "pcVar1 = program_name;" (assignment_expression "pcVar1 = program_name" identifier = identifier) ;) (expression_statement "__format = (char **)gettext("%s: missing lib end\n");" (assignment_expression "__format = (char **)gettext("%s: missing lib end\n")" identifier = (cast_expression "(char **)gettext("%s: missing lib end\n")" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "gettext("%s: missing lib end\n")" identifier (argument_list "("%s: missing lib end\n")" ( (string_literal ""%s: missing lib end\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "pFVar5 = stderr;" (assignment_expression "pFVar5 = stderr" identifier = identifier) ;) (expression_statement "fprintf(stderr,(char *)__format,pcVar1);" (call_expression "fprintf(stderr,(char *)__format,pcVar1)" identifier (argument_list "(stderr,(char *)__format,pcVar1)" ( identifier , (cast_expression "(char *)__format" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;) (expression_statement "iVar6 = (int)pFVar5;" (assignment_expression "iVar6 = (int)pFVar5" identifier = (cast_expression "(int)pFVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (ERROR "anon_unknown.dwarf_b246f7::" (field_expression "anon_unknown.dwarf_b246f7" identifier . field_identifier) : :) (expression_statement "usage();" (call_expression "usage()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "process(iVar6,__format);" (call_expression "process(iVar6,__format)" identifier (argument_list "(iVar6,__format)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_001f13f0(long param_1,int param_2,long param_3)\n\n{\n  undefined8 uVar1;\n  undefined4 uVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char *pcVar5;\n  int iVar6;\n  char local_99;\n  undefined1 *local_98 [2];\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70 [2];\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  local_99 = '\0';\n  if (0 < param_2) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }\nLAB_001f1588:\n  uVar1 = DAT_0043e8e8;\n  if (*(char *)(param_1 + 0x9488) == '\0') {\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }\n  uVar1 = DAT_0043e8e8;\n  pcVar4 = (char *)gettext("%s: missing lib end\n");\n  fprintf(stderr,pcVar4,uVar1);\n  FUN_001e5430();\n                    \n  FUN_0014c754();\n  return;\n}\n\n" (function_definition "void FUN_001f13f0(long param_1,int param_2,long param_3)\n\n{\n  undefined8 uVar1;\n  undefined4 uVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char *pcVar5;\n  int iVar6;\n  char local_99;\n  undefined1 *local_98 [2];\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70 [2];\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  local_99 = '\0';\n  if (0 < param_2) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }\nLAB_001f1588:\n  uVar1 = DAT_0043e8e8;\n  if (*(char *)(param_1 + 0x9488) == '\0') {\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }\n  uVar1 = DAT_0043e8e8;\n  pcVar4 = (char *)gettext("%s: missing lib end\n");\n  fprintf(stderr,pcVar4,uVar1);\n  FUN_001e5430();\n                    \n  FUN_0014c754();\n  return;\n}" primitive_type (function_declarator "FUN_001f13f0(long param_1,int param_2,long param_3)" identifier (parameter_list "(long param_1,int param_2,long param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined4 uVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char *pcVar5;\n  int iVar6;\n  char local_99;\n  undefined1 *local_98 [2];\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70 [2];\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  local_99 = '\0';\n  if (0 < param_2) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }\nLAB_001f1588:\n  uVar1 = DAT_0043e8e8;\n  if (*(char *)(param_1 + 0x9488) == '\0') {\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }\n  uVar1 = DAT_0043e8e8;\n  pcVar4 = (char *)gettext("%s: missing lib end\n");\n  fprintf(stderr,pcVar4,uVar1);\n  FUN_001e5430();\n                    \n  FUN_0014c754();\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char local_99;" primitive_type identifier ;) (declaration "undefined1 *local_98 [2];" type_identifier (pointer_declarator "*local_98 [2]" * (array_declarator "local_98 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_88 [16];" type_identifier (array_declarator "local_88 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_78;" type_identifier identifier ;) (declaration "undefined1 *local_70 [2];" type_identifier (pointer_declarator "*local_70 [2]" * (array_declarator "local_70 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_60 [16];" type_identifier (array_declarator "local_60 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_50;" type_identifier identifier ;) (declaration "undefined8 local_4c;" type_identifier identifier ;) (declaration "undefined8 uStack_44;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (expression_statement "local_99 = '\0';" (assignment_expression "local_99 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (0 < param_2) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }" if (parenthesized_expression "(0 < param_2)" ( (binary_expression "0 < param_2" number_literal < identifier) )) (compound_statement "{\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);" do (compound_statement "{\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    }" { (while_statement "while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }" { (expression_statement "*(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);" (assignment_expression "*(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1)" (pointer_expression "*(undefined1 *)(param_1 + 0x92d8)" * (cast_expression "(undefined1 *)(param_1 + 0x92d8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92d8)" ( (binary_expression "param_1 + 0x92d8" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(param_1 + 0x4d1)" * (cast_expression "(undefined1 *)(param_1 + 0x4d1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4d1)" ( (binary_expression "param_1 + 0x4d1" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);" (assignment_expression "*(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891)" (pointer_expression "*(undefined1 *)(param_1 + 0x92d9)" * (cast_expression "(undefined1 *)(param_1 + 0x92d9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92d9)" ( (binary_expression "param_1 + 0x92d9" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(param_1 + 0x891)" * (cast_expression "(undefined1 *)(param_1 + 0x891)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x891)" ( (binary_expression "param_1 + 0x891" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));" (assignment_expression "uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610))" identifier = (call_expression "FUN_001e5d80(*(undefined8 *)(param_1 + 0x610))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x610))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x610)" * (cast_expression "(undefined8 *)(param_1 + 0x610)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x610)" ( (binary_expression "param_1 + 0x610" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x92dc) = uVar2;" (assignment_expression "*(undefined4 *)(param_1 + 0x92dc) = uVar2" (pointer_expression "*(undefined4 *)(param_1 + 0x92dc)" * (cast_expression "(undefined4 *)(param_1 + 0x92dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92dc)" ( (binary_expression "param_1 + 0x92dc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);" (assignment_expression "*(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809)" (pointer_expression "*(undefined1 *)(param_1 + 0x92e0)" * (cast_expression "(undefined1 *)(param_1 + 0x92e0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92e0)" ( (binary_expression "param_1 + 0x92e0" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)(param_1 + 0x7809)" * (cast_expression "(undefined1 *)(param_1 + 0x7809)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7809)" ( (binary_expression "param_1 + 0x7809" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);" (assignment_expression "*(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8)" (pointer_expression "*(undefined4 *)(param_1 + 0x92e4)" * (cast_expression "(undefined4 *)(param_1 + 0x92e4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92e4)" ( (binary_expression "param_1 + 0x92e4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 0x91f8)" * (cast_expression "(undefined4 *)(param_1 + 0x91f8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x91f8)" ( (binary_expression "param_1 + 0x91f8" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);" (assignment_expression "pcVar4 = *(char **)(param_3 + (long)iVar6 * 8)" identifier = (pointer_expression "*(char **)(param_3 + (long)iVar6 * 8)" * (cast_expression "(char **)(param_3 + (long)iVar6 * 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + (long)iVar6 * 8)" ( (binary_expression "param_3 + (long)iVar6 * 8" identifier + (binary_expression "(long)iVar6 * 8" (cast_expression "(long)iVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) ))))) ;) (if_statement "if (local_99 == '\0') break;" if (parenthesized_expression "(local_99 == '\0')" ( (binary_expression "local_99 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "local_98[0] = local_88;" (assignment_expression "local_98[0] = local_88" (subscript_expression "local_98[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pcVar5 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar5 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }" if (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }" { (labeled_statement "LAB_001f144a:\n          local_98[0] = local_88;" statement_identifier : (expression_statement "local_98[0] = local_88;" (assignment_expression "local_98[0] = local_88" (subscript_expression "local_98[0]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "sVar3 = strlen(pcVar4);" (assignment_expression "sVar3 = strlen(pcVar4)" identifier = (call_expression "strlen(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier )))) ;) (expression_statement "pcVar5 = pcVar4 + sVar3;" (assignment_expression "pcVar5 = pcVar4 + sVar3" identifier = (binary_expression "pcVar4 + sVar3" identifier + identifier)) ;) })) (expression_statement "FUN_001665c0(local_98,pcVar4,pcVar5);" (call_expression "FUN_001665c0(local_98,pcVar4,pcVar5)" identifier (argument_list "(local_98,pcVar4,pcVar5)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_70[0] = local_60;" (assignment_expression "local_70[0] = local_60" (subscript_expression "local_70[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "FUN_001665c0(local_70,"");" (call_expression "FUN_001665c0(local_70,"")" identifier (argument_list "(local_70,"")" ( identifier , (string_literal """" " ") ))) ;) (expression_statement "local_4c = *(undefined8 *)(param_1 + 0x92d8);" (assignment_expression "local_4c = *(undefined8 *)(param_1 + 0x92d8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x92d8)" * (cast_expression "(undefined8 *)(param_1 + 0x92d8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92d8)" ( (binary_expression "param_1 + 0x92d8" identifier + number_literal) ))))) ;) (expression_statement "uStack_44 = *(undefined8 *)(param_1 + 0x92e0);" (assignment_expression "uStack_44 = *(undefined8 *)(param_1 + 0x92e0)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x92e0)" * (cast_expression "(undefined8 *)(param_1 + 0x92e0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x92e0)" ( (binary_expression "param_1 + 0x92e0" identifier + number_literal) ))))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "FUN_001e6fb0(param_1 + 38000,local_98);" (call_expression "FUN_001e6fb0(param_1 + 38000,local_98)" identifier (argument_list "(param_1 + 38000,local_98)" ( (binary_expression "param_1 + 38000" identifier + number_literal) , identifier ))) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }" if (parenthesized_expression "(local_70[0] != local_60)" ( (binary_expression "local_70[0] != local_60" (subscript_expression "local_70[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          FUN_002dac70();\n        }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }" if (parenthesized_expression "(local_98[0] != local_88)" ( (binary_expression "local_98[0] != local_88" (subscript_expression "local_98[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          FUN_002dac70();\n        }" { (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (param_2 <= iVar6) goto LAB_001f1588;" if (parenthesized_expression "(param_2 <= iVar6)" ( (binary_expression "param_2 <= iVar6" identifier <= identifier) )) (goto_statement "goto LAB_001f1588;" goto statement_identifier ;)) })) (if_statement "if (*pcVar4 != '-') goto LAB_001f144a;" if (parenthesized_expression "(*pcVar4 != '-')" ( (binary_expression "*pcVar4 != '-'" (pointer_expression "*pcVar4" * identifier) != (char_literal "'-'" ' character ')) )) (goto_statement "goto LAB_001f144a;" goto statement_identifier ;)) (expression_statement "iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);" (assignment_expression "iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99)" identifier = (call_expression "FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99)" identifier (argument_list "(param_1,param_2,param_3,iVar6,&local_99)" ( identifier , identifier , identifier , identifier , (pointer_expression "&local_99" & identifier) )))) ;) }) while (parenthesized_expression "(iVar6 < param_2)" ( (binary_expression "iVar6 < param_2" identifier < identifier) )) ;) })) (labeled_statement "LAB_001f1588:\n  uVar1 = DAT_0043e8e8;" statement_identifier : (expression_statement "uVar1 = DAT_0043e8e8;" (assignment_expression "uVar1 = DAT_0043e8e8" identifier = identifier) ;)) (if_statement "if (*(char *)(param_1 + 0x9488) == '\0') {\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x9488) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x9488) == '\0'" (pointer_expression "*(char *)(param_1 + 0x9488)" * (cast_expression "(char *)(param_1 + 0x9488)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9488)" ( (binary_expression "param_1 + 0x9488" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }" { (if_statement "if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x9489) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x9489) == '\0'" (pointer_expression "*(char *)(param_1 + 0x9489)" * (cast_expression "(char *)(param_1 + 0x9489)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x9489)" ( (binary_expression "param_1 + 0x9489" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }" { (expression_statement "FUN_001f00b0(param_1 + 8);" (call_expression "FUN_001f00b0(param_1 + 8)" identifier (argument_list "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }" else (compound_statement "{\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }" { (expression_statement "pcVar4 = (char *)gettext("%s: missing group end\n");" (assignment_expression "pcVar4 = (char *)gettext("%s: missing group end\n")" identifier = (cast_expression "(char *)gettext("%s: missing group end\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: missing group end\n")" identifier (argument_list "("%s: missing group end\n")" ( (string_literal ""%s: missing group end\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "fprintf(stderr,pcVar4,uVar1);" (call_expression "fprintf(stderr,pcVar4,uVar1)" identifier (argument_list "(stderr,pcVar4,uVar1)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_001e5430();" (call_expression "FUN_001e5430()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "uVar1 = DAT_0043e8e8;" (assignment_expression "uVar1 = DAT_0043e8e8" identifier = identifier) ;) (expression_statement "pcVar4 = (char *)gettext("%s: missing lib end\n");" (assignment_expression "pcVar4 = (char *)gettext("%s: missing lib end\n")" identifier = (cast_expression "(char *)gettext("%s: missing lib end\n")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: missing lib end\n")" identifier (argument_list "("%s: missing lib end\n")" ( (string_literal ""%s: missing lib end\n"" " string_content escape_sequence ") ))))) ;) (expression_statement "fprintf(stderr,pcVar4,uVar1);" (call_expression "fprintf(stderr,pcVar4,uVar1)" identifier (argument_list "(stderr,pcVar4,uVar1)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_001e5430();" (call_expression "FUN_001e5430()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0014c754();" (call_expression "FUN_0014c754()" identifier (argument_list "()" ( ))) ;) (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 (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " ") ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = 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 { (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 (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_001f13f0(long param_1,int param_2,long param_3)\n\n{\n  undefined8 uVar1;\n  undefined4 uVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char *pcVar5;\n  int iVar6;\n  char local_99;\n  undefined1 *local_98 [2];\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70 [2];\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  local_99 = '\0';\n  if (0 < param_2) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }\nLAB_001f1588:\n  uVar1 = DAT_0043e8e8;\n  if (*(char *)(param_1 + 0x9488) == '\0') {\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }\n  uVar1 = DAT_0043e8e8;\n  pcVar4 = (char *)gettext("%s: missing lib end\n");\n  fprintf(stderr,pcVar4,uVar1);\n  FUN_001e5430();\n                    \n  FUN_0014c754();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001f13f0(long param_1,int param_2,long param_3)" (identifier "FUN_001f13f0") (parameter_list "(long param_1,int param_2,long param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "long param_3" (sized_type_specifier "long" (long "long")) (identifier "param_3")) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  undefined4 uVar2;\n  size_t sVar3;\n  char *pcVar4;\n  char *pcVar5;\n  int iVar6;\n  char local_99;\n  undefined1 *local_98 [2];\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70 [2];\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  local_99 = '\0';\n  if (0 < param_2) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }\nLAB_001f1588:\n  uVar1 = DAT_0043e8e8;\n  if (*(char *)(param_1 + 0x9488) == '\0') {\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }\n  uVar1 = DAT_0043e8e8;\n  pcVar4 = (char *)gettext("%s: missing lib end\n");\n  fprintf(stderr,pcVar4,uVar1);\n  FUN_001e5430();\n                    \n  FUN_0014c754();\n  return;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "size_t sVar3;" (primitive_type "size_t") (identifier "sVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "char local_99;" (primitive_type "char") (identifier "local_99") (; ";")) (declaration "undefined1 *local_98 [2];" (type_identifier "undefined1") (pointer_declarator "*local_98 [2]" (* "*") (array_declarator "local_98 [2]" (identifier "local_98") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_88 [16];" (type_identifier "undefined1") (array_declarator "local_88 [16]" (identifier "local_88") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_78;" (type_identifier "undefined4") (identifier "local_78") (; ";")) (declaration "undefined1 *local_70 [2];" (type_identifier "undefined1") (pointer_declarator "*local_70 [2]" (* "*") (array_declarator "local_70 [2]" (identifier "local_70") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_60 [16];" (type_identifier "undefined1") (array_declarator "local_60 [16]" (identifier "local_60") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 local_50;" (type_identifier "undefined1") (identifier "local_50") (; ";")) (declaration "undefined8 local_4c;" (type_identifier "undefined8") (identifier "local_4c") (; ";")) (declaration "undefined8 uStack_44;" (type_identifier "undefined8") (identifier "uStack_44") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (expression_statement "local_99 = '\0';" (assignment_expression "local_99 = '\0'" (identifier "local_99") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (0 < param_2) {\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }" (if "if") (parenthesized_expression "(0 < param_2)" (( "(") (binary_expression "0 < param_2" (number_literal "0") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n    iVar6 = 0;\n    do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);\n  }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    } while (iVar6 < param_2);" (do "do") (compound_statement "{\n      while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }\n      if (*pcVar4 != '-') goto LAB_001f144a;\n      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);\n    }" ({ "{") (while_statement "while( true ) {\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);\n        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);\n        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));\n        *(undefined4 *)(param_1 + 0x92dc) = uVar2;\n        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);\n        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);\n        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);\n        if (local_99 == '\0') break;\n        local_98[0] = local_88;\n        pcVar5 = (char *)0xffffffffffffffff;\n        if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }\n        FUN_001665c0(local_98,pcVar4,pcVar5);\n        local_70[0] = local_60;\n        local_78 = 0;\n                    \n        FUN_001665c0(local_70,"");\n        local_4c = *(undefined8 *)(param_1 + 0x92d8);\n        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);\n        local_50 = 0;\n        local_3c = 0;\n                    \n        FUN_001e6fb0(param_1 + 38000,local_98);\n        iVar6 = iVar6 + 1;\n        if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }\n        if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }\n        if (param_2 <= iVar6) goto LAB_001f1588;\n      }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);" (assignment_expression "*(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1)" (pointer_expression "*(undefined1 *)(param_1 + 0x92d8)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x92d8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x92d8)" (( "(") (binary_expression "param_1 + 0x92d8" (identifier "param_1") (+ "+") (number_literal "0x92d8")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(param_1 + 0x4d1)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x4d1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x4d1)" (( "(") (binary_expression "param_1 + 0x4d1" (identifier "param_1") (+ "+") (number_literal "0x4d1")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);" (assignment_expression "*(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891)" (pointer_expression "*(undefined1 *)(param_1 + 0x92d9)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x92d9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x92d9)" (( "(") (binary_expression "param_1 + 0x92d9" (identifier "param_1") (+ "+") (number_literal "0x92d9")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(param_1 + 0x891)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x891)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x891)" (( "(") (binary_expression "param_1 + 0x891" (identifier "param_1") (+ "+") (number_literal "0x891")) () ")"))))) (; ";")) (expression_statement "uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));" (assignment_expression "uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610))" (identifier "uVar2") (= "=") (call_expression "FUN_001e5d80(*(undefined8 *)(param_1 + 0x610))" (identifier "FUN_001e5d80") (argument_list "(*(undefined8 *)(param_1 + 0x610))" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x610)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x610)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x610)" (( "(") (binary_expression "param_1 + 0x610" (identifier "param_1") (+ "+") (number_literal "0x610")) () ")")))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x92dc) = uVar2;" (assignment_expression "*(undefined4 *)(param_1 + 0x92dc) = uVar2" (pointer_expression "*(undefined4 *)(param_1 + 0x92dc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x92dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x92dc)" (( "(") (binary_expression "param_1 + 0x92dc" (identifier "param_1") (+ "+") (number_literal "0x92dc")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);" (assignment_expression "*(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809)" (pointer_expression "*(undefined1 *)(param_1 + 0x92e0)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x92e0)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x92e0)" (( "(") (binary_expression "param_1 + 0x92e0" (identifier "param_1") (+ "+") (number_literal "0x92e0")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(param_1 + 0x7809)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x7809)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x7809)" (( "(") (binary_expression "param_1 + 0x7809" (identifier "param_1") (+ "+") (number_literal "0x7809")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);" (assignment_expression "*(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8)" (pointer_expression "*(undefined4 *)(param_1 + 0x92e4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x92e4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x92e4)" (( "(") (binary_expression "param_1 + 0x92e4" (identifier "param_1") (+ "+") (number_literal "0x92e4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x91f8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x91f8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x91f8)" (( "(") (binary_expression "param_1 + 0x91f8" (identifier "param_1") (+ "+") (number_literal "0x91f8")) () ")"))))) (; ";")) (expression_statement "pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);" (assignment_expression "pcVar4 = *(char **)(param_3 + (long)iVar6 * 8)" (identifier "pcVar4") (= "=") (pointer_expression "*(char **)(param_3 + (long)iVar6 * 8)" (* "*") (cast_expression "(char **)(param_3 + (long)iVar6 * 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + (long)iVar6 * 8)" (( "(") (binary_expression "param_3 + (long)iVar6 * 8" (identifier "param_3") (+ "+") (binary_expression "(long)iVar6 * 8" (cast_expression "(long)iVar6" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "iVar6")) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (local_99 == '\0') break;" (if "if") (parenthesized_expression "(local_99 == '\0')" (( "(") (binary_expression "local_99 == '\0'" (identifier "local_99") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_98[0] = local_88;" (assignment_expression "local_98[0] = local_88" (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_88")) (; ";")) (expression_statement "pcVar5 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar5 = (char *)0xffffffffffffffff" (identifier "pcVar5") (= "=") (cast_expression "(char *)0xffffffffffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffffffffffff"))) (; ";")) (if_statement "if (pcVar4 != (char *)0x0) {\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }" (if "if") (parenthesized_expression "(pcVar4 != (char *)0x0)" (( "(") (binary_expression "pcVar4 != (char *)0x0" (identifier "pcVar4") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_001f144a:\n          local_98[0] = local_88;\n          sVar3 = strlen(pcVar4);\n          pcVar5 = pcVar4 + sVar3;\n        }" ({ "{") (labeled_statement "LAB_001f144a:\n          local_98[0] = local_88;" (statement_identifier "LAB_001f144a") (: ":") (expression_statement "local_98[0] = local_88;" (assignment_expression "local_98[0] = local_88" (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_88")) (; ";"))) (expression_statement "sVar3 = strlen(pcVar4);" (assignment_expression "sVar3 = strlen(pcVar4)" (identifier "sVar3") (= "=") (call_expression "strlen(pcVar4)" (identifier "strlen") (argument_list "(pcVar4)" (( "(") (identifier "pcVar4") () ")")))) (; ";")) (expression_statement "pcVar5 = pcVar4 + sVar3;" (assignment_expression "pcVar5 = pcVar4 + sVar3" (identifier "pcVar5") (= "=") (binary_expression "pcVar4 + sVar3" (identifier "pcVar4") (+ "+") (identifier "sVar3"))) (; ";")) (} "}"))) (expression_statement "FUN_001665c0(local_98,pcVar4,pcVar5);" (call_expression "FUN_001665c0(local_98,pcVar4,pcVar5)" (identifier "FUN_001665c0") (argument_list "(local_98,pcVar4,pcVar5)" (( "(") (identifier "local_98") (, ",") (identifier "pcVar4") (, ",") (identifier "pcVar5") () ")"))) (; ";")) (expression_statement "local_70[0] = local_60;" (assignment_expression "local_70[0] = local_60" (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_001665c0(local_70,"");" (call_expression "FUN_001665c0(local_70,"")" (identifier "FUN_001665c0") (argument_list "(local_70,"")" (( "(") (identifier "local_70") (, ",") (string_literal """" (" """) (" """)) () ")"))) (; ";")) (expression_statement "local_4c = *(undefined8 *)(param_1 + 0x92d8);" (assignment_expression "local_4c = *(undefined8 *)(param_1 + 0x92d8)" (identifier "local_4c") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x92d8)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x92d8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x92d8)" (( "(") (binary_expression "param_1 + 0x92d8" (identifier "param_1") (+ "+") (number_literal "0x92d8")) () ")"))))) (; ";")) (expression_statement "uStack_44 = *(undefined8 *)(param_1 + 0x92e0);" (assignment_expression "uStack_44 = *(undefined8 *)(param_1 + 0x92e0)" (identifier "uStack_44") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x92e0)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x92e0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x92e0)" (( "(") (binary_expression "param_1 + 0x92e0" (identifier "param_1") (+ "+") (number_literal "0x92e0")) () ")"))))) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_001e6fb0(param_1 + 38000,local_98);" (call_expression "FUN_001e6fb0(param_1 + 38000,local_98)" (identifier "FUN_001e6fb0") (argument_list "(param_1 + 38000,local_98)" (( "(") (binary_expression "param_1 + 38000" (identifier "param_1") (+ "+") (number_literal "38000")) (, ",") (identifier "local_98") () ")"))) (; ";")) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (local_70[0] != local_60) {\n          FUN_002dac70();\n        }" (if "if") (parenthesized_expression "(local_70[0] != local_60)" (( "(") (binary_expression "local_70[0] != local_60" (subscript_expression "local_70[0]" (identifier "local_70") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_60")) () ")")) (compound_statement "{\n          FUN_002dac70();\n        }" ({ "{") (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" (identifier "FUN_002dac70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_98[0] != local_88) {\n          FUN_002dac70();\n        }" (if "if") (parenthesized_expression "(local_98[0] != local_88)" (( "(") (binary_expression "local_98[0] != local_88" (subscript_expression "local_98[0]" (identifier "local_98") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_88")) () ")")) (compound_statement "{\n          FUN_002dac70();\n        }" ({ "{") (expression_statement "FUN_002dac70();" (call_expression "FUN_002dac70()" (identifier "FUN_002dac70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 <= iVar6) goto LAB_001f1588;" (if "if") (parenthesized_expression "(param_2 <= iVar6)" (( "(") (binary_expression "param_2 <= iVar6" (identifier "param_2") (<= "<=") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_001f1588;" (goto "goto") (statement_identifier "LAB_001f1588") (; ";"))) (} "}"))) (if_statement "if (*pcVar4 != '-') goto LAB_001f144a;" (if "if") (parenthesized_expression "(*pcVar4 != '-')" (( "(") (binary_expression "*pcVar4 != '-'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (!= "!=") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (goto_statement "goto LAB_001f144a;" (goto "goto") (statement_identifier "LAB_001f144a") (; ";"))) (expression_statement "iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);" (assignment_expression "iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99)" (identifier "iVar6") (= "=") (call_expression "FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99)" (identifier "FUN_001ef8d0") (argument_list "(param_1,param_2,param_3,iVar6,&local_99)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "iVar6") (, ",") (pointer_expression "&local_99" (& "&") (identifier "local_99")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < param_2)" (( "(") (binary_expression "iVar6 < param_2" (identifier "iVar6") (< "<") (identifier "param_2")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_001f1588:\n  uVar1 = DAT_0043e8e8;" (statement_identifier "LAB_001f1588") (: ":") (expression_statement "uVar1 = DAT_0043e8e8;" (assignment_expression "uVar1 = DAT_0043e8e8" (identifier "uVar1") (= "=") (identifier "DAT_0043e8e8")) (; ";"))) (if_statement "if (*(char *)(param_1 + 0x9488) == '\0') {\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }\n  else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x9488) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x9488) == '\0'" (pointer_expression "*(char *)(param_1 + 0x9488)" (* "*") (cast_expression "(char *)(param_1 + 0x9488)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x9488)" (( "(") (binary_expression "param_1 + 0x9488" (identifier "param_1") (+ "+") (number_literal "0x9488")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }\n  }" ({ "{") (if_statement "if (*(char *)(param_1 + 0x9489) == '\0') {\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x9489) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x9489) == '\0'" (pointer_expression "*(char *)(param_1 + 0x9489)" (* "*") (cast_expression "(char *)(param_1 + 0x9489)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x9489)" (( "(") (binary_expression "param_1 + 0x9489" (identifier "param_1") (+ "+") (number_literal "0x9489")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      FUN_001f00b0(param_1 + 8);\n      return;\n    }" ({ "{") (expression_statement "FUN_001f00b0(param_1 + 8);" (call_expression "FUN_001f00b0(param_1 + 8)" (identifier "FUN_001f00b0") (argument_list "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }" (else "else") (compound_statement "{\n    pcVar4 = (char *)gettext("%s: missing group end\n");\n    fprintf(stderr,pcVar4,uVar1);\n    FUN_001e5430();\n  }" ({ "{") (expression_statement "pcVar4 = (char *)gettext("%s: missing group end\n");" (assignment_expression "pcVar4 = (char *)gettext("%s: missing group end\n")" (identifier "pcVar4") (= "=") (cast_expression "(char *)gettext("%s: missing group end\n")" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "gettext("%s: missing group end\n")" (identifier "gettext") (argument_list "("%s: missing group end\n")" (( "(") (string_literal ""%s: missing group end\n"" (" """) (string_content "%s: missing group end") (escape_sequence "\n") (" """)) () ")"))))) (; ";")) (expression_statement "fprintf(stderr,pcVar4,uVar1);" (call_expression "fprintf(stderr,pcVar4,uVar1)" (identifier "fprintf") (argument_list "(stderr,pcVar4,uVar1)" (( "(") (identifier "stderr") (, ",") (identifier "pcVar4") (, ",") (identifier "uVar1") () ")"))) (; ";")) (expression_statement "FUN_001e5430();" (call_expression "FUN_001e5430()" (identifier "FUN_001e5430") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "uVar1 = DAT_0043e8e8;" (assignment_expression "uVar1 = DAT_0043e8e8" (identifier "uVar1") (= "=") (identifier "DAT_0043e8e8")) (; ";")) (expression_statement "pcVar4 = (char *)gettext("%s: missing lib end\n");" (assignment_expression "pcVar4 = (char *)gettext("%s: missing lib end\n")" (identifier "pcVar4") (= "=") (cast_expression "(char *)gettext("%s: missing lib end\n")" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "gettext("%s: missing lib end\n")" (identifier "gettext") (argument_list "("%s: missing lib end\n")" (( "(") (string_literal ""%s: missing lib end\n"" (" """) (string_content "%s: missing lib end") (escape_sequence "\n") (" """)) () ")"))))) (; ";")) (expression_statement "fprintf(stderr,pcVar4,uVar1);" (call_expression "fprintf(stderr,pcVar4,uVar1)" (identifier "fprintf") (argument_list "(stderr,pcVar4,uVar1)" (( "(") (identifier "stderr") (, ",") (identifier "pcVar4") (, ",") (identifier "uVar1") () ")"))) (; ";")) (expression_statement "FUN_001e5430();" (call_expression "FUN_001e5430()" (identifier "FUN_001e5430") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0014c754();" (call_expression "FUN_0014c754()" (identifier "FUN_0014c754") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void process(Command_line * this, int argc, char * * argv) */

void __thiscall gold::type_1::function_1(type_1 *this,int var_1,char **argv)

{
  char *var_4;
  type_2 OVar2;
  size_t var_6;
  char **__format;
  char *pcVar4;
  type_3 *pFVar5;
  int var_10;
  bool var_3;
  type_4 file;
  
  var_3 = false;
  if (0 < var_1) {
    var_10 = 0;
    do {
      while( true ) {
        var_4 = (this->options_).format_.value;
        (this->position_options_).as_needed_ = (this->options_).as_needed_.value;
        (this->position_options_).Bdynamic_ = (this->options_).Bdynamic_.value;
        OVar2 = General_options::var_2(var_4);
        (this->position_options_).format_enum_ = OVar2;
        (this->position_options_).whole_archive_ = (this->options_).whole_archive_.value;
        (this->position_options_).incremental_disposition_ =
             (this->options_).incremental_disposition_;
        var_4 = argv[var_10];
        if (var_3 == false) break;
        file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;
        pcVar4 = (char *)0xffffffffffffffff;
        if (var_4 != (char *)0x0) {
LAB_001f144a:
          file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;
          var_6 = var_5(var_4);
          pcVar4 = var_4 + var_6;
        }
        std::__cxx11::basic_string<var_12,_std::char_traits<var_12>,_std::var_11<var_12>var_13>::
        var_7<var_8*>(&file.name_,var_4,pcVar4);
        file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;
        file.type_ = INPUT_FILE_TYPE_FILE;
                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */
        std::__cxx11::basic_string<var_12,_std::char_traits<var_12>,_std::var_11<var_12>var_13>::
        var_7<var_8*>(&file.extra_search_path_,"");
        file.options_.as_needed_ = (this->position_options_).as_needed_;
        file.options_.Bdynamic_ = (this->position_options_).Bdynamic_;
        file.options_._2_2_ = *(type_5 *)&(this->position_options_).field_0x2;
        file.options_.format_enum_ = (this->position_options_).format_enum_;
        file.options_.whole_archive_ = (this->position_options_).whole_archive_;
        file.options_._9_3_ = *(type_6 *)&(this->position_options_).field_0x9;
        file.options_.incremental_disposition_ = (this->position_options_).incremental_disposition_;
        file.just_symbols_ = false;
        file.arg_serial_ = 0;
                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */
        Input_arguments::var_9(&this->inputs_,&file);
        var_10 = var_10 + 1;
        if ((anon_union_16_2_edb7204a_for_basic_string<var_12,_std::char_traits<var_12>,_std::var_11<var_12>var_13>var_14
             *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {
          var_15(file.extra_search_path_._M_dataplus._M_p);
        }
        if ((anon_union_16_2_edb7204a_for_basic_string<var_12,_std::char_traits<var_12>,_std::var_11<var_12>var_13>var_14
             *)file.name_._M_dataplus._M_p != &file.name_.field_2) {
          var_15(file.name_._M_dataplus._M_p);
        }
        if (var_1 <= var_10) goto LAB_001f1588;
      }
      if (*var_4 != '-') goto LAB_001f144a;
      var_10 = var_16(this,var_1,argv,var_10,&var_3);
    } while (var_10 < var_1);
  }
LAB_001f1588:
  var_4 = program_name;
  if ((this->inputs_).in_group_ == false) {
    if ((this->inputs_).in_lib_ == false) {
      General_options::var_17(&this->options_);
      return;
    }
  }
  else {
    pcVar4 = (char *)var_18("%s: missing group end\n");
    var_19(stderr,pcVar4,var_4);
    anon_unknown.dwarf_b246f7::var_20();
  }
  var_4 = program_name;
  __format = (char **)var_18("%s: missing lib end\n");
  pFVar5 = stderr;
  var_19(stderr,(char *)__format,var_4);
  var_10 = (int)pFVar5;
  anon_unknown.dwarf_b246f7::var_20();
                    /* catch() { ... } // from try @ 001f14aa with catch @ 001f160d */
  function_1(var_10,__format);
  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: (primitive_type) declarator: (identifier)) (parameter_declaration type: (sized_type_specifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) 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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (char_literal (escape_sequence)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (pointer_expression argument: (identifier))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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 (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 (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) (return_statement)))) alternative: (else_clause (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 (string_literal (string_content) (escape_sequence))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content) (escape_sequence))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

void MASKED(long param_1,int param_2,long param_3)

{
  undefined8 uVar1;
  undefined4 uVar2;
  size_t sVar3;
  char *pcVar4;
  char *pcVar5;
  int iVar6;
  char local_99;
  undefined1 *local_98 [2];
  undefined1 local_88 [16];
  undefined4 local_78;
  undefined1 *local_70 [2];
  undefined1 local_60 [16];
  undefined1 local_50;
  undefined8 local_4c;
  undefined8 uStack_44;
  undefined4 local_3c;
  
  local_99 = '\0';
  if (0 < param_2) {
    iVar6 = 0;
    do {
      while( true ) {
        *(undefined1 *)(param_1 + 0x92d8) = *(undefined1 *)(param_1 + 0x4d1);
        *(undefined1 *)(param_1 + 0x92d9) = *(undefined1 *)(param_1 + 0x891);
        uVar2 = FUN_001e5d80(*(undefined8 *)(param_1 + 0x610));
        *(undefined4 *)(param_1 + 0x92dc) = uVar2;
        *(undefined1 *)(param_1 + 0x92e0) = *(undefined1 *)(param_1 + 0x7809);
        *(undefined4 *)(param_1 + 0x92e4) = *(undefined4 *)(param_1 + 0x91f8);
        pcVar4 = *(char **)(param_3 + (long)iVar6 * 8);
        if (local_99 == '\0') break;
        local_98[0] = local_88;
        pcVar5 = (char *)0xffffffffffffffff;
        if (pcVar4 != (char *)0x0) {
LAB_001f144a:
          local_98[0] = local_88;
          sVar3 = strlen(pcVar4);
          pcVar5 = pcVar4 + sVar3;
        }
        FUN_001665c0(local_98,pcVar4,pcVar5);
        local_70[0] = local_60;
        local_78 = 0;
                    /* try { // try from 001f1485 to 001f1489 has its CatchHandler @ 001f1615 */
        FUN_001665c0(local_70,"");
        local_4c = *(undefined8 *)(param_1 + 0x92d8);
        uStack_44 = *(undefined8 *)(param_1 + 0x92e0);
        local_50 = 0;
        local_3c = 0;
                    /* try { // try from 001f14aa to 001f14ae has its CatchHandler @ 001f160d */
        FUN_001e6fb0(param_1 + 38000,local_98);
        iVar6 = iVar6 + 1;
        if (local_70[0] != local_60) {
          FUN_002dac70();
        }
        if (local_98[0] != local_88) {
          FUN_002dac70();
        }
        if (param_2 <= iVar6) goto LAB_001f1588;
      }
      if (*pcVar4 != '-') goto LAB_001f144a;
      iVar6 = FUN_001ef8d0(param_1,param_2,param_3,iVar6,&local_99);
    } while (iVar6 < param_2);
  }
LAB_001f1588:
  uVar1 = DAT_0043e8e8;
  if (*(char *)(param_1 + 0x9488) == '\0') {
    if (*(char *)(param_1 + 0x9489) == '\0') {
      FUN_001f00b0(param_1 + 8);
      return;
    }
  }
  else {
    pcVar4 = (char *)gettext("%s: missing group end\n");
    fprintf(stderr,pcVar4,uVar1);
    FUN_001e5430();
  }
  uVar1 = DAT_0043e8e8;
  pcVar4 = (char *)gettext("%s: missing lib end\n");
  fprintf(stderr,pcVar4,uVar1);
  FUN_001e5430();
                    /* catch() { ... } // from try @ 001f14aa with catch @ 001f160d */
  FUN_0014c754();
  return;
}

