
lang_output_section_statement_type *
lang_output_section_statement_lookup(char *name,int constraint,bfd_boolean create)

{
  int iVar1;
  bfd_hash_entry *string;
  bfd_hash_entry *pbVar2;
  char *pcVar3;
  undefined4 in_register_00000014;
  bfd_hash_entry *pbVar4;
  lang_output_section_statement_type *plVar5;
  
  pbVar2 = (bfd_hash_entry *)
           bfd_hash_lookup(&output_section_statement_table,name,
                           CONCAT44(in_register_00000014,create),0);
  if (pbVar2 == (bfd_hash_entry *)0x0) {
    plVar5 = (lang_output_section_statement_type *)0x0;
    if (create != 0) {
      pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);
      einfo(pcVar3,name);
    }
  }
  else {
    string = pbVar2[3].next;
    if (string != (bfd_hash_entry *)0x0) {
      pbVar4 = pbVar2;
      if ((create == 0) || (constraint != 0x17e)) {
        do {
          pbVar2 = pbVar4;
          iVar1 = *(int *)((long)&pbVar2[6].string + 4);
          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;
          pbVar4 = pbVar2->next;
        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));
        pbVar4 = pbVar2;
        if (create == 0) {
          return (lang_output_section_statement_type *)0x0;
        }
      }
      pbVar2 = output_section_statement_newfunc
                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string);
      if (pbVar2 == (bfd_hash_entry *)0x0) {
        pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);
        einfo(pcVar3,string);
        return (lang_output_section_statement_type *)0x0;
      }
      pcVar3 = pbVar4->string;
      pbVar2->next = pbVar4->next;
      pbVar2->string = pcVar3;
      pbVar2->hash = pbVar4->hash;
      pbVar4->next = pbVar2;
      name = (char *)string;
    }
    pbVar2[3].next = (bfd_hash_entry *)name;
    *(int *)((long)&pbVar2[6].string + 4) = constraint;
LAB_0011b02f:
    plVar5 = (lang_output_section_statement_type *)(pbVar2 + 1);
  }
  return plVar5;
}



long * FUN_0011afb0(long param_1,int param_2,undefined8 param_3)

{
  long lVar1;
  long lVar2;
  long *plVar3;
  undefined8 uVar4;
  long *plVar5;
  int iVar6;
  
  plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);
  iVar6 = (int)param_3;
  if (plVar3 == (long *)0x0) {
    plVar3 = (long *)0x0;
    if (iVar6 != 0) {
      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);
      FUN_00129380(uVar4,param_1);
    }
  }
  else {
    lVar1 = plVar3[9];
    if (lVar1 != 0) {
      plVar5 = plVar3;
      if ((iVar6 == 0) || (param_2 != 0x17e)) {
        do {
          plVar3 = plVar5;
          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||
             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;
          plVar5 = (long *)*plVar3;
        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));
        plVar5 = plVar3;
        if (iVar6 == 0) {
          return (long *)0x0;
        }
      }
      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);
      if (plVar3 == (long *)0x0) {
        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);
        FUN_00129380(uVar4,lVar1);
        return (long *)0x0;
      }
      lVar2 = plVar5[1];
      *plVar3 = *plVar5;
      plVar3[1] = lVar2;
      plVar3[2] = plVar5[2];
      *plVar5 = (long)plVar3;
      param_1 = lVar1;
    }
    plVar3[9] = param_1;
    *(int *)((long)plVar3 + 0x9c) = param_2;
LAB_0011b02f:
    plVar3 = plVar3 + 3;
  }
  return plVar3;
}


PUSH R14
XOR ECX,ECX
MOV R14D,EDX
PUSH R13
MOV R13,RDI
PUSH R12
PUSH RBP
MOV EBP,ESI
MOV RSI,RDI
LEA RDI,[0x2b4d00]
PUSH RBX
CALL 0x0010d750
MOV RBX,RAX
TEST RAX,RAX
JZ 0x0011b080
MOV R12,qword ptr [RAX + 0x48]
TEST R12,R12
JZ 0x0011b025
TEST R14D,R14D
JZ 0x0011b059
CMP EBP,0x17e
JNZ 0x0011b059
XOR EDI,EDI
MOV RDX,R12
LEA RSI,[0x2b4d00]
CALL 0x00116530
TEST RAX,RAX
JZ 0x0011b0a7
MOVDQU XMM0,xmmword ptr [RBX]
MOV R13,R12
MOVUPS xmmword ptr [RAX],XMM0
MOV RDX,qword ptr [RBX + 0x10]
MOV qword ptr [RAX + 0x10],RDX
MOV qword ptr [RBX],RAX
MOV RBX,RAX
MOV qword ptr [RBX + 0x48],R13
MOV dword ptr [RBX + 0x9c],EBP
ADD RBX,0x18
MOV RAX,RBX
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
TEST EAX,EAX
JS 0x0011b048
TEST EBP,EBP
JZ 0x0011b02f
MOV RAX,qword ptr [RBX]
TEST RAX,RAX
JZ 0x0011b068
CMP R12,qword ptr [RAX + 0x48]
JNZ 0x0011b068
MOV RBX,RAX
MOV EAX,dword ptr [RBX + 0x9c]
CMP EAX,EBP
JNZ 0x0011b040
JMP 0x0011b02f
TEST R14D,R14D
JNZ 0x0011aff3
XOR EBX,EBX
MOV RAX,RBX
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
TEST R14D,R14D
JZ 0x0011b033
XOR EDI,EDI
MOV EDX,0x5
LEA RSI,[0x16c8b0]
CALL 0x0010d300
MOV RSI,R13
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00129380
JMP 0x0011b033
MOV EDX,0x5
LEA RSI,[0x16c8b0]
XOR EDI,EDI
XOR EBX,EBX
CALL 0x0010d300
MOV RSI,R12
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00129380
JMP 0x0011b033
(translation_unit "long * FUN_0011afb0(long param_1,int param_2,undefined8 param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined8 uVar4;\n  long *plVar5;\n  int iVar6;\n  \n  plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);\n  iVar6 = (int)param_3;\n  if (plVar3 == (long *)0x0) {\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }\n  else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }\n  return plVar3;\n}\n\n" (function_definition "long * FUN_0011afb0(long param_1,int param_2,undefined8 param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined8 uVar4;\n  long *plVar5;\n  int iVar6;\n  \n  plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);\n  iVar6 = (int)param_3;\n  if (plVar3 == (long *)0x0) {\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }\n  else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }\n  return plVar3;\n}" (sized_type_specifier "long" long) (pointer_declarator "* FUN_0011afb0(long param_1,int param_2,undefined8 param_3)" * (function_declarator "FUN_0011afb0(long param_1,int param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,int param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) )))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined8 uVar4;\n  long *plVar5;\n  int iVar6;\n  \n  plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);\n  iVar6 = (int)param_3;\n  if (plVar3 == (long *)0x0) {\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }\n  else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }\n  return plVar3;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "long *plVar5;" (sized_type_specifier "long" long) (pointer_declarator "*plVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (expression_statement "plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);" (assignment_expression "plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0)" identifier = (cast_expression "(long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0)" identifier (argument_list "(&DAT_002b4d00,param_1,param_3,0)" ( (pointer_expression "&DAT_002b4d00" & identifier) , identifier , identifier , number_literal ))))) ;) (expression_statement "iVar6 = (int)param_3;" (assignment_expression "iVar6 = (int)param_3" identifier = (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (plVar3 == (long *)0x0) {\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }\n  else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }" if (parenthesized_expression "(plVar3 == (long *)0x0)" ( (binary_expression "plVar3 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }" { (expression_statement "plVar3 = (long *)0x0;" (assignment_expression "plVar3 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }" { (expression_statement "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier (argument_list "(0,"%F%P: failed creating section `%s\': %E\n",5)" ( number_literal , (string_literal ""%F%P: failed creating section `%s\': %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00129380(uVar4,param_1);" (call_expression "FUN_00129380(uVar4,param_1)" identifier (argument_list "(uVar4,param_1)" ( identifier , identifier ))) ;) })) }) (else_clause "else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }" else (compound_statement "{\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }" { (expression_statement "lVar1 = plVar3[9];" (assignment_expression "lVar1 = plVar3[9]" identifier = (subscript_expression "plVar3[9]" identifier [ number_literal ])) ;) (if_statement "if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }" { (expression_statement "plVar5 = plVar3;" (assignment_expression "plVar5 = plVar3" identifier = identifier) ;) (if_statement "if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }" if (parenthesized_expression "((iVar6 == 0) || (param_2 != 0x17e))" ( (binary_expression "(iVar6 == 0) || (param_2 != 0x17e)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(param_2 != 0x17e)" ( (binary_expression "param_2 != 0x17e" identifier != number_literal) ))) )) (compound_statement "{\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }" { (do_statement "do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));" do (compound_statement "{\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        }" { (expression_statement "plVar3 = plVar5;" (assignment_expression "plVar3 = plVar5" identifier = identifier) ;) (if_statement "if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;" if (parenthesized_expression "((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0))))" ( (binary_expression "(*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))" (parenthesized_expression "(*(int *)((long)plVar3 + 0x9c) == param_2)" ( (binary_expression "*(int *)((long)plVar3 + 0x9c) == param_2" (pointer_expression "*(int *)((long)plVar3 + 0x9c)" * (cast_expression "(int *)((long)plVar3 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar3 + 0x9c)" ( (binary_expression "(long)plVar3 + 0x9c" (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == identifier) )) || (parenthesized_expression "((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))" ( (parenthesized_expression "(-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0))" ( (binary_expression "-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)" (binary_expression "-1 < *(int *)((long)plVar3 + 0x9c)" number_literal < (pointer_expression "*(int *)((long)plVar3 + 0x9c)" * (cast_expression "(int *)((long)plVar3 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar3 + 0x9c)" ( (binary_expression "(long)plVar3 + 0x9c" (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) && (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0011b02f;" goto statement_identifier ;)) (expression_statement "plVar5 = (long *)*plVar3;" (assignment_expression "plVar5 = (long *)*plVar3" identifier = (cast_expression "(long *)*plVar3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar3" * identifier))) ;) }) while (parenthesized_expression "((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]))" ( (binary_expression "(plVar5 != (long *)0x0) && (lVar1 == plVar5[9])" (parenthesized_expression "(plVar5 != (long *)0x0)" ( (binary_expression "plVar5 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(lVar1 == plVar5[9])" ( (binary_expression "lVar1 == plVar5[9]" identifier == (subscript_expression "plVar5[9]" identifier [ number_literal ])) ))) )) ;) (expression_statement "plVar5 = plVar3;" (assignment_expression "plVar5 = plVar3" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n          return (long *)0x0;\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          return (long *)0x0;\n        }" { (return_statement "return (long *)0x0;" return (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })) (expression_statement "plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);" (assignment_expression "plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1)" identifier = (cast_expression "(long *)FUN_00116530(0,&DAT_002b4d00,lVar1)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00116530(0,&DAT_002b4d00,lVar1)" identifier (argument_list "(0,&DAT_002b4d00,lVar1)" ( number_literal , (pointer_expression "&DAT_002b4d00" & identifier) , identifier ))))) ;) (if_statement "if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }" if (parenthesized_expression "(plVar3 == (long *)0x0)" ( (binary_expression "plVar3 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }" { (expression_statement "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier (argument_list "(0,"%F%P: failed creating section `%s\': %E\n",5)" ( number_literal , (string_literal ""%F%P: failed creating section `%s\': %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00129380(uVar4,lVar1);" (call_expression "FUN_00129380(uVar4,lVar1)" identifier (argument_list "(uVar4,lVar1)" ( identifier , identifier ))) ;) (return_statement "return (long *)0x0;" return (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "lVar2 = plVar5[1];" (assignment_expression "lVar2 = plVar5[1]" identifier = (subscript_expression "plVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*plVar3 = *plVar5;" (assignment_expression "*plVar3 = *plVar5" (pointer_expression "*plVar3" * identifier) = (pointer_expression "*plVar5" * identifier)) ;) (expression_statement "plVar3[1] = lVar2;" (assignment_expression "plVar3[1] = lVar2" (subscript_expression "plVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar3[2] = plVar5[2];" (assignment_expression "plVar3[2] = plVar5[2]" (subscript_expression "plVar3[2]" identifier [ number_literal ]) = (subscript_expression "plVar5[2]" identifier [ number_literal ])) ;) (expression_statement "*plVar5 = (long)plVar3;" (assignment_expression "*plVar5 = (long)plVar3" (pointer_expression "*plVar5" * identifier) = (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "param_1 = lVar1;" (assignment_expression "param_1 = lVar1" identifier = identifier) ;) })) (expression_statement "plVar3[9] = param_1;" (assignment_expression "plVar3[9] = param_1" (subscript_expression "plVar3[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)((long)plVar3 + 0x9c) = param_2;" (assignment_expression "*(int *)((long)plVar3 + 0x9c) = param_2" (pointer_expression "*(int *)((long)plVar3 + 0x9c)" * (cast_expression "(int *)((long)plVar3 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar3 + 0x9c)" ( (binary_expression "(long)plVar3 + 0x9c" (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0011b02f:\n    plVar3 = plVar3 + 3;" statement_identifier : (expression_statement "plVar3 = plVar3 + 3;" (assignment_expression "plVar3 = plVar3 + 3" identifier = (binary_expression "plVar3 + 3" identifier + number_literal)) ;)) }))) (return_statement "return plVar3;" return identifier ;) })))
(translation_unit "lang_output_section_statement_type *\nlang_output_section_statement_lookup(char *name,int constraint,bfd_boolean create)\n\n{\n  int iVar1;\n  bfd_hash_entry *string;\n  bfd_hash_entry *pbVar2;\n  char *pcVar3;\n  undefined4 in_register_00000014;\n  bfd_hash_entry *pbVar4;\n  lang_output_section_statement_type *plVar5;\n  \n  pbVar2 = (bfd_hash_entry *)\n           bfd_hash_lookup(&output_section_statement_table,name,\n                           CONCAT44(in_register_00000014,create),0);\n  if (pbVar2 == (bfd_hash_entry *)0x0) {\n    plVar5 = (lang_output_section_statement_type *)0x0;\n    if (create != 0) {\n      pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      einfo(pcVar3,name);\n    }\n  }\n  else {\n    string = pbVar2[3].next;\n    if (string != (bfd_hash_entry *)0x0) {\n      pbVar4 = pbVar2;\n      if ((create == 0) || (constraint != 0x17e)) {\n        do {\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));\n        pbVar4 = pbVar2;\n        if (create == 0) {\n          return (lang_output_section_statement_type *)0x0;\n        }\n      }\n      pbVar2 = output_section_statement_newfunc\n                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string);\n      if (pbVar2 == (bfd_hash_entry *)0x0) {\n        pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        einfo(pcVar3,string);\n        return (lang_output_section_statement_type *)0x0;\n      }\n      pcVar3 = pbVar4->string;\n      pbVar2->next = pbVar4->next;\n      pbVar2->string = pcVar3;\n      pbVar2->hash = pbVar4->hash;\n      pbVar4->next = pbVar2;\n      name = (char *)string;\n    }\n    pbVar2[3].next = (bfd_hash_entry *)name;\n    *(int *)((long)&pbVar2[6].string + 4) = constraint;\nLAB_0011b02f:\n    plVar5 = (lang_output_section_statement_type *)(pbVar2 + 1);\n  }\n  return plVar5;\n}\n\n" (function_definition "lang_output_section_statement_type *\nlang_output_section_statement_lookup(char *name,int constraint,bfd_boolean create)\n\n{\n  int iVar1;\n  bfd_hash_entry *string;\n  bfd_hash_entry *pbVar2;\n  char *pcVar3;\n  undefined4 in_register_00000014;\n  bfd_hash_entry *pbVar4;\n  lang_output_section_statement_type *plVar5;\n  \n  pbVar2 = (bfd_hash_entry *)\n           bfd_hash_lookup(&output_section_statement_table,name,\n                           CONCAT44(in_register_00000014,create),0);\n  if (pbVar2 == (bfd_hash_entry *)0x0) {\n    plVar5 = (lang_output_section_statement_type *)0x0;\n    if (create != 0) {\n      pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      einfo(pcVar3,name);\n    }\n  }\n  else {\n    string = pbVar2[3].next;\n    if (string != (bfd_hash_entry *)0x0) {\n      pbVar4 = pbVar2;\n      if ((create == 0) || (constraint != 0x17e)) {\n        do {\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));\n        pbVar4 = pbVar2;\n        if (create == 0) {\n          return (lang_output_section_statement_type *)0x0;\n        }\n      }\n      pbVar2 = output_section_statement_newfunc\n                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string);\n      if (pbVar2 == (bfd_hash_entry *)0x0) {\n        pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        einfo(pcVar3,string);\n        return (lang_output_section_statement_type *)0x0;\n      }\n      pcVar3 = pbVar4->string;\n      pbVar2->next = pbVar4->next;\n      pbVar2->string = pcVar3;\n      pbVar2->hash = pbVar4->hash;\n      pbVar4->next = pbVar2;\n      name = (char *)string;\n    }\n    pbVar2[3].next = (bfd_hash_entry *)name;\n    *(int *)((long)&pbVar2[6].string + 4) = constraint;\nLAB_0011b02f:\n    plVar5 = (lang_output_section_statement_type *)(pbVar2 + 1);\n  }\n  return plVar5;\n}" type_identifier (pointer_declarator "*\nlang_output_section_statement_lookup(char *name,int constraint,bfd_boolean create)" * (function_declarator "lang_output_section_statement_lookup(char *name,int constraint,bfd_boolean create)" identifier (parameter_list "(char *name,int constraint,bfd_boolean create)" ( (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "int constraint" primitive_type identifier) , (parameter_declaration "bfd_boolean create" type_identifier identifier) )))) (compound_statement "{\n  int iVar1;\n  bfd_hash_entry *string;\n  bfd_hash_entry *pbVar2;\n  char *pcVar3;\n  undefined4 in_register_00000014;\n  bfd_hash_entry *pbVar4;\n  lang_output_section_statement_type *plVar5;\n  \n  pbVar2 = (bfd_hash_entry *)\n           bfd_hash_lookup(&output_section_statement_table,name,\n                           CONCAT44(in_register_00000014,create),0);\n  if (pbVar2 == (bfd_hash_entry *)0x0) {\n    plVar5 = (lang_output_section_statement_type *)0x0;\n    if (create != 0) {\n      pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      einfo(pcVar3,name);\n    }\n  }\n  else {\n    string = pbVar2[3].next;\n    if (string != (bfd_hash_entry *)0x0) {\n      pbVar4 = pbVar2;\n      if ((create == 0) || (constraint != 0x17e)) {\n        do {\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));\n        pbVar4 = pbVar2;\n        if (create == 0) {\n          return (lang_output_section_statement_type *)0x0;\n        }\n      }\n      pbVar2 = output_section_statement_newfunc\n                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string);\n      if (pbVar2 == (bfd_hash_entry *)0x0) {\n        pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        einfo(pcVar3,string);\n        return (lang_output_section_statement_type *)0x0;\n      }\n      pcVar3 = pbVar4->string;\n      pbVar2->next = pbVar4->next;\n      pbVar2->string = pcVar3;\n      pbVar2->hash = pbVar4->hash;\n      pbVar4->next = pbVar2;\n      name = (char *)string;\n    }\n    pbVar2[3].next = (bfd_hash_entry *)name;\n    *(int *)((long)&pbVar2[6].string + 4) = constraint;\nLAB_0011b02f:\n    plVar5 = (lang_output_section_statement_type *)(pbVar2 + 1);\n  }\n  return plVar5;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "bfd_hash_entry *string;" type_identifier (pointer_declarator "*string" * identifier) ;) (declaration "bfd_hash_entry *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined4 in_register_00000014;" type_identifier identifier ;) (declaration "bfd_hash_entry *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "lang_output_section_statement_type *plVar5;" type_identifier (pointer_declarator "*plVar5" * identifier) ;) (expression_statement "pbVar2 = (bfd_hash_entry *)\n           bfd_hash_lookup(&output_section_statement_table,name,\n                           CONCAT44(in_register_00000014,create),0);" (assignment_expression "pbVar2 = (bfd_hash_entry *)\n           bfd_hash_lookup(&output_section_statement_table,name,\n                           CONCAT44(in_register_00000014,create),0)" identifier = (cast_expression "(bfd_hash_entry *)\n           bfd_hash_lookup(&output_section_statement_table,name,\n                           CONCAT44(in_register_00000014,create),0)" ( (type_descriptor "bfd_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_hash_lookup(&output_section_statement_table,name,\n                           CONCAT44(in_register_00000014,create),0)" identifier (argument_list "(&output_section_statement_table,name,\n                           CONCAT44(in_register_00000014,create),0)" ( (pointer_expression "&output_section_statement_table" & identifier) , identifier , (call_expression "CONCAT44(in_register_00000014,create)" identifier (argument_list "(in_register_00000014,create)" ( identifier , identifier ))) , number_literal ))))) ;) (if_statement "if (pbVar2 == (bfd_hash_entry *)0x0) {\n    plVar5 = (lang_output_section_statement_type *)0x0;\n    if (create != 0) {\n      pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      einfo(pcVar3,name);\n    }\n  }\n  else {\n    string = pbVar2[3].next;\n    if (string != (bfd_hash_entry *)0x0) {\n      pbVar4 = pbVar2;\n      if ((create == 0) || (constraint != 0x17e)) {\n        do {\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));\n        pbVar4 = pbVar2;\n        if (create == 0) {\n          return (lang_output_section_statement_type *)0x0;\n        }\n      }\n      pbVar2 = output_section_statement_newfunc\n                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string);\n      if (pbVar2 == (bfd_hash_entry *)0x0) {\n        pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        einfo(pcVar3,string);\n        return (lang_output_section_statement_type *)0x0;\n      }\n      pcVar3 = pbVar4->string;\n      pbVar2->next = pbVar4->next;\n      pbVar2->string = pcVar3;\n      pbVar2->hash = pbVar4->hash;\n      pbVar4->next = pbVar2;\n      name = (char *)string;\n    }\n    pbVar2[3].next = (bfd_hash_entry *)name;\n    *(int *)((long)&pbVar2[6].string + 4) = constraint;\nLAB_0011b02f:\n    plVar5 = (lang_output_section_statement_type *)(pbVar2 + 1);\n  }" if (parenthesized_expression "(pbVar2 == (bfd_hash_entry *)0x0)" ( (binary_expression "pbVar2 == (bfd_hash_entry *)0x0" identifier == (cast_expression "(bfd_hash_entry *)0x0" ( (type_descriptor "bfd_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    plVar5 = (lang_output_section_statement_type *)0x0;\n    if (create != 0) {\n      pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      einfo(pcVar3,name);\n    }\n  }" { (expression_statement "plVar5 = (lang_output_section_statement_type *)0x0;" (assignment_expression "plVar5 = (lang_output_section_statement_type *)0x0" identifier = (cast_expression "(lang_output_section_statement_type *)0x0" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (create != 0) {\n      pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      einfo(pcVar3,name);\n    }" if (parenthesized_expression "(create != 0)" ( (binary_expression "create != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      einfo(pcVar3,name);\n    }" { (expression_statement "pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier (argument_list "(0,"%F%P: failed creating section `%s\': %E\n",5)" ( number_literal , (string_literal ""%F%P: failed creating section `%s\': %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar3,name);" (call_expression "einfo(pcVar3,name)" identifier (argument_list "(pcVar3,name)" ( identifier , identifier ))) ;) })) }) (else_clause "else {\n    string = pbVar2[3].next;\n    if (string != (bfd_hash_entry *)0x0) {\n      pbVar4 = pbVar2;\n      if ((create == 0) || (constraint != 0x17e)) {\n        do {\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));\n        pbVar4 = pbVar2;\n        if (create == 0) {\n          return (lang_output_section_statement_type *)0x0;\n        }\n      }\n      pbVar2 = output_section_statement_newfunc\n                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string);\n      if (pbVar2 == (bfd_hash_entry *)0x0) {\n        pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        einfo(pcVar3,string);\n        return (lang_output_section_statement_type *)0x0;\n      }\n      pcVar3 = pbVar4->string;\n      pbVar2->next = pbVar4->next;\n      pbVar2->string = pcVar3;\n      pbVar2->hash = pbVar4->hash;\n      pbVar4->next = pbVar2;\n      name = (char *)string;\n    }\n    pbVar2[3].next = (bfd_hash_entry *)name;\n    *(int *)((long)&pbVar2[6].string + 4) = constraint;\nLAB_0011b02f:\n    plVar5 = (lang_output_section_statement_type *)(pbVar2 + 1);\n  }" else (compound_statement "{\n    string = pbVar2[3].next;\n    if (string != (bfd_hash_entry *)0x0) {\n      pbVar4 = pbVar2;\n      if ((create == 0) || (constraint != 0x17e)) {\n        do {\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));\n        pbVar4 = pbVar2;\n        if (create == 0) {\n          return (lang_output_section_statement_type *)0x0;\n        }\n      }\n      pbVar2 = output_section_statement_newfunc\n                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string);\n      if (pbVar2 == (bfd_hash_entry *)0x0) {\n        pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        einfo(pcVar3,string);\n        return (lang_output_section_statement_type *)0x0;\n      }\n      pcVar3 = pbVar4->string;\n      pbVar2->next = pbVar4->next;\n      pbVar2->string = pcVar3;\n      pbVar2->hash = pbVar4->hash;\n      pbVar4->next = pbVar2;\n      name = (char *)string;\n    }\n    pbVar2[3].next = (bfd_hash_entry *)name;\n    *(int *)((long)&pbVar2[6].string + 4) = constraint;\nLAB_0011b02f:\n    plVar5 = (lang_output_section_statement_type *)(pbVar2 + 1);\n  }" { (expression_statement "string = pbVar2[3].next;" (assignment_expression "string = pbVar2[3].next" identifier = (field_expression "pbVar2[3].next" (subscript_expression "pbVar2[3]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (string != (bfd_hash_entry *)0x0) {\n      pbVar4 = pbVar2;\n      if ((create == 0) || (constraint != 0x17e)) {\n        do {\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));\n        pbVar4 = pbVar2;\n        if (create == 0) {\n          return (lang_output_section_statement_type *)0x0;\n        }\n      }\n      pbVar2 = output_section_statement_newfunc\n                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string);\n      if (pbVar2 == (bfd_hash_entry *)0x0) {\n        pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        einfo(pcVar3,string);\n        return (lang_output_section_statement_type *)0x0;\n      }\n      pcVar3 = pbVar4->string;\n      pbVar2->next = pbVar4->next;\n      pbVar2->string = pcVar3;\n      pbVar2->hash = pbVar4->hash;\n      pbVar4->next = pbVar2;\n      name = (char *)string;\n    }" if (parenthesized_expression "(string != (bfd_hash_entry *)0x0)" ( (binary_expression "string != (bfd_hash_entry *)0x0" identifier != (cast_expression "(bfd_hash_entry *)0x0" ( (type_descriptor "bfd_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pbVar4 = pbVar2;\n      if ((create == 0) || (constraint != 0x17e)) {\n        do {\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));\n        pbVar4 = pbVar2;\n        if (create == 0) {\n          return (lang_output_section_statement_type *)0x0;\n        }\n      }\n      pbVar2 = output_section_statement_newfunc\n                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string);\n      if (pbVar2 == (bfd_hash_entry *)0x0) {\n        pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        einfo(pcVar3,string);\n        return (lang_output_section_statement_type *)0x0;\n      }\n      pcVar3 = pbVar4->string;\n      pbVar2->next = pbVar4->next;\n      pbVar2->string = pcVar3;\n      pbVar2->hash = pbVar4->hash;\n      pbVar4->next = pbVar2;\n      name = (char *)string;\n    }" { (expression_statement "pbVar4 = pbVar2;" (assignment_expression "pbVar4 = pbVar2" identifier = identifier) ;) (if_statement "if ((create == 0) || (constraint != 0x17e)) {\n        do {\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));\n        pbVar4 = pbVar2;\n        if (create == 0) {\n          return (lang_output_section_statement_type *)0x0;\n        }\n      }" if (parenthesized_expression "((create == 0) || (constraint != 0x17e))" ( (binary_expression "(create == 0) || (constraint != 0x17e)" (parenthesized_expression "(create == 0)" ( (binary_expression "create == 0" identifier == number_literal) )) || (parenthesized_expression "(constraint != 0x17e)" ( (binary_expression "constraint != 0x17e" identifier != number_literal) ))) )) (compound_statement "{\n        do {\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));\n        pbVar4 = pbVar2;\n        if (create == 0) {\n          return (lang_output_section_statement_type *)0x0;\n        }\n      }" { (do_statement "do {\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        } while ((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next));" do (compound_statement "{\n          pbVar2 = pbVar4;\n          iVar1 = *(int *)((long)&pbVar2[6].string + 4);\n          if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;\n          pbVar4 = pbVar2->next;\n        }" { (expression_statement "pbVar2 = pbVar4;" (assignment_expression "pbVar2 = pbVar4" identifier = identifier) ;) (expression_statement "iVar1 = *(int *)((long)&pbVar2[6].string + 4);" (assignment_expression "iVar1 = *(int *)((long)&pbVar2[6].string + 4)" identifier = (pointer_expression "*(int *)((long)&pbVar2[6].string + 4)" * (cast_expression "(int *)((long)&pbVar2[6].string + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pbVar2[6].string + 4)" ( (binary_expression "(long)&pbVar2[6].string + 4" (cast_expression "(long)&pbVar2[6].string" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pbVar2[6].string" & (field_expression "pbVar2[6].string" (subscript_expression "pbVar2[6]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))) goto LAB_0011b02f;" if (parenthesized_expression "((iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0))))" ( (binary_expression "(iVar1 == constraint) || ((-1 < iVar1 && (constraint == 0)))" (parenthesized_expression "(iVar1 == constraint)" ( (binary_expression "iVar1 == constraint" identifier == identifier) )) || (parenthesized_expression "((-1 < iVar1 && (constraint == 0)))" ( (parenthesized_expression "(-1 < iVar1 && (constraint == 0))" ( (binary_expression "-1 < iVar1 && (constraint == 0)" (binary_expression "-1 < iVar1" number_literal < identifier) && (parenthesized_expression "(constraint == 0)" ( (binary_expression "constraint == 0" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0011b02f;" goto statement_identifier ;)) (expression_statement "pbVar4 = pbVar2->next;" (assignment_expression "pbVar4 = pbVar2->next" identifier = (field_expression "pbVar2->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "((pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next))" ( (binary_expression "(pbVar4 != (bfd_hash_entry *)0x0) && (string == pbVar4[3].next)" (parenthesized_expression "(pbVar4 != (bfd_hash_entry *)0x0)" ( (binary_expression "pbVar4 != (bfd_hash_entry *)0x0" identifier != (cast_expression "(bfd_hash_entry *)0x0" ( (type_descriptor "bfd_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(string == pbVar4[3].next)" ( (binary_expression "string == pbVar4[3].next" identifier == (field_expression "pbVar4[3].next" (subscript_expression "pbVar4[3]" identifier [ number_literal ]) . field_identifier)) ))) )) ;) (expression_statement "pbVar4 = pbVar2;" (assignment_expression "pbVar4 = pbVar2" identifier = identifier) ;) (if_statement "if (create == 0) {\n          return (lang_output_section_statement_type *)0x0;\n        }" if (parenthesized_expression "(create == 0)" ( (binary_expression "create == 0" identifier == number_literal) )) (compound_statement "{\n          return (lang_output_section_statement_type *)0x0;\n        }" { (return_statement "return (lang_output_section_statement_type *)0x0;" return (cast_expression "(lang_output_section_statement_type *)0x0" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })) (expression_statement "pbVar2 = output_section_statement_newfunc\n                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string);" (assignment_expression "pbVar2 = output_section_statement_newfunc\n                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string)" identifier = (call_expression "output_section_statement_newfunc\n                         ((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string)" identifier (argument_list "((bfd_hash_entry *)0x0,&output_section_statement_table,(char *)string)" ( (cast_expression "(bfd_hash_entry *)0x0" ( (type_descriptor "bfd_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (pointer_expression "&output_section_statement_table" & identifier) , (cast_expression "(char *)string" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (pbVar2 == (bfd_hash_entry *)0x0) {\n        pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        einfo(pcVar3,string);\n        return (lang_output_section_statement_type *)0x0;\n      }" if (parenthesized_expression "(pbVar2 == (bfd_hash_entry *)0x0)" ( (binary_expression "pbVar2 == (bfd_hash_entry *)0x0" identifier == (cast_expression "(bfd_hash_entry *)0x0" ( (type_descriptor "bfd_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        einfo(pcVar3,string);\n        return (lang_output_section_statement_type *)0x0;\n      }" { (expression_statement "pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier (argument_list "(0,"%F%P: failed creating section `%s\': %E\n",5)" ( number_literal , (string_literal ""%F%P: failed creating section `%s\': %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar3,string);" (call_expression "einfo(pcVar3,string)" identifier (argument_list "(pcVar3,string)" ( identifier , identifier ))) ;) (return_statement "return (lang_output_section_statement_type *)0x0;" return (cast_expression "(lang_output_section_statement_type *)0x0" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "pcVar3 = pbVar4->string;" (assignment_expression "pcVar3 = pbVar4->string" identifier = (field_expression "pbVar4->string" identifier -> field_identifier)) ;) (expression_statement "pbVar2->next = pbVar4->next;" (assignment_expression "pbVar2->next = pbVar4->next" (field_expression "pbVar2->next" identifier -> field_identifier) = (field_expression "pbVar4->next" identifier -> field_identifier)) ;) (expression_statement "pbVar2->string = pcVar3;" (assignment_expression "pbVar2->string = pcVar3" (field_expression "pbVar2->string" identifier -> field_identifier) = identifier) ;) (expression_statement "pbVar2->hash = pbVar4->hash;" (assignment_expression "pbVar2->hash = pbVar4->hash" (field_expression "pbVar2->hash" identifier -> field_identifier) = (field_expression "pbVar4->hash" identifier -> field_identifier)) ;) (expression_statement "pbVar4->next = pbVar2;" (assignment_expression "pbVar4->next = pbVar2" (field_expression "pbVar4->next" identifier -> field_identifier) = identifier) ;) (expression_statement "name = (char *)string;" (assignment_expression "name = (char *)string" identifier = (cast_expression "(char *)string" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "pbVar2[3].next = (bfd_hash_entry *)name;" (assignment_expression "pbVar2[3].next = (bfd_hash_entry *)name" (field_expression "pbVar2[3].next" (subscript_expression "pbVar2[3]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(bfd_hash_entry *)name" ( (type_descriptor "bfd_hash_entry *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(int *)((long)&pbVar2[6].string + 4) = constraint;" (assignment_expression "*(int *)((long)&pbVar2[6].string + 4) = constraint" (pointer_expression "*(int *)((long)&pbVar2[6].string + 4)" * (cast_expression "(int *)((long)&pbVar2[6].string + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pbVar2[6].string + 4)" ( (binary_expression "(long)&pbVar2[6].string + 4" (cast_expression "(long)&pbVar2[6].string" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pbVar2[6].string" & (field_expression "pbVar2[6].string" (subscript_expression "pbVar2[6]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0011b02f:\n    plVar5 = (lang_output_section_statement_type *)(pbVar2 + 1);" statement_identifier : (expression_statement "plVar5 = (lang_output_section_statement_type *)(pbVar2 + 1);" (assignment_expression "plVar5 = (lang_output_section_statement_type *)(pbVar2 + 1)" identifier = (cast_expression "(lang_output_section_statement_type *)(pbVar2 + 1)" ( (type_descriptor "lang_output_section_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar2 + 1)" ( (binary_expression "pbVar2 + 1" identifier + number_literal) )))) ;)) }))) (return_statement "return plVar5;" return identifier ;) })))
(translation_unit "long * FUN_0011afb0(long param_1,int param_2,undefined8 param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined8 uVar4;\n  long *plVar5;\n  int iVar6;\n  \n  plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);\n  iVar6 = (int)param_3;\n  if (plVar3 == (long *)0x0) {\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }\n  else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }\n  return plVar3;\n}\n\n" (function_definition "long * FUN_0011afb0(long param_1,int param_2,undefined8 param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined8 uVar4;\n  long *plVar5;\n  int iVar6;\n  \n  plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);\n  iVar6 = (int)param_3;\n  if (plVar3 == (long *)0x0) {\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }\n  else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }\n  return plVar3;\n}" (sized_type_specifier "long" long) (pointer_declarator "* FUN_0011afb0(long param_1,int param_2,undefined8 param_3)" * (function_declarator "FUN_0011afb0(long param_1,int param_2,undefined8 param_3)" identifier (parameter_list "(long param_1,int param_2,undefined8 param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) )))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined8 uVar4;\n  long *plVar5;\n  int iVar6;\n  \n  plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);\n  iVar6 = (int)param_3;\n  if (plVar3 == (long *)0x0) {\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }\n  else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }\n  return plVar3;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "long *plVar5;" (sized_type_specifier "long" long) (pointer_declarator "*plVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (expression_statement "plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);" (assignment_expression "plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0)" identifier = (cast_expression "(long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0)" identifier (argument_list "(&DAT_002b4d00,param_1,param_3,0)" ( (pointer_expression "&DAT_002b4d00" & identifier) , identifier , identifier , number_literal ))))) ;) (expression_statement "iVar6 = (int)param_3;" (assignment_expression "iVar6 = (int)param_3" identifier = (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (plVar3 == (long *)0x0) {\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }\n  else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }" if (parenthesized_expression "(plVar3 == (long *)0x0)" ( (binary_expression "plVar3 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }" { (expression_statement "plVar3 = (long *)0x0;" (assignment_expression "plVar3 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }" { (expression_statement "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier (argument_list "(0,"%F%P: failed creating section `%s\': %E\n",5)" ( number_literal , (string_literal ""%F%P: failed creating section `%s\': %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00129380(uVar4,param_1);" (call_expression "FUN_00129380(uVar4,param_1)" identifier (argument_list "(uVar4,param_1)" ( identifier , identifier ))) ;) })) }) (else_clause "else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }" else (compound_statement "{\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }" { (expression_statement "lVar1 = plVar3[9];" (assignment_expression "lVar1 = plVar3[9]" identifier = (subscript_expression "plVar3[9]" identifier [ number_literal ])) ;) (if_statement "if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }" { (expression_statement "plVar5 = plVar3;" (assignment_expression "plVar5 = plVar3" identifier = identifier) ;) (if_statement "if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }" if (parenthesized_expression "((iVar6 == 0) || (param_2 != 0x17e))" ( (binary_expression "(iVar6 == 0) || (param_2 != 0x17e)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(param_2 != 0x17e)" ( (binary_expression "param_2 != 0x17e" identifier != number_literal) ))) )) (compound_statement "{\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }" { (do_statement "do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));" do (compound_statement "{\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        }" { (expression_statement "plVar3 = plVar5;" (assignment_expression "plVar3 = plVar5" identifier = identifier) ;) (if_statement "if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;" if (parenthesized_expression "((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0))))" ( (binary_expression "(*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))" (parenthesized_expression "(*(int *)((long)plVar3 + 0x9c) == param_2)" ( (binary_expression "*(int *)((long)plVar3 + 0x9c) == param_2" (pointer_expression "*(int *)((long)plVar3 + 0x9c)" * (cast_expression "(int *)((long)plVar3 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar3 + 0x9c)" ( (binary_expression "(long)plVar3 + 0x9c" (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == identifier) )) || (parenthesized_expression "((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))" ( (parenthesized_expression "(-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0))" ( (binary_expression "-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)" (binary_expression "-1 < *(int *)((long)plVar3 + 0x9c)" number_literal < (pointer_expression "*(int *)((long)plVar3 + 0x9c)" * (cast_expression "(int *)((long)plVar3 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar3 + 0x9c)" ( (binary_expression "(long)plVar3 + 0x9c" (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) && (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) ))) )) ))) )) (goto_statement "goto LAB_0011b02f;" goto statement_identifier ;)) (expression_statement "plVar5 = (long *)*plVar3;" (assignment_expression "plVar5 = (long *)*plVar3" identifier = (cast_expression "(long *)*plVar3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar3" * identifier))) ;) }) while (parenthesized_expression "((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]))" ( (binary_expression "(plVar5 != (long *)0x0) && (lVar1 == plVar5[9])" (parenthesized_expression "(plVar5 != (long *)0x0)" ( (binary_expression "plVar5 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(lVar1 == plVar5[9])" ( (binary_expression "lVar1 == plVar5[9]" identifier == (subscript_expression "plVar5[9]" identifier [ number_literal ])) ))) )) ;) (expression_statement "plVar5 = plVar3;" (assignment_expression "plVar5 = plVar3" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\n          return (long *)0x0;\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          return (long *)0x0;\n        }" { (return_statement "return (long *)0x0;" return (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) })) (expression_statement "plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);" (assignment_expression "plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1)" identifier = (cast_expression "(long *)FUN_00116530(0,&DAT_002b4d00,lVar1)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00116530(0,&DAT_002b4d00,lVar1)" identifier (argument_list "(0,&DAT_002b4d00,lVar1)" ( number_literal , (pointer_expression "&DAT_002b4d00" & identifier) , identifier ))))) ;) (if_statement "if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }" if (parenthesized_expression "(plVar3 == (long *)0x0)" ( (binary_expression "plVar3 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }" { (expression_statement "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier = (call_expression "dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" identifier (argument_list "(0,"%F%P: failed creating section `%s\': %E\n",5)" ( number_literal , (string_literal ""%F%P: failed creating section `%s\': %E\n"" " string_content escape_sequence string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00129380(uVar4,lVar1);" (call_expression "FUN_00129380(uVar4,lVar1)" identifier (argument_list "(uVar4,lVar1)" ( identifier , identifier ))) ;) (return_statement "return (long *)0x0;" return (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "lVar2 = plVar5[1];" (assignment_expression "lVar2 = plVar5[1]" identifier = (subscript_expression "plVar5[1]" identifier [ number_literal ])) ;) (expression_statement "*plVar3 = *plVar5;" (assignment_expression "*plVar3 = *plVar5" (pointer_expression "*plVar3" * identifier) = (pointer_expression "*plVar5" * identifier)) ;) (expression_statement "plVar3[1] = lVar2;" (assignment_expression "plVar3[1] = lVar2" (subscript_expression "plVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar3[2] = plVar5[2];" (assignment_expression "plVar3[2] = plVar5[2]" (subscript_expression "plVar3[2]" identifier [ number_literal ]) = (subscript_expression "plVar5[2]" identifier [ number_literal ])) ;) (expression_statement "*plVar5 = (long)plVar3;" (assignment_expression "*plVar5 = (long)plVar3" (pointer_expression "*plVar5" * identifier) = (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "param_1 = lVar1;" (assignment_expression "param_1 = lVar1" identifier = identifier) ;) })) (expression_statement "plVar3[9] = param_1;" (assignment_expression "plVar3[9] = param_1" (subscript_expression "plVar3[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int *)((long)plVar3 + 0x9c) = param_2;" (assignment_expression "*(int *)((long)plVar3 + 0x9c) = param_2" (pointer_expression "*(int *)((long)plVar3 + 0x9c)" * (cast_expression "(int *)((long)plVar3 + 0x9c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar3 + 0x9c)" ( (binary_expression "(long)plVar3 + 0x9c" (cast_expression "(long)plVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0011b02f:\n    plVar3 = plVar3 + 3;" statement_identifier : (expression_statement "plVar3 = plVar3 + 3;" (assignment_expression "plVar3 = plVar3 + 3" identifier = (binary_expression "plVar3 + 3" identifier + number_literal)) ;)) }))) (return_statement "return plVar3;" return identifier ;) })))
(translation_unit (function_definition (sized_type_specifier long) (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) ))) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (pointer_expression & IDENT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }))) (return_statement return IDENT ;) })))
(function_definition "long * FUN_0011afb0(long param_1,int param_2,undefined8 param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined8 uVar4;\n  long *plVar5;\n  int iVar6;\n  \n  plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);\n  iVar6 = (int)param_3;\n  if (plVar3 == (long *)0x0) {\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }\n  else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }\n  return plVar3;\n}" (sized_type_specifier "long" (long "long")) (pointer_declarator "* FUN_0011afb0(long param_1,int param_2,undefined8 param_3)" (* "*") (function_declarator "FUN_0011afb0(long param_1,int param_2,undefined8 param_3)" (identifier "FUN_0011afb0") (parameter_list "(long param_1,int param_2,undefined8 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 "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) () ")")))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined8 uVar4;\n  long *plVar5;\n  int iVar6;\n  \n  plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);\n  iVar6 = (int)param_3;\n  if (plVar3 == (long *)0x0) {\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }\n  else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }\n  return plVar3;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "long *plVar3;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar3" (* "*") (identifier "plVar3")) (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "long *plVar5;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar5" (* "*") (identifier "plVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (expression_statement "plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);" (assignment_expression "plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0)" (identifier "plVar3") (= "=") (cast_expression "(long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0)" (identifier "bfd_hash_lookup") (argument_list "(&DAT_002b4d00,param_1,param_3,0)" (( "(") (pointer_expression "&DAT_002b4d00" (& "&") (identifier "DAT_002b4d00")) (, ",") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "iVar6 = (int)param_3;" (assignment_expression "iVar6 = (int)param_3" (identifier "iVar6") (= "=") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3"))) (; ";")) (if_statement "if (plVar3 == (long *)0x0) {\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }\n  else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }" (if "if") (parenthesized_expression "(plVar3 == (long *)0x0)" (( "(") (binary_expression "plVar3 == (long *)0x0" (identifier "plVar3") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    plVar3 = (long *)0x0;\n    if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }\n  }" ({ "{") (expression_statement "plVar3 = (long *)0x0;" (assignment_expression "plVar3 = (long *)0x0" (identifier "plVar3") (= "=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iVar6 != 0) {\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n      FUN_00129380(uVar4,param_1);\n    }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: failed creating section `%s\': %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: failed creating section `%s\': %E\n"" (" """) (string_content "%F%P: failed creating section `%s") (escape_sequence "\'") (string_content ": %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00129380(uVar4,param_1);" (call_expression "FUN_00129380(uVar4,param_1)" (identifier "FUN_00129380") (argument_list "(uVar4,param_1)" (( "(") (identifier "uVar4") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }" (else "else") (compound_statement "{\n    lVar1 = plVar3[9];\n    if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }\n    plVar3[9] = param_1;\n    *(int *)((long)plVar3 + 0x9c) = param_2;\nLAB_0011b02f:\n    plVar3 = plVar3 + 3;\n  }" ({ "{") (expression_statement "lVar1 = plVar3[9];" (assignment_expression "lVar1 = plVar3[9]" (identifier "lVar1") (= "=") (subscript_expression "plVar3[9]" (identifier "plVar3") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (lVar1 != 0) {\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }" (if "if") (parenthesized_expression "(lVar1 != 0)" (( "(") (binary_expression "lVar1 != 0" (identifier "lVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      plVar5 = plVar3;\n      if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }\n      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);\n      if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }\n      lVar2 = plVar5[1];\n      *plVar3 = *plVar5;\n      plVar3[1] = lVar2;\n      plVar3[2] = plVar5[2];\n      *plVar5 = (long)plVar3;\n      param_1 = lVar1;\n    }" ({ "{") (expression_statement "plVar5 = plVar3;" (assignment_expression "plVar5 = plVar3" (identifier "plVar5") (= "=") (identifier "plVar3")) (; ";")) (if_statement "if ((iVar6 == 0) || (param_2 != 0x17e)) {\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }" (if "if") (parenthesized_expression "((iVar6 == 0) || (param_2 != 0x17e))" (( "(") (binary_expression "(iVar6 == 0) || (param_2 != 0x17e)" (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(param_2 != 0x17e)" (( "(") (binary_expression "param_2 != 0x17e" (identifier "param_2") (!= "!=") (number_literal "0x17e")) () ")"))) () ")")) (compound_statement "{\n        do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));\n        plVar5 = plVar3;\n        if (iVar6 == 0) {\n          return (long *)0x0;\n        }\n      }" ({ "{") (do_statement "do {\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));" (do "do") (compound_statement "{\n          plVar3 = plVar5;\n          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;\n          plVar5 = (long *)*plVar3;\n        }" ({ "{") (expression_statement "plVar3 = plVar5;" (assignment_expression "plVar3 = plVar5" (identifier "plVar3") (= "=") (identifier "plVar5")) (; ";")) (if_statement "if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;" (if "if") (parenthesized_expression "((*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0))))" (( "(") (binary_expression "(*(int *)((long)plVar3 + 0x9c) == param_2) ||\n             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))" (parenthesized_expression "(*(int *)((long)plVar3 + 0x9c) == param_2)" (( "(") (binary_expression "*(int *)((long)plVar3 + 0x9c) == param_2" (pointer_expression "*(int *)((long)plVar3 + 0x9c)" (* "*") (cast_expression "(int *)((long)plVar3 + 0x9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar3 + 0x9c)" (( "(") (binary_expression "(long)plVar3 + 0x9c" (cast_expression "(long)plVar3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar3")) (+ "+") (number_literal "0x9c")) () ")")))) (== "==") (identifier "param_2")) () ")")) (|| "||") (parenthesized_expression "((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))" (( "(") (parenthesized_expression "(-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0))" (( "(") (binary_expression "-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)" (binary_expression "-1 < *(int *)((long)plVar3 + 0x9c)" (number_literal "-1") (< "<") (pointer_expression "*(int *)((long)plVar3 + 0x9c)" (* "*") (cast_expression "(int *)((long)plVar3 + 0x9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar3 + 0x9c)" (( "(") (binary_expression "(long)plVar3 + 0x9c" (cast_expression "(long)plVar3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar3")) (+ "+") (number_literal "0x9c")) () ")"))))) (&& "&&") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0011b02f;" (goto "goto") (statement_identifier "LAB_0011b02f") (; ";"))) (expression_statement "plVar5 = (long *)*plVar3;" (assignment_expression "plVar5 = (long *)*plVar3" (identifier "plVar5") (= "=") (cast_expression "(long *)*plVar3" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar3" (* "*") (identifier "plVar3")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]))" (( "(") (binary_expression "(plVar5 != (long *)0x0) && (lVar1 == plVar5[9])" (parenthesized_expression "(plVar5 != (long *)0x0)" (( "(") (binary_expression "plVar5 != (long *)0x0" (identifier "plVar5") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(lVar1 == plVar5[9])" (( "(") (binary_expression "lVar1 == plVar5[9]" (identifier "lVar1") (== "==") (subscript_expression "plVar5[9]" (identifier "plVar5") ([ "[") (number_literal "9") (] "]"))) () ")"))) () ")")) (; ";")) (expression_statement "plVar5 = plVar3;" (assignment_expression "plVar5 = plVar3" (identifier "plVar5") (= "=") (identifier "plVar3")) (; ";")) (if_statement "if (iVar6 == 0) {\n          return (long *)0x0;\n        }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          return (long *)0x0;\n        }" ({ "{") (return_statement "return (long *)0x0;" (return "return") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (} "}"))) (expression_statement "plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);" (assignment_expression "plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1)" (identifier "plVar3") (= "=") (cast_expression "(long *)FUN_00116530(0,&DAT_002b4d00,lVar1)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00116530(0,&DAT_002b4d00,lVar1)" (identifier "FUN_00116530") (argument_list "(0,&DAT_002b4d00,lVar1)" (( "(") (number_literal "0") (, ",") (pointer_expression "&DAT_002b4d00" (& "&") (identifier "DAT_002b4d00")) (, ",") (identifier "lVar1") () ")"))))) (; ";")) (if_statement "if (plVar3 == (long *)0x0) {\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }" (if "if") (parenthesized_expression "(plVar3 == (long *)0x0)" (( "(") (binary_expression "plVar3 == (long *)0x0" (identifier "plVar3") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);\n        FUN_00129380(uVar4,lVar1);\n        return (long *)0x0;\n      }" ({ "{") (expression_statement "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);" (assignment_expression "uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%F%P: failed creating section `%s\': %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%F%P: failed creating section `%s\': %E\n"" (" """) (string_content "%F%P: failed creating section `%s") (escape_sequence "\'") (string_content ": %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00129380(uVar4,lVar1);" (call_expression "FUN_00129380(uVar4,lVar1)" (identifier "FUN_00129380") (argument_list "(uVar4,lVar1)" (( "(") (identifier "uVar4") (, ",") (identifier "lVar1") () ")"))) (; ";")) (return_statement "return (long *)0x0;" (return "return") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "lVar2 = plVar5[1];" (assignment_expression "lVar2 = plVar5[1]" (identifier "lVar2") (= "=") (subscript_expression "plVar5[1]" (identifier "plVar5") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*plVar3 = *plVar5;" (assignment_expression "*plVar3 = *plVar5" (pointer_expression "*plVar3" (* "*") (identifier "plVar3")) (= "=") (pointer_expression "*plVar5" (* "*") (identifier "plVar5"))) (; ";")) (expression_statement "plVar3[1] = lVar2;" (assignment_expression "plVar3[1] = lVar2" (subscript_expression "plVar3[1]" (identifier "plVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "lVar2")) (; ";")) (expression_statement "plVar3[2] = plVar5[2];" (assignment_expression "plVar3[2] = plVar5[2]" (subscript_expression "plVar3[2]" (identifier "plVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "plVar5[2]" (identifier "plVar5") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*plVar5 = (long)plVar3;" (assignment_expression "*plVar5 = (long)plVar3" (pointer_expression "*plVar5" (* "*") (identifier "plVar5")) (= "=") (cast_expression "(long)plVar3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar3"))) (; ";")) (expression_statement "param_1 = lVar1;" (assignment_expression "param_1 = lVar1" (identifier "param_1") (= "=") (identifier "lVar1")) (; ";")) (} "}"))) (expression_statement "plVar3[9] = param_1;" (assignment_expression "plVar3[9] = param_1" (subscript_expression "plVar3[9]" (identifier "plVar3") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(int *)((long)plVar3 + 0x9c) = param_2;" (assignment_expression "*(int *)((long)plVar3 + 0x9c) = param_2" (pointer_expression "*(int *)((long)plVar3 + 0x9c)" (* "*") (cast_expression "(int *)((long)plVar3 + 0x9c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar3 + 0x9c)" (( "(") (binary_expression "(long)plVar3 + 0x9c" (cast_expression "(long)plVar3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar3")) (+ "+") (number_literal "0x9c")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (labeled_statement "LAB_0011b02f:\n    plVar3 = plVar3 + 3;" (statement_identifier "LAB_0011b02f") (: ":") (expression_statement "plVar3 = plVar3 + 3;" (assignment_expression "plVar3 = plVar3 + 3" (identifier "plVar3") (= "=") (binary_expression "plVar3 + 3" (identifier "plVar3") (+ "+") (number_literal "3"))) (; ";"))) (} "}")))) (return_statement "return plVar3;" (return "return") (identifier "plVar3") (; ";")) (} "}")))

type_1 *
function_1(char *name,int var_8,type_2 var_4)

{
  int var_9;
  type_3 *var_7;
  type_3 *var_3;
  char *pcVar3;
  type_4 in_register_00000014;
  type_3 *var_10;
  type_1 *plVar5;
  
  var_3 = (type_3 *)
           var_1(&output_section_statement_table,name,
                           var_2(in_register_00000014,var_4),0);
  if (var_3 == (type_3 *)0x0) {
    plVar5 = (type_1 *)0x0;
    if (var_4 != 0) {
      pcVar3 = (char *)var_5(0,"%F%P: failed creating section `%s\': %E\n",5);
      var_6(pcVar3,name);
    }
  }
  else {
    var_7 = var_3[3].next;
    if (var_7 != (type_3 *)0x0) {
      var_10 = var_3;
      if ((var_4 == 0) || (var_8 != 0x17e)) {
        do {
          var_3 = var_10;
          var_9 = *(int *)((long)&var_3[6].var_7 + 4);
          if ((var_9 == var_8) || ((-1 < var_9 && (var_8 == 0)))) goto LAB_0011b02f;
          var_10 = var_3->next;
        } while ((var_10 != (type_3 *)0x0) && (var_7 == var_10[3].next));
        var_10 = var_3;
        if (var_4 == 0) {
          return (type_1 *)0x0;
        }
      }
      var_3 = var_11
                         ((type_3 *)0x0,&output_section_statement_table,(char *)var_7);
      if (var_3 == (type_3 *)0x0) {
        pcVar3 = (char *)var_5(0,"%F%P: failed creating section `%s\': %E\n",5);
        var_6(pcVar3,var_7);
        return (type_1 *)0x0;
      }
      pcVar3 = var_10->var_7;
      var_3->next = var_10->next;
      var_3->var_7 = pcVar3;
      var_3->hash = var_10->hash;
      var_10->next = var_3;
      name = (char *)var_7;
    }
    var_3[3].next = (type_3 *)name;
    *(int *)((long)&var_3[6].var_7 + 4) = var_8;
LAB_0011b02f:
    plVar5 = (type_1 *)(var_3 + 1);
  }
  return plVar5;
}


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

long * MASKED(long param_1,int param_2,undefined8 param_3)

{
  long lVar1;
  long lVar2;
  long *plVar3;
  undefined8 uVar4;
  long *plVar5;
  int iVar6;
  
  plVar3 = (long *)bfd_hash_lookup(&DAT_002b4d00,param_1,param_3,0);
  iVar6 = (int)param_3;
  if (plVar3 == (long *)0x0) {
    plVar3 = (long *)0x0;
    if (iVar6 != 0) {
      uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);
      FUN_00129380(uVar4,param_1);
    }
  }
  else {
    lVar1 = plVar3[9];
    if (lVar1 != 0) {
      plVar5 = plVar3;
      if ((iVar6 == 0) || (param_2 != 0x17e)) {
        do {
          plVar3 = plVar5;
          if ((*(int *)((long)plVar3 + 0x9c) == param_2) ||
             ((-1 < *(int *)((long)plVar3 + 0x9c) && (param_2 == 0)))) goto LAB_0011b02f;
          plVar5 = (long *)*plVar3;
        } while ((plVar5 != (long *)0x0) && (lVar1 == plVar5[9]));
        plVar5 = plVar3;
        if (iVar6 == 0) {
          return (long *)0x0;
        }
      }
      plVar3 = (long *)FUN_00116530(0,&DAT_002b4d00,lVar1);
      if (plVar3 == (long *)0x0) {
        uVar4 = dcgettext(0,"%F%P: failed creating section `%s\': %E\n",5);
        FUN_00129380(uVar4,lVar1);
        return (long *)0x0;
      }
      lVar2 = plVar5[1];
      *plVar3 = *plVar5;
      plVar3[1] = lVar2;
      plVar3[2] = plVar5[2];
      *plVar5 = (long)plVar3;
      param_1 = lVar1;
    }
    plVar3[9] = param_1;
    *(int *)((long)plVar3 + 0x9c) = param_2;
LAB_0011b02f:
    plVar3 = plVar3 + 3;
  }
  return plVar3;
}

