
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* DWARF original prototype: bool
   find_incremental_inputs_sections(Sized_incremental_binary<64,_false> * this, uint *
   p_inputs_shndx, uint * p_symtab_shndx, uint * p_relocs_shndx, uint * p_got_plt_shndx, uint *
   p_strtab_shndx) */

bool __thiscall
gold::Sized_incremental_binary<64,_false>::find_incremental_inputs_sections
          (Sized_incremental_binary<64,_false> *this,uint *p_inputs_shndx,uint *p_symtab_shndx,
          uint *p_relocs_shndx,uint *p_got_plt_shndx,uint *p_strtab_shndx)

{
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4
FUN_000f7250(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)

{
  int iVar1;
  undefined4 uVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  uint uVar8;
  undefined4 uVar9;
  uint uVar10;
  int iVar11;
  longlong lVar12;
  
  iVar1 = param_1 + 0x2c;
  iVar3 = FUN_000f7040(iVar1,0x6fff4700);
  if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&
        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&
       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&
        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&
      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&
       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&
        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&
     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {
    iVar7 = *(int *)(param_1 + 0x2c);
    FUN_000f6f50(iVar1);
    uVar10 = uVar8;
    if (*(uint *)(param_1 + 0x38) <= uVar8) {
      FUN_000f6f50(iVar1);
      uVar2 = *(undefined4 *)(param_1 + 0x38);
      uVar9 = gettext("section_type: bad shndx %u >= %u");
      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);
    }
    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);
    iVar1 = *(int *)(iVar7 + 0x28);
    if ((lVar12 < 0) ||
       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),
       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),
       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,
       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=
       (int)(iVar7 - uVar10) < 0)) {
                    /* WARNING: Subroutine does not return */
      FUN_000e1450();
    }
    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {
      if (param_2 != (int *)0x0) {
        *param_2 = iVar3;
      }
      if (param_3 != (int *)0x0) {
        *param_3 = iVar4;
      }
      if (param_4 != (int *)0x0) {
        *param_4 = iVar5;
      }
      if (param_5 != (int *)0x0) {
        *param_5 = iVar6;
      }
      if (param_6 != (uint *)0x0) {
        *param_6 = uVar8;
        return 1;
      }
      return 1;
    }
  }
  return 0;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0003a210
ADD EBX,0x31cda7
SUB ESP,0x34
MOV EAX,dword ptr [ESP + 0x48]
PUSH 0x6fff4700
LEA ESI,[EAX + 0x2c]
PUSH ESI
CALL 0x000f7040
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000f7288
XOR EAX,EAX
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
MOV EDI,EAX
PUSH 0x6fff4701
PUSH ESI
CALL 0x000f7040
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x000f727b
SUB ESP,0x8
PUSH EAX
PUSH ESI
CALL 0x000f71b0
ADD ESP,0x10
CMP EDI,EAX
JNZ 0x000f727b
SUB ESP,0x8
PUSH 0x6fff4702
PUSH ESI
CALL 0x000f7040
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000f727b
SUB ESP,0x8
PUSH EAX
MOV dword ptr [ESP + 0x14],EAX
PUSH ESI
CALL 0x000f71b0
ADD ESP,0x10
CMP EDI,EAX
JNZ 0x000f727b
SUB ESP,0x8
PUSH 0x6fff4703
PUSH ESI
CALL 0x000f7040
MOV dword ptr [ESP + 0x1c],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000f727b
SUB ESP,0x8
PUSH EAX
PUSH ESI
CALL 0x000f71b0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x8]
CMP EDI,EAX
JNZ 0x000f727b
MOV dword ptr [ESP + 0x10],ECX
SUB ESP,0x8
PUSH EDI
PUSH ESI
CALL 0x000f71b0
ADD ESP,0x10
MOV dword ptr [ESP + 0x8],EAX
TEST EAX,EAX
JZ 0x000f727b
SUB ESP,0xc
PUSH ESI
CALL 0x000f6f50
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x40]
MOV EAX,dword ptr [ESP + 0x8]
CMP EAX,dword ptr [EDX + 0x38]
JA 0x000f727b
MOV EDX,dword ptr [EDX + 0x2c]
SUB ESP,0xc
MOV dword ptr [ESP + 0x24],EDX
PUSH ESI
CALL 0x000f6f50
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x40]
MOV EAX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [ESP + 0x10]
CMP EAX,dword ptr [EDX + 0x38]
JNC 0x000f742a
MOV dword ptr [ESP + 0x1c],ECX
PUSH EAX
PUSH EAX
PUSH dword ptr [ESP + 0x10]
PUSH ESI
CALL 0x000f70c0
MOV ECX,dword ptr [ESP + 0x28]
MOV ESI,dword ptr [ECX + 0x28]
MOV dword ptr [ESP + 0x28],ESI
ADD ESP,0x10
TEST EDX,EDX
JS 0x000f747c
MOV ECX,EAX
MOV EBX,EDX
MOV dword ptr [ESP + 0x18],ESI
MOV ESI,dword ptr [ESI + 0xc]
ADD ECX,0x40
ADC EBX,0x0
MOV dword ptr [ESP + 0x10],ECX
MOV dword ptr [ESP + 0x14],EBX
MOV EBX,ECX
MOV ECX,dword ptr [ESP + 0x18]
CMP dword ptr [ECX + 0x8],EBX
SBB ESI,dword ptr [ESP + 0x14]
MOV ECX,dword ptr [ESP + 0x1c]
JL 0x000f747c
MOV EDX,dword ptr [ESP + 0x18]
ADD EAX,dword ptr [EDX + 0x10]
CMP dword ptr [EAX + 0x4],0x3
JNZ 0x000f727b
CMP dword ptr [ESP + 0x44],0x0
JZ 0x000f73e4
MOV EAX,dword ptr [ESP + 0x44]
MOV dword ptr [EAX],EDI
CMP dword ptr [ESP + 0x48],0x0
JZ 0x000f73f1
MOV EAX,dword ptr [ESP + 0x48]
MOV dword ptr [EAX],EBP
CMP dword ptr [ESP + 0x4c],0x0
JZ 0x000f73fe
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [EAX],ECX
CMP dword ptr [ESP + 0x50],0x0
JZ 0x000f740f
MOV EAX,dword ptr [ESP + 0x50]
MOV EDX,dword ptr [ESP + 0xc]
MOV dword ptr [EAX],EDX
CMP dword ptr [ESP + 0x54],0x0
JZ 0x000f7472
MOV EAX,dword ptr [ESP + 0x54]
MOV EDX,dword ptr [ESP + 0x8]
MOV dword ptr [EAX],EDX
MOV EAX,0x1
JMP 0x000f727d
MOV dword ptr [ESP + 0x1c],ECX
SUB ESP,0xc
PUSH ESI
CALL 0x000f6f50
MOV EAX,dword ptr [ESP + 0x50]
MOV EDX,dword ptr [EAX + 0x38]
LEA EAX,[EBX + 0xffee3ea4]
MOV dword ptr [ESP],EAX
MOV dword ptr [ESP + 0x20],EDX
CALL 0x0002c440
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x10]
PUSH EDX
PUSH dword ptr [ESP + 0xc]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
CALL 0x000e1570
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x1c]
JMP 0x000f7370
MOV EAX,0x1
JMP 0x000f727d
CALL 0x000e1450
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4\nFUN_000f7250(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  int iVar11;\n  longlong lVar12;\n  \n  iVar1 = param_1 + 0x2c;\n  iVar3 = FUN_000f7040(iVar1,0x6fff4700);\n  if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }\n  return 0;\n}\n\n" comment (function_definition "undefined4\nFUN_000f7250(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  int iVar11;\n  longlong lVar12;\n  \n  iVar1 = param_1 + 0x2c;\n  iVar3 = FUN_000f7040(iVar1,0x6fff4700);\n  if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_000f7250(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)" identifier (parameter_list "(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "uint *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  int iVar11;\n  longlong lVar12;\n  \n  iVar1 = param_1 + 0x2c;\n  iVar3 = FUN_000f7040(iVar1,0x6fff4700);\n  if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }\n  return 0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "longlong lVar12;" type_identifier identifier ;) (expression_statement "iVar1 = param_1 + 0x2c;" (assignment_expression "iVar1 = param_1 + 0x2c" identifier = (binary_expression "param_1 + 0x2c" identifier + number_literal)) ;) (expression_statement "iVar3 = FUN_000f7040(iVar1,0x6fff4700);" (assignment_expression "iVar3 = FUN_000f7040(iVar1,0x6fff4700)" identifier = (call_expression "FUN_000f7040(iVar1,0x6fff4700)" identifier (argument_list "(iVar1,0x6fff4700)" ( identifier , number_literal )))) ;) (if_statement "if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }" if (parenthesized_expression "((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38)))" ( (binary_expression "(((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))" (parenthesized_expression "(((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0))))))" ( (binary_expression "((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))" (parenthesized_expression "((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6))))" ( (binary_expression "(((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))" (parenthesized_expression "(((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5))" ( (binary_expression "((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)" (parenthesized_expression "((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0))" ( (binary_expression "(iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)" ( (comma_expression "iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0" (assignment_expression "iVar4 = FUN_000f7040(iVar1,0x6fff4701)" identifier = (call_expression "FUN_000f7040(iVar1,0x6fff4701)" identifier (argument_list "(iVar1,0x6fff4701)" ( identifier , number_literal )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)" ( (comma_expression "iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5" (assignment_expression "iVar5 = FUN_000f71b0(iVar1,iVar4)" identifier = (call_expression "FUN_000f71b0(iVar1,iVar4)" identifier (argument_list "(iVar1,iVar4)" ( identifier , identifier )))) , (binary_expression "iVar3 == iVar5" identifier == identifier)) ))) )) && (parenthesized_expression "((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))" ( (parenthesized_expression "(iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6))" ( (comma_expression "iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)" (assignment_expression "iVar5 = FUN_000f7040(iVar1,0x6fff4702)" identifier = (call_expression "FUN_000f7040(iVar1,0x6fff4702)" identifier (argument_list "(iVar1,0x6fff4702)" ( identifier , number_literal )))) , (binary_expression "iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)" (binary_expression "iVar5 != 0" identifier != number_literal) && (parenthesized_expression "(iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)" ( (comma_expression "iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6" (assignment_expression "iVar6 = FUN_000f71b0(iVar1,iVar5)" identifier = (call_expression "FUN_000f71b0(iVar1,iVar5)" identifier (argument_list "(iVar1,iVar5)" ( identifier , identifier )))) , (binary_expression "iVar3 == iVar6" identifier == identifier)) )))) )) ))) )) && (parenthesized_expression "((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))" ( (parenthesized_expression "(iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0))))" ( (comma_expression "iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))" (assignment_expression "iVar6 = FUN_000f7040(iVar1,0x6fff4703)" identifier = (call_expression "FUN_000f7040(iVar1,0x6fff4703)" identifier (argument_list "(iVar1,0x6fff4703)" ( identifier , number_literal )))) , (binary_expression "iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))" (binary_expression "iVar6 != 0" identifier != number_literal) && (parenthesized_expression "((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))" ( (parenthesized_expression "(iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0))" ( (comma_expression "iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)" (assignment_expression "iVar7 = FUN_000f71b0(iVar1,iVar6)" identifier = (call_expression "FUN_000f71b0(iVar1,iVar6)" identifier (argument_list "(iVar1,iVar6)" ( identifier , identifier )))) , (binary_expression "iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)" (binary_expression "iVar3 == iVar7" identifier == identifier) && (parenthesized_expression "(uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)" ( (comma_expression "uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0" (assignment_expression "uVar8 = FUN_000f71b0(iVar1,iVar3)" identifier = (call_expression "FUN_000f71b0(iVar1,iVar3)" identifier (argument_list "(iVar1,iVar3)" ( identifier , identifier )))) , (binary_expression "uVar8 != 0" identifier != number_literal)) )))) )) )))) )) ))) )) && (parenthesized_expression "(FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))" ( (comma_expression "FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38)" (call_expression "FUN_000f6f50(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) , (binary_expression "uVar8 <= *(uint *)(param_1 + 0x38)" identifier <= (pointer_expression "*(uint *)(param_1 + 0x38)" * (cast_expression "(uint *)(param_1 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))))) ))) )) (compound_statement "{\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }" { (expression_statement "iVar7 = *(int *)(param_1 + 0x2c);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x2c)" identifier = (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "FUN_000f6f50(iVar1);" (call_expression "FUN_000f6f50(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "uVar10 = uVar8;" (assignment_expression "uVar10 = uVar8" identifier = identifier) ;) (if_statement "if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }" if (parenthesized_expression "(*(uint *)(param_1 + 0x38) <= uVar8)" ( (binary_expression "*(uint *)(param_1 + 0x38) <= uVar8" (pointer_expression "*(uint *)(param_1 + 0x38)" * (cast_expression "(uint *)(param_1 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }" { (expression_statement "FUN_000f6f50(iVar1);" (call_expression "FUN_000f6f50(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = gettext("section_type: bad shndx %u >= %u");" (assignment_expression "uVar9 = gettext("section_type: bad shndx %u >= %u")" identifier = (call_expression "gettext("section_type: bad shndx %u >= %u")" identifier (argument_list "("section_type: bad shndx %u >= %u")" ( (string_literal ""section_type: bad shndx %u >= %u"" " string_content ") )))) ;) (expression_statement "uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);" (assignment_expression "uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2)" identifier = (call_expression "FUN_000e1570(iVar7,uVar9,uVar8,uVar2)" identifier (argument_list "(iVar7,uVar9,uVar8,uVar2)" ( identifier , identifier , identifier , identifier )))) ;) })) (expression_statement "lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);" (assignment_expression "lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10)" identifier = (call_expression "FUN_000f70c0(iVar1,uVar8,uVar10,uVar10)" identifier (argument_list "(iVar1,uVar8,uVar10,uVar10)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar1 = *(int *)(iVar7 + 0x28);" (assignment_expression "iVar1 = *(int *)(iVar7 + 0x28)" identifier = (pointer_expression "*(int *)(iVar7 + 0x28)" * (cast_expression "(int *)(iVar7 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000e1450();\n    }" if (parenthesized_expression "((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0))" ( (binary_expression "(lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)" (parenthesized_expression "(lVar12 < 0)" ( (binary_expression "lVar12 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)" ( (comma_expression "iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (assignment_expression "iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)(lVar12 + 0x40) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar12 + 0x40) >> 0x20)" ( (binary_expression "(ulonglong)(lVar12 + 0x40) >> 0x20" (call_expression "(ulonglong)(lVar12 + 0x40)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar12 + 0x40)" ( (binary_expression "lVar12 + 0x40" identifier + number_literal) ))) >> number_literal) )))) , (comma_expression "uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (assignment_expression "uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40))" identifier = (call_expression "(uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40))" ( (binary_expression "*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)" (pointer_expression "*(uint *)(iVar1 + 8)" * (cast_expression "(uint *)(iVar1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) < (call_expression "(uint)(lVar12 + 0x40)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar12 + 0x40)" ( (binary_expression "lVar12 + 0x40" identifier + number_literal) )))) )))) , (comma_expression "iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (assignment_expression "iVar7 = *(int *)(iVar1 + 0xc) - iVar11" identifier = (binary_expression "*(int *)(iVar1 + 0xc) - iVar11" (pointer_expression "*(int *)(iVar1 + 0xc)" * (cast_expression "(int *)(iVar1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) - identifier)) , (binary_expression "(SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (parenthesized_expression "(SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10))" ( (binary_expression "SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)" (call_expression "SBORROW4(*(int *)(iVar1 + 0xc),iVar11)" identifier (argument_list "(*(int *)(iVar1 + 0xc),iVar11)" ( (pointer_expression "*(int *)(iVar1 + 0xc)" * (cast_expression "(int *)(iVar1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar7,uVar10)" identifier (argument_list "(iVar7,uVar10)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar7 - uVar10) < 0" (cast_expression "(int)(iVar7 - uVar10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar7 - uVar10)" ( (binary_expression "iVar7 - uVar10" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_000e1450();\n    }" { comment (expression_statement "FUN_000e1450();" (call_expression "FUN_000e1450()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }" if (parenthesized_expression "(*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3)" ( (binary_expression "*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3" (pointer_expression "*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4)" * (cast_expression "(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)lVar12 + *(int *)(iVar1 + 0x10) + 4)" ( (binary_expression "(int)lVar12 + *(int *)(iVar1 + 0x10) + 4" (binary_expression "(int)lVar12 + *(int *)(iVar1 + 0x10)" (cast_expression "(int)lVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }" { (if_statement "if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }" if (parenthesized_expression "(param_2 != (int *)0x0)" ( (binary_expression "param_2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_2 = iVar3;\n      }" { (expression_statement "*param_2 = iVar3;" (assignment_expression "*param_2 = iVar3" (pointer_expression "*param_2" * identifier) = identifier) ;) })) (if_statement "if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }" if (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_3 = iVar4;\n      }" { (expression_statement "*param_3 = iVar4;" (assignment_expression "*param_3 = iVar4" (pointer_expression "*param_3" * identifier) = identifier) ;) })) (if_statement "if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_4 = iVar5;\n      }" { (expression_statement "*param_4 = iVar5;" (assignment_expression "*param_4 = iVar5" (pointer_expression "*param_4" * identifier) = identifier) ;) })) (if_statement "if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }" if (parenthesized_expression "(param_5 != (int *)0x0)" ( (binary_expression "param_5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_5 = iVar6;\n      }" { (expression_statement "*param_5 = iVar6;" (assignment_expression "*param_5 = iVar6" (pointer_expression "*param_5" * identifier) = identifier) ;) })) (if_statement "if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }" if (parenthesized_expression "(param_6 != (uint *)0x0)" ( (binary_expression "param_6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_6 = uVar8;\n        return 1;\n      }" { (expression_statement "*param_6 = uVar8;" (assignment_expression "*param_6 = uVar8" (pointer_expression "*param_6" * identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 1;" return number_literal ;) })) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* DWARF original prototype: bool\n   find_incremental_inputs_sections(Sized_incremental_binary<64,_false> * this, uint *\n   p_inputs_shndx, uint * p_symtab_shndx, uint * p_relocs_shndx, uint * p_got_plt_shndx, uint *\n   p_strtab_shndx) */\n\nbool __thiscall\ngold::Sized_incremental_binary<64,_false>::find_incremental_inputs_sections\n          (Sized_incremental_binary<64,_false> *this,uint *p_inputs_shndx,uint *p_symtab_shndx,\n          uint *p_relocs_shndx,uint *p_got_plt_shndx,uint *p_strtab_shndx)\n\n{\n}\n\n" comment comment (ERROR "bool __thiscall\ngold::Sized_incremental_binary<64,_false>::find_incremental_inputs_sections\n          (Sized_incremental_binary<64,_false> *this,uint *p_inputs_shndx,uint *p_symtab_shndx,\n          uint *p_relocs_shndx,uint *p_got_plt_shndx,uint *p_strtab_shndx)" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::" identifier > : :) (function_declarator "find_incremental_inputs_sections\n          (Sized_incremental_binary<64,_false> *this,uint *p_inputs_shndx,uint *p_symtab_shndx,\n          uint *p_relocs_shndx,uint *p_got_plt_shndx,uint *p_strtab_shndx)" identifier (parameter_list "(Sized_incremental_binary<64,_false> *this,uint *p_inputs_shndx,uint *p_symtab_shndx,\n          uint *p_relocs_shndx,uint *p_got_plt_shndx,uint *p_strtab_shndx)" ( (parameter_declaration "Sized_incremental_binary" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint *p_inputs_shndx" type_identifier (pointer_declarator "*p_inputs_shndx" * identifier)) , (parameter_declaration "uint *p_symtab_shndx" type_identifier (pointer_declarator "*p_symtab_shndx" * identifier)) , (parameter_declaration "uint *p_relocs_shndx" type_identifier (pointer_declarator "*p_relocs_shndx" * identifier)) , (parameter_declaration "uint *p_got_plt_shndx" type_identifier (pointer_declarator "*p_got_plt_shndx" * identifier)) , (parameter_declaration "uint *p_strtab_shndx" type_identifier (pointer_declarator "*p_strtab_shndx" * identifier)) )))) (compound_statement "{\n}" { }))
(translation_unit "undefined4\nFUN_000f7250(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  int iVar11;\n  longlong lVar12;\n  \n  iVar1 = param_1 + 0x2c;\n  iVar3 = FUN_000f7040(iVar1,0x6fff4700);\n  if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    \n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }\n  return 0;\n}\n\n" (function_definition "undefined4\nFUN_000f7250(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  int iVar11;\n  longlong lVar12;\n  \n  iVar1 = param_1 + 0x2c;\n  iVar3 = FUN_000f7040(iVar1,0x6fff4700);\n  if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    \n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_000f7250(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)" identifier (parameter_list "(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "uint *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  int iVar11;\n  longlong lVar12;\n  \n  iVar1 = param_1 + 0x2c;\n  iVar3 = FUN_000f7040(iVar1,0x6fff4700);\n  if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    \n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }\n  return 0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "longlong lVar12;" type_identifier identifier ;) (expression_statement "iVar1 = param_1 + 0x2c;" (assignment_expression "iVar1 = param_1 + 0x2c" identifier = (binary_expression "param_1 + 0x2c" identifier + number_literal)) ;) (expression_statement "iVar3 = FUN_000f7040(iVar1,0x6fff4700);" (assignment_expression "iVar3 = FUN_000f7040(iVar1,0x6fff4700)" identifier = (call_expression "FUN_000f7040(iVar1,0x6fff4700)" identifier (argument_list "(iVar1,0x6fff4700)" ( identifier , number_literal )))) ;) (if_statement "if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    \n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }" if (parenthesized_expression "((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38)))" ( (binary_expression "(((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))" (parenthesized_expression "(((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0))))))" ( (binary_expression "((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))" (parenthesized_expression "((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6))))" ( (binary_expression "(((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))" (parenthesized_expression "(((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5))" ( (binary_expression "((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)" (parenthesized_expression "((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0))" ( (binary_expression "(iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)" ( (comma_expression "iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0" (assignment_expression "iVar4 = FUN_000f7040(iVar1,0x6fff4701)" identifier = (call_expression "FUN_000f7040(iVar1,0x6fff4701)" identifier (argument_list "(iVar1,0x6fff4701)" ( identifier , number_literal )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) && (parenthesized_expression "(iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)" ( (comma_expression "iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5" (assignment_expression "iVar5 = FUN_000f71b0(iVar1,iVar4)" identifier = (call_expression "FUN_000f71b0(iVar1,iVar4)" identifier (argument_list "(iVar1,iVar4)" ( identifier , identifier )))) , (binary_expression "iVar3 == iVar5" identifier == identifier)) ))) )) && (parenthesized_expression "((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))" ( (parenthesized_expression "(iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6))" ( (comma_expression "iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)" (assignment_expression "iVar5 = FUN_000f7040(iVar1,0x6fff4702)" identifier = (call_expression "FUN_000f7040(iVar1,0x6fff4702)" identifier (argument_list "(iVar1,0x6fff4702)" ( identifier , number_literal )))) , (binary_expression "iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)" (binary_expression "iVar5 != 0" identifier != number_literal) && (parenthesized_expression "(iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)" ( (comma_expression "iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6" (assignment_expression "iVar6 = FUN_000f71b0(iVar1,iVar5)" identifier = (call_expression "FUN_000f71b0(iVar1,iVar5)" identifier (argument_list "(iVar1,iVar5)" ( identifier , identifier )))) , (binary_expression "iVar3 == iVar6" identifier == identifier)) )))) )) ))) )) && (parenthesized_expression "((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))" ( (parenthesized_expression "(iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0))))" ( (comma_expression "iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))" (assignment_expression "iVar6 = FUN_000f7040(iVar1,0x6fff4703)" identifier = (call_expression "FUN_000f7040(iVar1,0x6fff4703)" identifier (argument_list "(iVar1,0x6fff4703)" ( identifier , number_literal )))) , (binary_expression "iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))" (binary_expression "iVar6 != 0" identifier != number_literal) && (parenthesized_expression "((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))" ( (parenthesized_expression "(iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0))" ( (comma_expression "iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)" (assignment_expression "iVar7 = FUN_000f71b0(iVar1,iVar6)" identifier = (call_expression "FUN_000f71b0(iVar1,iVar6)" identifier (argument_list "(iVar1,iVar6)" ( identifier , identifier )))) , (binary_expression "iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)" (binary_expression "iVar3 == iVar7" identifier == identifier) && (parenthesized_expression "(uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)" ( (comma_expression "uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0" (assignment_expression "uVar8 = FUN_000f71b0(iVar1,iVar3)" identifier = (call_expression "FUN_000f71b0(iVar1,iVar3)" identifier (argument_list "(iVar1,iVar3)" ( identifier , identifier )))) , (binary_expression "uVar8 != 0" identifier != number_literal)) )))) )) )))) )) ))) )) && (parenthesized_expression "(FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))" ( (comma_expression "FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38)" (call_expression "FUN_000f6f50(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) , (binary_expression "uVar8 <= *(uint *)(param_1 + 0x38)" identifier <= (pointer_expression "*(uint *)(param_1 + 0x38)" * (cast_expression "(uint *)(param_1 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))))) ))) )) (compound_statement "{\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    \n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }" { (expression_statement "iVar7 = *(int *)(param_1 + 0x2c);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x2c)" identifier = (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "FUN_000f6f50(iVar1);" (call_expression "FUN_000f6f50(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "uVar10 = uVar8;" (assignment_expression "uVar10 = uVar8" identifier = identifier) ;) (if_statement "if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }" if (parenthesized_expression "(*(uint *)(param_1 + 0x38) <= uVar8)" ( (binary_expression "*(uint *)(param_1 + 0x38) <= uVar8" (pointer_expression "*(uint *)(param_1 + 0x38)" * (cast_expression "(uint *)(param_1 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }" { (expression_statement "FUN_000f6f50(iVar1);" (call_expression "FUN_000f6f50(iVar1)" identifier (argument_list "(iVar1)" ( identifier ))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = gettext("section_type: bad shndx %u >= %u");" (assignment_expression "uVar9 = gettext("section_type: bad shndx %u >= %u")" identifier = (call_expression "gettext("section_type: bad shndx %u >= %u")" identifier (argument_list "("section_type: bad shndx %u >= %u")" ( (string_literal ""section_type: bad shndx %u >= %u"" " string_content ") )))) ;) (expression_statement "uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);" (assignment_expression "uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2)" identifier = (call_expression "FUN_000e1570(iVar7,uVar9,uVar8,uVar2)" identifier (argument_list "(iVar7,uVar9,uVar8,uVar2)" ( identifier , identifier , identifier , identifier )))) ;) })) (expression_statement "lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);" (assignment_expression "lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10)" identifier = (call_expression "FUN_000f70c0(iVar1,uVar8,uVar10,uVar10)" identifier (argument_list "(iVar1,uVar8,uVar10,uVar10)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "iVar1 = *(int *)(iVar7 + 0x28);" (assignment_expression "iVar1 = *(int *)(iVar7 + 0x28)" identifier = (pointer_expression "*(int *)(iVar7 + 0x28)" * (cast_expression "(int *)(iVar7 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    \n      FUN_000e1450();\n    }" if (parenthesized_expression "((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0))" ( (binary_expression "(lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)" (parenthesized_expression "(lVar12 < 0)" ( (binary_expression "lVar12 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)" ( (comma_expression "iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (assignment_expression "iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20)" identifier = (cast_expression "(int)((ulonglong)(lVar12 + 0x40) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(lVar12 + 0x40) >> 0x20)" ( (binary_expression "(ulonglong)(lVar12 + 0x40) >> 0x20" (call_expression "(ulonglong)(lVar12 + 0x40)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(lVar12 + 0x40)" ( (binary_expression "lVar12 + 0x40" identifier + number_literal) ))) >> number_literal) )))) , (comma_expression "uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (assignment_expression "uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40))" identifier = (call_expression "(uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40))" ( (binary_expression "*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)" (pointer_expression "*(uint *)(iVar1 + 8)" * (cast_expression "(uint *)(iVar1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) < (call_expression "(uint)(lVar12 + 0x40)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar12 + 0x40)" ( (binary_expression "lVar12 + 0x40" identifier + number_literal) )))) )))) , (comma_expression "iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (assignment_expression "iVar7 = *(int *)(iVar1 + 0xc) - iVar11" identifier = (binary_expression "*(int *)(iVar1 + 0xc) - iVar11" (pointer_expression "*(int *)(iVar1 + 0xc)" * (cast_expression "(int *)(iVar1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) - identifier)) , (binary_expression "(SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (parenthesized_expression "(SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10))" ( (binary_expression "SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)" (call_expression "SBORROW4(*(int *)(iVar1 + 0xc),iVar11)" identifier (argument_list "(*(int *)(iVar1 + 0xc),iVar11)" ( (pointer_expression "*(int *)(iVar1 + 0xc)" * (cast_expression "(int *)(iVar1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar7,uVar10)" identifier (argument_list "(iVar7,uVar10)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar7 - uVar10) < 0" (cast_expression "(int)(iVar7 - uVar10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar7 - uVar10)" ( (binary_expression "iVar7 - uVar10" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n                    \n      FUN_000e1450();\n    }" { (expression_statement "FUN_000e1450();" (call_expression "FUN_000e1450()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }" if (parenthesized_expression "(*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3)" ( (binary_expression "*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3" (pointer_expression "*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4)" * (cast_expression "(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)lVar12 + *(int *)(iVar1 + 0x10) + 4)" ( (binary_expression "(int)lVar12 + *(int *)(iVar1 + 0x10) + 4" (binary_expression "(int)lVar12 + *(int *)(iVar1 + 0x10)" (cast_expression "(int)lVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(iVar1 + 0x10)" * (cast_expression "(int *)(iVar1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }" { (if_statement "if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }" if (parenthesized_expression "(param_2 != (int *)0x0)" ( (binary_expression "param_2 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_2 = iVar3;\n      }" { (expression_statement "*param_2 = iVar3;" (assignment_expression "*param_2 = iVar3" (pointer_expression "*param_2" * identifier) = identifier) ;) })) (if_statement "if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }" if (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_3 = iVar4;\n      }" { (expression_statement "*param_3 = iVar4;" (assignment_expression "*param_3 = iVar4" (pointer_expression "*param_3" * identifier) = identifier) ;) })) (if_statement "if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }" if (parenthesized_expression "(param_4 != (int *)0x0)" ( (binary_expression "param_4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_4 = iVar5;\n      }" { (expression_statement "*param_4 = iVar5;" (assignment_expression "*param_4 = iVar5" (pointer_expression "*param_4" * identifier) = identifier) ;) })) (if_statement "if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }" if (parenthesized_expression "(param_5 != (int *)0x0)" ( (binary_expression "param_5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_5 = iVar6;\n      }" { (expression_statement "*param_5 = iVar6;" (assignment_expression "*param_5 = iVar6" (pointer_expression "*param_5" * identifier) = identifier) ;) })) (if_statement "if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }" if (parenthesized_expression "(param_6 != (uint *)0x0)" ( (binary_expression "param_6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *param_6 = uVar8;\n        return 1;\n      }" { (expression_statement "*param_6 = uVar8;" (assignment_expression "*param_6 = uVar8" (pointer_expression "*param_6" * identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (return_statement "return 1;" return number_literal ;) })) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) , (binary_expression IDENT != LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT == IDENT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT == IDENT)) )))) )) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT)) )))) )) )))) )) ))) )) && (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( IDENT ))) , (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) >> LIT) )))) , (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) )))) , (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT))))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) })) })) (return_statement return LIT ;) })))
(function_definition "undefined4\nFUN_000f7250(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  int iVar11;\n  longlong lVar12;\n  \n  iVar1 = param_1 + 0x2c;\n  iVar3 = FUN_000f7040(iVar1,0x6fff4700);\n  if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    \n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "FUN_000f7250(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)" (identifier "FUN_000f7250") (parameter_list "(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "int *param_5" (primitive_type "int") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "uint *param_6" (type_identifier "uint") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  uint uVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  int iVar11;\n  longlong lVar12;\n  \n  iVar1 = param_1 + 0x2c;\n  iVar3 = FUN_000f7040(iVar1,0x6fff4700);\n  if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    \n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }\n  return 0;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "longlong lVar12;" (type_identifier "longlong") (identifier "lVar12") (; ";")) (expression_statement "iVar1 = param_1 + 0x2c;" (assignment_expression "iVar1 = param_1 + 0x2c" (identifier "iVar1") (= "=") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "iVar3 = FUN_000f7040(iVar1,0x6fff4700);" (assignment_expression "iVar3 = FUN_000f7040(iVar1,0x6fff4700)" (identifier "iVar3") (= "=") (call_expression "FUN_000f7040(iVar1,0x6fff4700)" (identifier "FUN_000f7040") (argument_list "(iVar1,0x6fff4700)" (( "(") (identifier "iVar1") (, ",") (number_literal "0x6fff4700") () ")")))) (; ";")) (if_statement "if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    \n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }" (if "if") (parenthesized_expression "((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38)))" (( "(") (binary_expression "(((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&\n     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))" (parenthesized_expression "(((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0))))))" (( "(") (binary_expression "((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&\n      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))" (parenthesized_expression "((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6))))" (( "(") (binary_expression "(((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&\n       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))" (parenthesized_expression "(((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5))" (( "(") (binary_expression "((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&\n        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)" (parenthesized_expression "((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0))" (( "(") (binary_expression "(iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)" (( "(") (comma_expression "iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0" (assignment_expression "iVar4 = FUN_000f7040(iVar1,0x6fff4701)" (identifier "iVar4") (= "=") (call_expression "FUN_000f7040(iVar1,0x6fff4701)" (identifier "FUN_000f7040") (argument_list "(iVar1,0x6fff4701)" (( "(") (identifier "iVar1") (, ",") (number_literal "0x6fff4701") () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)" (( "(") (comma_expression "iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5" (assignment_expression "iVar5 = FUN_000f71b0(iVar1,iVar4)" (identifier "iVar5") (= "=") (call_expression "FUN_000f71b0(iVar1,iVar4)" (identifier "FUN_000f71b0") (argument_list "(iVar1,iVar4)" (( "(") (identifier "iVar1") (, ",") (identifier "iVar4") () ")")))) (, ",") (binary_expression "iVar3 == iVar5" (identifier "iVar3") (== "==") (identifier "iVar5"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))" (( "(") (parenthesized_expression "(iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6))" (( "(") (comma_expression "iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)" (assignment_expression "iVar5 = FUN_000f7040(iVar1,0x6fff4702)" (identifier "iVar5") (= "=") (call_expression "FUN_000f7040(iVar1,0x6fff4702)" (identifier "FUN_000f7040") (argument_list "(iVar1,0x6fff4702)" (( "(") (identifier "iVar1") (, ",") (number_literal "0x6fff4702") () ")")))) (, ",") (binary_expression "iVar5 != 0 &&\n        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)" (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)" (( "(") (comma_expression "iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6" (assignment_expression "iVar6 = FUN_000f71b0(iVar1,iVar5)" (identifier "iVar6") (= "=") (call_expression "FUN_000f71b0(iVar1,iVar5)" (identifier "FUN_000f71b0") (argument_list "(iVar1,iVar5)" (( "(") (identifier "iVar1") (, ",") (identifier "iVar5") () ")")))) (, ",") (binary_expression "iVar3 == iVar6" (identifier "iVar3") (== "==") (identifier "iVar6"))) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))" (( "(") (parenthesized_expression "(iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0))))" (( "(") (comma_expression "iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))" (assignment_expression "iVar6 = FUN_000f7040(iVar1,0x6fff4703)" (identifier "iVar6") (= "=") (call_expression "FUN_000f7040(iVar1,0x6fff4703)" (identifier "FUN_000f7040") (argument_list "(iVar1,0x6fff4703)" (( "(") (identifier "iVar1") (, ",") (number_literal "0x6fff4703") () ")")))) (, ",") (binary_expression "iVar6 != 0 &&\n       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))" (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))" (( "(") (parenthesized_expression "(iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0))" (( "(") (comma_expression "iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)" (assignment_expression "iVar7 = FUN_000f71b0(iVar1,iVar6)" (identifier "iVar7") (= "=") (call_expression "FUN_000f71b0(iVar1,iVar6)" (identifier "FUN_000f71b0") (argument_list "(iVar1,iVar6)" (( "(") (identifier "iVar1") (, ",") (identifier "iVar6") () ")")))) (, ",") (binary_expression "iVar3 == iVar7 &&\n        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)" (binary_expression "iVar3 == iVar7" (identifier "iVar3") (== "==") (identifier "iVar7")) (&& "&&") (parenthesized_expression "(uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)" (( "(") (comma_expression "uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0" (assignment_expression "uVar8 = FUN_000f71b0(iVar1,iVar3)" (identifier "uVar8") (= "=") (call_expression "FUN_000f71b0(iVar1,iVar3)" (identifier "FUN_000f71b0") (argument_list "(iVar1,iVar3)" (( "(") (identifier "iVar1") (, ",") (identifier "iVar3") () ")")))) (, ",") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0"))) () ")")))) () ")")) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))" (( "(") (comma_expression "FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38)" (call_expression "FUN_000f6f50(iVar1)" (identifier "FUN_000f6f50") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (, ",") (binary_expression "uVar8 <= *(uint *)(param_1 + 0x38)" (identifier "uVar8") (<= "<=") (pointer_expression "*(uint *)(param_1 + 0x38)" (* "*") (cast_expression "(uint *)(param_1 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n    iVar7 = *(int *)(param_1 + 0x2c);\n    FUN_000f6f50(iVar1);\n    uVar10 = uVar8;\n    if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }\n    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);\n    iVar1 = *(int *)(iVar7 + 0x28);\n    if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    \n      FUN_000e1450();\n    }\n    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }\n  }" ({ "{") (expression_statement "iVar7 = *(int *)(param_1 + 0x2c);" (assignment_expression "iVar7 = *(int *)(param_1 + 0x2c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "FUN_000f6f50(iVar1);" (call_expression "FUN_000f6f50(iVar1)" (identifier "FUN_000f6f50") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (; ";")) (expression_statement "uVar10 = uVar8;" (assignment_expression "uVar10 = uVar8" (identifier "uVar10") (= "=") (identifier "uVar8")) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x38) <= uVar8) {\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x38) <= uVar8)" (( "(") (binary_expression "*(uint *)(param_1 + 0x38) <= uVar8" (pointer_expression "*(uint *)(param_1 + 0x38)" (* "*") (cast_expression "(uint *)(param_1 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (<= "<=") (identifier "uVar8")) () ")")) (compound_statement "{\n      FUN_000f6f50(iVar1);\n      uVar2 = *(undefined4 *)(param_1 + 0x38);\n      uVar9 = gettext("section_type: bad shndx %u >= %u");\n      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);\n    }" ({ "{") (expression_statement "FUN_000f6f50(iVar1);" (call_expression "FUN_000f6f50(iVar1)" (identifier "FUN_000f6f50") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")"))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x38);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x38)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x38)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "uVar9 = gettext("section_type: bad shndx %u >= %u");" (assignment_expression "uVar9 = gettext("section_type: bad shndx %u >= %u")" (identifier "uVar9") (= "=") (call_expression "gettext("section_type: bad shndx %u >= %u")" (identifier "gettext") (argument_list "("section_type: bad shndx %u >= %u")" (( "(") (string_literal ""section_type: bad shndx %u >= %u"" (" """) (string_content "section_type: bad shndx %u >= %u") (" """)) () ")")))) (; ";")) (expression_statement "uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);" (assignment_expression "uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2)" (identifier "uVar10") (= "=") (call_expression "FUN_000e1570(iVar7,uVar9,uVar8,uVar2)" (identifier "FUN_000e1570") (argument_list "(iVar7,uVar9,uVar8,uVar2)" (( "(") (identifier "iVar7") (, ",") (identifier "uVar9") (, ",") (identifier "uVar8") (, ",") (identifier "uVar2") () ")")))) (; ";")) (} "}"))) (expression_statement "lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);" (assignment_expression "lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10)" (identifier "lVar12") (= "=") (call_expression "FUN_000f70c0(iVar1,uVar8,uVar10,uVar10)" (identifier "FUN_000f70c0") (argument_list "(iVar1,uVar8,uVar10,uVar10)" (( "(") (identifier "iVar1") (, ",") (identifier "uVar8") (, ",") (identifier "uVar10") (, ",") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "iVar1 = *(int *)(iVar7 + 0x28);" (assignment_expression "iVar1 = *(int *)(iVar7 + 0x28)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(iVar7 + 0x28)" (* "*") (cast_expression "(int *)(iVar7 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x28)" (( "(") (binary_expression "iVar7 + 0x28" (identifier "iVar7") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if ((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)) {\n                    \n      FUN_000e1450();\n    }" (if "if") (parenthesized_expression "((lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0))" (( "(") (binary_expression "(lVar12 < 0) ||\n       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)" (parenthesized_expression "(lVar12 < 0)" (( "(") (binary_expression "lVar12 < 0" (identifier "lVar12") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0)" (( "(") (comma_expression "iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),\n       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (assignment_expression "iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20)" (identifier "iVar11") (= "=") (cast_expression "(int)((ulonglong)(lVar12 + 0x40) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)(lVar12 + 0x40) >> 0x20)" (( "(") (binary_expression "(ulonglong)(lVar12 + 0x40) >> 0x20" (call_expression "(ulonglong)(lVar12 + 0x40)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(lVar12 + 0x40)" (( "(") (binary_expression "lVar12 + 0x40" (identifier "lVar12") (+ "+") (number_literal "0x40")) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (, ",") (comma_expression "uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),\n       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (assignment_expression "uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40))" (identifier "uVar10") (= "=") (call_expression "(uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40))" (( "(") (binary_expression "*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)" (pointer_expression "*(uint *)(iVar1 + 8)" (* "*") (cast_expression "(uint *)(iVar1 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")")))) (< "<") (call_expression "(uint)(lVar12 + 0x40)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar12 + 0x40)" (( "(") (binary_expression "lVar12 + 0x40" (identifier "lVar12") (+ "+") (number_literal "0x40")) () ")")))) () ")")))) (, ",") (comma_expression "iVar7 = *(int *)(iVar1 + 0xc) - iVar11,\n       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (assignment_expression "iVar7 = *(int *)(iVar1 + 0xc) - iVar11" (identifier "iVar7") (= "=") (binary_expression "*(int *)(iVar1 + 0xc) - iVar11" (pointer_expression "*(int *)(iVar1 + 0xc)" (* "*") (cast_expression "(int *)(iVar1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xc)" (( "(") (binary_expression "iVar1 + 0xc" (identifier "iVar1") (+ "+") (number_literal "0xc")) () ")")))) (- "-") (identifier "iVar11"))) (, ",") (binary_expression "(SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=\n       (int)(iVar7 - uVar10) < 0" (parenthesized_expression "(SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10))" (( "(") (binary_expression "SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)" (call_expression "SBORROW4(*(int *)(iVar1 + 0xc),iVar11)" (identifier "SBORROW4") (argument_list "(*(int *)(iVar1 + 0xc),iVar11)" (( "(") (pointer_expression "*(int *)(iVar1 + 0xc)" (* "*") (cast_expression "(int *)(iVar1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xc)" (( "(") (binary_expression "iVar1 + 0xc" (identifier "iVar1") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "iVar11") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar7,uVar10)" (identifier "SBORROW4") (argument_list "(iVar7,uVar10)" (( "(") (identifier "iVar7") (, ",") (identifier "uVar10") () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar7 - uVar10) < 0" (cast_expression "(int)(iVar7 - uVar10)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar7 - uVar10)" (( "(") (binary_expression "iVar7 - uVar10" (identifier "iVar7") (- "-") (identifier "uVar10")) () ")"))) (< "<") (number_literal "0")))))) () ")"))) () ")")) (compound_statement "{\n                    \n      FUN_000e1450();\n    }" ({ "{") (expression_statement "FUN_000e1450();" (call_expression "FUN_000e1450()" (identifier "FUN_000e1450") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }" (if "if") (parenthesized_expression "(*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3)" (( "(") (binary_expression "*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3" (pointer_expression "*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4)" (* "*") (cast_expression "(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)lVar12 + *(int *)(iVar1 + 0x10) + 4)" (( "(") (binary_expression "(int)lVar12 + *(int *)(iVar1 + 0x10) + 4" (binary_expression "(int)lVar12 + *(int *)(iVar1 + 0x10)" (cast_expression "(int)lVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar12")) (+ "+") (pointer_expression "*(int *)(iVar1 + 0x10)" (* "*") (cast_expression "(int *)(iVar1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x10)" (( "(") (binary_expression "iVar1 + 0x10" (identifier "iVar1") (+ "+") (number_literal "0x10")) () ")"))))) (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }\n      if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }\n      if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }\n      if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }\n      if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }\n      return 1;\n    }" ({ "{") (if_statement "if (param_2 != (int *)0x0) {\n        *param_2 = iVar3;\n      }" (if "if") (parenthesized_expression "(param_2 != (int *)0x0)" (( "(") (binary_expression "param_2 != (int *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *param_2 = iVar3;\n      }" ({ "{") (expression_statement "*param_2 = iVar3;" (assignment_expression "*param_2 = iVar3" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (if_statement "if (param_3 != (int *)0x0) {\n        *param_3 = iVar4;\n      }" (if "if") (parenthesized_expression "(param_3 != (int *)0x0)" (( "(") (binary_expression "param_3 != (int *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *param_3 = iVar4;\n      }" ({ "{") (expression_statement "*param_3 = iVar4;" (assignment_expression "*param_3 = iVar4" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "iVar4")) (; ";")) (} "}"))) (if_statement "if (param_4 != (int *)0x0) {\n        *param_4 = iVar5;\n      }" (if "if") (parenthesized_expression "(param_4 != (int *)0x0)" (( "(") (binary_expression "param_4 != (int *)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *param_4 = iVar5;\n      }" ({ "{") (expression_statement "*param_4 = iVar5;" (assignment_expression "*param_4 = iVar5" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "iVar5")) (; ";")) (} "}"))) (if_statement "if (param_5 != (int *)0x0) {\n        *param_5 = iVar6;\n      }" (if "if") (parenthesized_expression "(param_5 != (int *)0x0)" (( "(") (binary_expression "param_5 != (int *)0x0" (identifier "param_5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *param_5 = iVar6;\n      }" ({ "{") (expression_statement "*param_5 = iVar6;" (assignment_expression "*param_5 = iVar6" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (identifier "iVar6")) (; ";")) (} "}"))) (if_statement "if (param_6 != (uint *)0x0) {\n        *param_6 = uVar8;\n        return 1;\n      }" (if "if") (parenthesized_expression "(param_6 != (uint *)0x0)" (( "(") (binary_expression "param_6 != (uint *)0x0" (identifier "param_6") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *param_6 = uVar8;\n        return 1;\n      }" ({ "{") (expression_statement "*param_6 = uVar8;" (assignment_expression "*param_6 = uVar8" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (identifier "uVar8")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* DWARF original prototype: bool
   find_incremental_inputs_sections(Sized_incremental_binary<64,_false> * this, uint *
   p_inputs_shndx, uint * p_symtab_shndx, uint * p_relocs_shndx, uint * p_got_plt_shndx, uint *
   p_strtab_shndx) */

bool __thiscall
gold::Sized_incremental_binary<64,_false>::find_incremental_inputs_sections
          (Sized_incremental_binary<64,_false> *this,uint *p_inputs_shndx,uint *p_symtab_shndx,
          uint *p_relocs_shndx,uint *p_got_plt_shndx,uint *p_strtab_shndx)

{
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (identifier)))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (identifier)))))))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))))))))))) right: (parenthesized_expression (comma_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier))) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (identifier))) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (number_literal))))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (number_literal)))) (return_statement (number_literal)))))) (return_statement (number_literal)))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4
MASKED(int param_1,int *param_2,int *param_3,int *param_4,int *param_5,uint *param_6)

{
  int iVar1;
  undefined4 uVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  uint uVar8;
  undefined4 uVar9;
  uint uVar10;
  int iVar11;
  longlong lVar12;
  
  iVar1 = param_1 + 0x2c;
  iVar3 = FUN_000f7040(iVar1,0x6fff4700);
  if ((((((iVar3 != 0) && (iVar4 = FUN_000f7040(iVar1,0x6fff4701), iVar4 != 0)) &&
        (iVar5 = FUN_000f71b0(iVar1,iVar4), iVar3 == iVar5)) &&
       ((iVar5 = FUN_000f7040(iVar1,0x6fff4702), iVar5 != 0 &&
        (iVar6 = FUN_000f71b0(iVar1,iVar5), iVar3 == iVar6)))) &&
      ((iVar6 = FUN_000f7040(iVar1,0x6fff4703), iVar6 != 0 &&
       ((iVar7 = FUN_000f71b0(iVar1,iVar6), iVar3 == iVar7 &&
        (uVar8 = FUN_000f71b0(iVar1,iVar3), uVar8 != 0)))))) &&
     (FUN_000f6f50(iVar1), uVar8 <= *(uint *)(param_1 + 0x38))) {
    iVar7 = *(int *)(param_1 + 0x2c);
    FUN_000f6f50(iVar1);
    uVar10 = uVar8;
    if (*(uint *)(param_1 + 0x38) <= uVar8) {
      FUN_000f6f50(iVar1);
      uVar2 = *(undefined4 *)(param_1 + 0x38);
      uVar9 = gettext("section_type: bad shndx %u >= %u");
      uVar10 = FUN_000e1570(iVar7,uVar9,uVar8,uVar2);
    }
    lVar12 = FUN_000f70c0(iVar1,uVar8,uVar10,uVar10);
    iVar1 = *(int *)(iVar7 + 0x28);
    if ((lVar12 < 0) ||
       (iVar11 = (int)((ulonglong)(lVar12 + 0x40) >> 0x20),
       uVar10 = (uint)(*(uint *)(iVar1 + 8) < (uint)(lVar12 + 0x40)),
       iVar7 = *(int *)(iVar1 + 0xc) - iVar11,
       (SBORROW4(*(int *)(iVar1 + 0xc),iVar11) != SBORROW4(iVar7,uVar10)) !=
       (int)(iVar7 - uVar10) < 0)) {
                    /* WARNING: Subroutine does not return */
      FUN_000e1450();
    }
    if (*(int *)((int)lVar12 + *(int *)(iVar1 + 0x10) + 4) == 3) {
      if (param_2 != (int *)0x0) {
        *param_2 = iVar3;
      }
      if (param_3 != (int *)0x0) {
        *param_3 = iVar4;
      }
      if (param_4 != (int *)0x0) {
        *param_4 = iVar5;
      }
      if (param_5 != (int *)0x0) {
        *param_5 = iVar6;
      }
      if (param_6 != (uint *)0x0) {
        *param_6 = uVar8;
        return 1;
      }
      return 1;
    }
  }
  return 0;
}

