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

void __regparm3
objdump_print_addr_with_sym
          (bfd *abfd,asection *sec,asymbol *sym,bfd_vma vma,disassemble_info *inf,
          bfd_boolean skip_zeroes)

{
  bfd_vma *pbVar1;
  bfd_section *pbVar2;
  longlong lVar3;
  bfd_vma bVar4;
  disassemble_info *pdVar5;
  fprintf_ftype UNRECOVERED_JUMPTABLE;
  char *pcVar6;
  uint uVar7;
  void *pvVar8;
  undefined4 in_stack_ffffffb8;
  undefined *puVar9;
  
  objdump_print_value(CONCAT44(in_stack_ffffffb8,skip_zeroes),(disassemble_info *)vma,vma._4_4_);
  if (sym == (asymbol *)0x0) {
    (*inf->fprintf_func)(inf->stream," <%s",sec->name);
    uVar7 = *(uint *)((int)&sec->vma + 4);
    pdVar5 = *(disassemble_info **)&sec->vma;
    bVar4 = sec->vma;
    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {
      puVar9 = &DAT_0004f4fd;
      (*inf->fprintf_func)(inf->stream,"-0x");
      lVar3 = CONCAT44((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),
                       (int)pdVar5 - (int)(disassemble_info *)vma);
    }
    else {
      UNRECOVERED_JUMPTABLE = inf->fprintf_func;
      pvVar8 = inf->stream;
      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)
      goto LAB_00016506;
      puVar9 = &DAT_0004f501;
      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");
      lVar3 = vma - bVar4;
    }
  }
  else {
    (*inf->fprintf_func)(inf->stream," <");
    objdump_print_symname(abfd,inf,sym);
    pbVar2 = sym->section;
    uVar7 = (uint)sym->value;
    pdVar5 = (disassemble_info *)(uVar7 + (int)pbVar2->vma);
    uVar7 = *(int *)((int)&sym->value + 4) + *(int *)((int)&pbVar2->vma + 4) +
            (uint)CARRY4(uVar7,(uint)pbVar2->vma);
    UNRECOVERED_JUMPTABLE = inf->fprintf_func;
    pvVar8 = inf->stream;
    if ((vma == CONCAT44(uVar7,pdVar5)) ||
       (((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&
        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))))) goto LAB_00016506;
    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {
      puVar9 = &DAT_0004f4fd;
      (*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x");
      uVar7 = (uint)sym->value;
      pbVar1 = &sym->section->vma;
      pdVar5 = (disassemble_info *)(uVar7 + (int)*pbVar1);
      lVar3 = CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +
                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -
                       (uint)(pdVar5 < (disassemble_info *)vma),
                       (int)pdVar5 - (int)(disassemble_info *)vma);
    }
    else {
      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)
      goto LAB_00016506;
      puVar9 = &DAT_0004f501;
      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");
      pbVar1 = &sym->section->vma;
      uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1;
      lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -
                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -
                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),
                       uVar7 - (int)sym->value);
    }
  }
  objdump_print_value(CONCAT44(puVar9,1),(disassemble_info *)lVar3,
                      (bfd_boolean)((ulonglong)lVar3 >> 0x20));
  UNRECOVERED_JUMPTABLE = inf->fprintf_func;
  pvVar8 = inf->stream;
LAB_00016506:
  (*UNRECOVERED_JUMPTABLE)(pvVar8,">");
  if (display_file_offsets == 0) {
    return;
  }
  UNRECOVERED_JUMPTABLE = inf->fprintf_func;
  pcVar6 = (char *)dcgettext(0," (File Offset: 0x%lx)",5);
                    /* WARNING: Could not recover jumptable at 0x0001656b. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*UNRECOVERED_JUMPTABLE)(inf->stream,pcVar6);
  return;
}



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

void __regparm3
FUN_000163f0(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,
            undefined4 *param_6,undefined4 param_7)

{
  undefined *puVar1;
  uint uVar2;
  code *UNRECOVERED_JUMPTABLE;
  uint uVar3;
  undefined4 uVar4;
  
  FUN_00016380(param_7);
  if (param_3 == 0) {
    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);
    uVar2 = param_2[8];
    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {
      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);
    }
    else {
      UNRECOVERED_JUMPTABLE = (code *)*param_6;
      uVar4 = param_6[1];
      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)
      goto LAB_00016506;
      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);
    }
  }
  else {
    (*(code *)*param_6)(param_6[1],&DAT_0004f505);
    FUN_000160e0();
    puVar1 = *(undefined **)(param_3 + 0x14);
    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);
    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +
            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));
    UNRECOVERED_JUMPTABLE = (code *)*param_6;
    uVar4 = param_6[1];
    if ((uVar3 == param_5 && param_4 == uVar2) ||
       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&
        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;
    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {
      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);
    }
    else {
      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;
      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);
    }
  }
  FUN_00016380(1);
  UNRECOVERED_JUMPTABLE = (code *)*param_6;
  uVar4 = param_6[1];
LAB_00016506:
  (*UNRECOVERED_JUMPTABLE)(uVar4,">");
  if (DAT_000740a0 == 0) {
    return;
  }
  UNRECOVERED_JUMPTABLE = (code *)*param_6;
  dcgettext(0," (File Offset: 0x%lx)",5);
                    /* WARNING: Could not recover jumptable at 0x0001656b. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*UNRECOVERED_JUMPTABLE)();
  return;
}


PUSH EBP
MOV EBP,EAX
PUSH EDI
MOV EDI,ECX
PUSH ESI
PUSH EBX
CALL 0x000153d0
ADD EBX,0x5cc03
SUB ESP,0x38
MOV EAX,dword ptr [ESP + 0x4c]
MOV ESI,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x28],EDX
MOV EDX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x14],EAX
MOV ECX,ESI
MOV dword ptr [ESP + 0x18],EDX
PUSH dword ptr [ESP + 0x58]
CALL 0x00016380
ADD ESP,0x10
TEST EDI,EDI
JZ 0x00016570
SUB ESP,0x8
LEA EAX,[EBX + 0xfffdc505]
PUSH EAX
PUSH dword ptr [ESI + 0x4]
CALL dword ptr [ESI]
MOV ECX,EDI
MOV EDX,ESI
MOV EAX,EBP
CALL 0x000160e0
MOV ECX,dword ptr [EDI + 0x14]
MOV EAX,dword ptr [EDI + 0x8]
MOV EDX,dword ptr [EDI + 0xc]
ADD EAX,dword ptr [ECX + 0x1c]
ADC EDX,dword ptr [ECX + 0x20]
ADD ESP,0x10
MOV dword ptr [ESP + 0x14],EDX
MOV EDX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x10],EAX
XOR EDX,EAX
MOV EAX,EDX
MOV EDX,dword ptr [ESP + 0x14]
XOR EDX,dword ptr [ESP + 0xc]
OR EDX,EAX
MOV EAX,dword ptr [ESI]
MOV EDX,dword ptr [ESI + 0x4]
JZ 0x00016506
MOV EBP,dword ptr [EBP + 0x28]
SHR EBP,0x5
AND EBP,0x42
JZ 0x000164a0
MOV EBP,dword ptr [EBX + 0xffffffd8]
ADD EBP,0xc0
CMP ECX,EBP
JZ 0x00016506
MOV ECX,dword ptr [ESP + 0x10]
CMP dword ptr [ESP + 0x8],ECX
MOV ECX,dword ptr [ESP + 0xc]
SBB ECX,dword ptr [ESP + 0x14]
JC 0x000165d8
MOV ECX,dword ptr [ESP + 0x8]
CMP dword ptr [ESP + 0x10],ECX
MOV ECX,dword ptr [ESP + 0x14]
SBB ECX,dword ptr [ESP + 0xc]
JNC 0x00016506
SUB ESP,0x8
LEA ECX,[EBX + 0xfffdc501]
PUSH ECX
PUSH EDX
CALL EAX
MOV EAX,dword ptr [EDI + 0x14]
MOV EDX,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x1c]
SUB EDX,dword ptr [EAX + 0x1c]
SBB ECX,dword ptr [EAX + 0x20]
MOV EAX,EDX
MOV EDX,ECX
SUB EAX,dword ptr [EDI + 0x8]
SBB EDX,dword ptr [EDI + 0xc]
MOV ECX,ESI
MOV dword ptr [ESP],0x1
CALL 0x00016380
MOV EAX,dword ptr [ESI]
MOV EDX,dword ptr [ESI + 0x4]
ADD ESP,0x10
SUB ESP,0x8
LEA ECX,[EBX + 0xfffe4358]
PUSH ECX
PUSH EDX
CALL EAX
MOV EAX,dword ptr [EBX + 0x10a0]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00016530
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0x1c]
SUB ESP,0x4
MOV EBP,dword ptr [ESI]
MOV EDI,dword ptr [EAX + 0x68]
SUB EDI,dword ptr [EAX + 0x1c]
LEA EAX,[EBX + 0xfffdc508]
ADD EDI,dword ptr [ESP + 0xc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141f0
MOV dword ptr [ESP + 0x58],EDI
MOV dword ptr [ESP + 0x54],EAX
MOV EAX,dword ptr [ESI + 0x4]
MOV dword ptr [ESP + 0x50],EAX
ADD ESP,0x3c
MOV EAX,EBP
POP EBX
POP ESI
POP EDI
POP EBP
JMP EAX
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdc4f8]
MOV EDI,dword ptr [ESP + 0x20]
PUSH dword ptr [EDI]
PUSH EAX
PUSH dword ptr [ESI + 0x4]
CALL dword ptr [ESI]
MOV EBP,dword ptr [EDI + 0x20]
MOV EDX,dword ptr [ESP + 0x18]
MOV EDI,dword ptr [EDI + 0x1c]
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0xc]
CMP EDX,EDI
MOV EAX,ECX
SBB EAX,EBP
JC 0x00016608
CMP EDI,dword ptr [ESP + 0x8]
MOV ECX,EBP
SBB ECX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [ESI]
MOV EDX,dword ptr [ESI + 0x4]
JNC 0x00016506
SUB ESP,0x8
LEA ECX,[EBX + 0xfffdc501]
PUSH ECX
PUSH EDX
CALL EAX
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x1c]
SUB EAX,EDI
SBB EDX,EBP
JMP 0x000164f0
SUB ESP,0x8
LEA ECX,[EBX + 0xfffdc4fd]
PUSH ECX
PUSH EDX
CALL EAX
MOV ECX,dword ptr [EDI + 0x14]
MOV EAX,dword ptr [EDI + 0x8]
MOV EDX,dword ptr [EDI + 0xc]
ADD EAX,dword ptr [ECX + 0x1c]
ADC EDX,dword ptr [ECX + 0x20]
SUB EAX,dword ptr [ESP + 0x18]
SBB EDX,dword ptr [ESP + 0x1c]
JMP 0x000164f0
SUB ESP,0x8
LEA EAX,[EBX + 0xfffdc4fd]
PUSH EAX
PUSH dword ptr [ESI + 0x4]
CALL dword ptr [ESI]
SUB EDI,dword ptr [ESP + 0x18]
SBB EBP,dword ptr [ESP + 0x1c]
MOV EAX,EDI
MOV EDX,EBP
JMP 0x000164f0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3\nFUN_000163f0(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,\n            undefined4 *param_6,undefined4 param_7)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar3;\n  undefined4 uVar4;\n  \n  FUN_00016380(param_7);\n  if (param_3 == 0) {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  FUN_00016380(1);\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  uVar4 = param_6[1];\nLAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(uVar4,">");\n  if (DAT_000740a0 == 0) {\n    return;\n  }\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  dcgettext(0," (File Offset: 0x%lx)",5);\n                    /* WARNING: Could not recover jumptable at 0x0001656b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*UNRECOVERED_JUMPTABLE)();\n  return;\n}\n\n" comment (function_definition "void __regparm3\nFUN_000163f0(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,\n            undefined4 *param_6,undefined4 param_7)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar3;\n  undefined4 uVar4;\n  \n  FUN_00016380(param_7);\n  if (param_3 == 0) {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  FUN_00016380(1);\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  uVar4 = param_6[1];\nLAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(uVar4,">");\n  if (DAT_000740a0 == 0) {\n    return;\n  }\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  dcgettext(0," (File Offset: 0x%lx)",5);\n                    /* WARNING: Could not recover jumptable at 0x0001656b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*UNRECOVERED_JUMPTABLE)();\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000163f0(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,\n            undefined4 *param_6,undefined4 param_7)" identifier (parameter_list "(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,\n            undefined4 *param_6,undefined4 param_7)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "undefined4 *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "undefined4 param_7" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar3;\n  undefined4 uVar4;\n  \n  FUN_00016380(param_7);\n  if (param_3 == 0) {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  FUN_00016380(1);\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  uVar4 = param_6[1];\nLAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(uVar4,">");\n  if (DAT_000740a0 == 0) {\n    return;\n  }\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  dcgettext(0," (File Offset: 0x%lx)",5);\n                    /* WARNING: Could not recover jumptable at 0x0001656b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*UNRECOVERED_JUMPTABLE)();\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (expression_statement "FUN_00016380(param_7);" (call_expression "FUN_00016380(param_7)" identifier (argument_list "(param_7)" ( identifier ))) ;) (if_statement "if (param_3 == 0) {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" { (expression_statement "(*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);" (call_expression "(*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2)" (parenthesized_expression "(*(code *)*param_6)" ( (pointer_expression "*(code *)*param_6" * (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) )) (argument_list "(param_6[1],&DAT_0004f4f8,*param_2)" ( (subscript_expression "param_6[1]" identifier [ number_literal ]) , (pointer_expression "&DAT_0004f4f8" & identifier) , (pointer_expression "*param_2" * identifier) ))) ;) (expression_statement "uVar2 = param_2[8];" (assignment_expression "uVar2 = param_2[8]" identifier = (subscript_expression "param_2[8]" identifier [ number_literal ])) ;) (if_statement "if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" if (parenthesized_expression "(param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7]))" ( (binary_expression "param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])" (binary_expression "param_5 < uVar2" identifier < identifier) || (binary_expression "param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])" (binary_expression "param_5 - uVar2" identifier - identifier) < (call_expression "(uint)(param_4 < (uint)param_2[7])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_4 < (uint)param_2[7])" ( (binary_expression "param_4 < (uint)param_2[7]" identifier < (cast_expression "(uint)param_2[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[7]" identifier [ number_literal ]))) ))))) )) (compound_statement "{\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }" { (expression_statement "(*(code *)*param_6)(param_6[1],&DAT_0004f4fd);" (call_expression "(*(code *)*param_6)(param_6[1],&DAT_0004f4fd)" (parenthesized_expression "(*(code *)*param_6)" ( (pointer_expression "*(code *)*param_6" * (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) )) (argument_list "(param_6[1],&DAT_0004f4fd)" ( (subscript_expression "param_6[1]" identifier [ number_literal ]) , (pointer_expression "&DAT_0004f4fd" & identifier) ))) ;) }) (else_clause "else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" else (compound_statement "{\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" identifier = (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "uVar4 = param_6[1];" (assignment_expression "uVar4 = param_6[1]" identifier = (subscript_expression "param_6[1]" identifier [ number_literal ])) ;) (if_statement "if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;" if (parenthesized_expression "(param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)" ( (binary_expression "param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5" (binary_expression "param_5 <= uVar2" identifier <= identifier) && (binary_expression "(uint)((uint)param_2[7] < param_4) <= uVar2 - param_5" (call_expression "(uint)((uint)param_2[7] < param_4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)param_2[7] < param_4)" ( (binary_expression "(uint)param_2[7] < param_4" (cast_expression "(uint)param_2[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[7]" identifier [ number_literal ])) < identifier) ))) <= (binary_expression "uVar2 - param_5" identifier - identifier))) )) (goto_statement "goto LAB_00016506;" goto statement_identifier ;)) (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(uVar4,&DAT_0004f501)" ( identifier , (pointer_expression "&DAT_0004f501" & identifier) ))) ;) }))) }) (else_clause "else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" else (compound_statement "{\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" { (expression_statement "(*(code *)*param_6)(param_6[1],&DAT_0004f505);" (call_expression "(*(code *)*param_6)(param_6[1],&DAT_0004f505)" (parenthesized_expression "(*(code *)*param_6)" ( (pointer_expression "*(code *)*param_6" * (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) )) (argument_list "(param_6[1],&DAT_0004f505)" ( (subscript_expression "param_6[1]" identifier [ number_literal ]) , (pointer_expression "&DAT_0004f505" & identifier) ))) ;) (expression_statement "FUN_000160e0();" (call_expression "FUN_000160e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar1 = *(undefined **)(param_3 + 0x14);" (assignment_expression "puVar1 = *(undefined **)(param_3 + 0x14)" identifier = (pointer_expression "*(undefined **)(param_3 + 0x14)" * (cast_expression "(undefined **)(param_3 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);" (assignment_expression "uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c)" identifier = (binary_expression "*(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c)" (pointer_expression "*(uint *)(param_3 + 8)" * (cast_expression "(uint *)(param_3 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) + (pointer_expression "*(uint *)(puVar1 + 0x1c)" * (cast_expression "(uint *)(puVar1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x1c)" ( (binary_expression "puVar1 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));" (assignment_expression "uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" identifier = (binary_expression "*(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" (binary_expression "*(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20)" (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(puVar1 + 0x20)" * (cast_expression "(int *)(puVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x20)" ( (binary_expression "puVar1 + 0x20" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" identifier (argument_list "(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" ( (pointer_expression "*(uint *)(param_3 + 8)" * (cast_expression "(uint *)(param_3 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar1 + 0x1c)" * (cast_expression "(uint *)(puVar1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x1c)" ( (binary_expression "puVar1 + 0x1c" identifier + number_literal) )))) )))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" identifier = (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "uVar4 = param_6[1];" (assignment_expression "uVar4 = param_6[1]" identifier = (subscript_expression "param_6[1]" identifier [ number_literal ])) ;) (if_statement "if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;" if (parenthesized_expression "((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0))))" ( (binary_expression "(uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))" (parenthesized_expression "(uVar3 == param_5 && param_4 == uVar2)" ( (binary_expression "uVar3 == param_5 && param_4 == uVar2" (binary_expression "uVar3 == param_5" identifier == identifier) && (binary_expression "param_4 == uVar2" identifier == identifier)) )) || (parenthesized_expression "(((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))" ( (parenthesized_expression "((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0))" ( (binary_expression "(*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)" (binary_expression "(*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0" (parenthesized_expression "(*(uint *)(param_1 + 0x28) >> 5 & 0x42)" ( (binary_expression "*(uint *)(param_1 + 0x28) >> 5 & 0x42" (binary_expression "*(uint *)(param_1 + 0x28) >> 5" (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "(puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)" ( (binary_expression "puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0" identifier == (binary_expression "PTR__bfd_std_section_00072fd8 + 0xc0" identifier + number_literal)) ))) )) ))) )) (goto_statement "goto LAB_00016506;" goto statement_identifier ;)) (if_statement "if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" if (parenthesized_expression "(param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2))" ( (binary_expression "param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)" (binary_expression "param_5 < uVar3" identifier < identifier) || (binary_expression "param_5 - uVar3 < (uint)(param_4 < uVar2)" (binary_expression "param_5 - uVar3" identifier - identifier) < (call_expression "(uint)(param_4 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_4 < uVar2)" ( (binary_expression "param_4 < uVar2" identifier < identifier) ))))) )) (compound_statement "{\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }" { (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(uVar4,&DAT_0004f4fd)" ( identifier , (pointer_expression "&DAT_0004f4fd" & identifier) ))) ;) }) (else_clause "else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" else (compound_statement "{\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" { (if_statement "if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;" if (parenthesized_expression "(param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5)" ( (binary_expression "param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5" (binary_expression "param_5 <= uVar3" identifier <= identifier) && (binary_expression "(uint)(uVar2 < param_4) <= uVar3 - param_5" (call_expression "(uint)(uVar2 < param_4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar2 < param_4)" ( (binary_expression "uVar2 < param_4" identifier < identifier) ))) <= (binary_expression "uVar3 - param_5" identifier - identifier))) )) (goto_statement "goto LAB_00016506;" goto statement_identifier ;)) (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(uVar4,&DAT_0004f501)" ( identifier , (pointer_expression "&DAT_0004f501" & identifier) ))) ;) }))) }))) (expression_statement "FUN_00016380(1);" (call_expression "FUN_00016380(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" identifier = (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "uVar4 = param_6[1];" (assignment_expression "uVar4 = param_6[1]" identifier = (subscript_expression "param_6[1]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(uVar4,">");" statement_identifier : (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,">");" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,">")" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(uVar4,">")" ( identifier , (string_literal "">"" " string_content ") ))) ;)) (if_statement "if (DAT_000740a0 == 0) {\n    return;\n  }" if (parenthesized_expression "(DAT_000740a0 == 0)" ( (binary_expression "DAT_000740a0 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" identifier = (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "dcgettext(0," (File Offset: 0x%lx)",5);" (call_expression "dcgettext(0," (File Offset: 0x%lx)",5)" identifier (argument_list "(0," (File Offset: 0x%lx)",5)" ( number_literal , (string_literal "" (File Offset: 0x%lx)"" " string_content ") , number_literal ))) ;) comment comment (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3\nobjdump_print_addr_with_sym\n          (bfd *abfd,asection *sec,asymbol *sym,bfd_vma vma,disassemble_info *inf,\n          bfd_boolean skip_zeroes)\n\n{\n  bfd_vma *pbVar1;\n  bfd_section *pbVar2;\n  longlong lVar3;\n  bfd_vma bVar4;\n  disassemble_info *pdVar5;\n  fprintf_ftype UNRECOVERED_JUMPTABLE;\n  char *pcVar6;\n  uint uVar7;\n  void *pvVar8;\n  undefined4 in_stack_ffffffb8;\n  undefined *puVar9;\n  \n  objdump_print_value(CONCAT44(in_stack_ffffffb8,skip_zeroes),(disassemble_info *)vma,vma._4_4_);\n  if (sym == (asymbol *)0x0) {\n    (*inf->fprintf_func)(inf->stream," <%s",sec->name);\n    uVar7 = *(uint *)((int)&sec->vma + 4);\n    pdVar5 = *(disassemble_info **)&sec->vma;\n    bVar4 = sec->vma;\n    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*inf->fprintf_func)(inf->stream,"-0x");\n      lVar3 = CONCAT44((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n      pvVar8 = inf->stream;\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      lVar3 = vma - bVar4;\n    }\n  }\n  else {\n    (*inf->fprintf_func)(inf->stream," <");\n    objdump_print_symname(abfd,inf,sym);\n    pbVar2 = sym->section;\n    uVar7 = (uint)sym->value;\n    pdVar5 = (disassemble_info *)(uVar7 + (int)pbVar2->vma);\n    uVar7 = *(int *)((int)&sym->value + 4) + *(int *)((int)&pbVar2->vma + 4) +\n            (uint)CARRY4(uVar7,(uint)pbVar2->vma);\n    UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n    pvVar8 = inf->stream;\n    if ((vma == CONCAT44(uVar7,pdVar5)) ||\n       (((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))))) goto LAB_00016506;\n    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x");\n      uVar7 = (uint)sym->value;\n      pbVar1 = &sym->section->vma;\n      pdVar5 = (disassemble_info *)(uVar7 + (int)*pbVar1);\n      lVar3 = CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      pbVar1 = &sym->section->vma;\n      uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1;\n      lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value);\n    }\n  }\n  objdump_print_value(CONCAT44(puVar9,1),(disassemble_info *)lVar3,\n                      (bfd_boolean)((ulonglong)lVar3 >> 0x20));\n  UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n  pvVar8 = inf->stream;\nLAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(pvVar8,">");\n  if (display_file_offsets == 0) {\n    return;\n  }\n  UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n  pcVar6 = (char *)dcgettext(0," (File Offset: 0x%lx)",5);\n                    /* WARNING: Could not recover jumptable at 0x0001656b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*UNRECOVERED_JUMPTABLE)(inf->stream,pcVar6);\n  return;\n}\n\n" comment (function_definition "void __regparm3\nobjdump_print_addr_with_sym\n          (bfd *abfd,asection *sec,asymbol *sym,bfd_vma vma,disassemble_info *inf,\n          bfd_boolean skip_zeroes)\n\n{\n  bfd_vma *pbVar1;\n  bfd_section *pbVar2;\n  longlong lVar3;\n  bfd_vma bVar4;\n  disassemble_info *pdVar5;\n  fprintf_ftype UNRECOVERED_JUMPTABLE;\n  char *pcVar6;\n  uint uVar7;\n  void *pvVar8;\n  undefined4 in_stack_ffffffb8;\n  undefined *puVar9;\n  \n  objdump_print_value(CONCAT44(in_stack_ffffffb8,skip_zeroes),(disassemble_info *)vma,vma._4_4_);\n  if (sym == (asymbol *)0x0) {\n    (*inf->fprintf_func)(inf->stream," <%s",sec->name);\n    uVar7 = *(uint *)((int)&sec->vma + 4);\n    pdVar5 = *(disassemble_info **)&sec->vma;\n    bVar4 = sec->vma;\n    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*inf->fprintf_func)(inf->stream,"-0x");\n      lVar3 = CONCAT44((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n      pvVar8 = inf->stream;\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      lVar3 = vma - bVar4;\n    }\n  }\n  else {\n    (*inf->fprintf_func)(inf->stream," <");\n    objdump_print_symname(abfd,inf,sym);\n    pbVar2 = sym->section;\n    uVar7 = (uint)sym->value;\n    pdVar5 = (disassemble_info *)(uVar7 + (int)pbVar2->vma);\n    uVar7 = *(int *)((int)&sym->value + 4) + *(int *)((int)&pbVar2->vma + 4) +\n            (uint)CARRY4(uVar7,(uint)pbVar2->vma);\n    UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n    pvVar8 = inf->stream;\n    if ((vma == CONCAT44(uVar7,pdVar5)) ||\n       (((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))))) goto LAB_00016506;\n    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x");\n      uVar7 = (uint)sym->value;\n      pbVar1 = &sym->section->vma;\n      pdVar5 = (disassemble_info *)(uVar7 + (int)*pbVar1);\n      lVar3 = CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      pbVar1 = &sym->section->vma;\n      uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1;\n      lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value);\n    }\n  }\n  objdump_print_value(CONCAT44(puVar9,1),(disassemble_info *)lVar3,\n                      (bfd_boolean)((ulonglong)lVar3 >> 0x20));\n  UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n  pvVar8 = inf->stream;\nLAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(pvVar8,">");\n  if (display_file_offsets == 0) {\n    return;\n  }\n  UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n  pcVar6 = (char *)dcgettext(0," (File Offset: 0x%lx)",5);\n                    /* WARNING: Could not recover jumptable at 0x0001656b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*UNRECOVERED_JUMPTABLE)(inf->stream,pcVar6);\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "objdump_print_addr_with_sym\n          (bfd *abfd,asection *sec,asymbol *sym,bfd_vma vma,disassemble_info *inf,\n          bfd_boolean skip_zeroes)" identifier (parameter_list "(bfd *abfd,asection *sec,asymbol *sym,bfd_vma vma,disassemble_info *inf,\n          bfd_boolean skip_zeroes)" ( (parameter_declaration "bfd *abfd" type_identifier (pointer_declarator "*abfd" * identifier)) , (parameter_declaration "asection *sec" type_identifier (pointer_declarator "*sec" * identifier)) , (parameter_declaration "asymbol *sym" type_identifier (pointer_declarator "*sym" * identifier)) , (parameter_declaration "bfd_vma vma" type_identifier identifier) , (parameter_declaration "disassemble_info *inf" type_identifier (pointer_declarator "*inf" * identifier)) , (parameter_declaration "bfd_boolean skip_zeroes" type_identifier identifier) ))) (compound_statement "{\n  bfd_vma *pbVar1;\n  bfd_section *pbVar2;\n  longlong lVar3;\n  bfd_vma bVar4;\n  disassemble_info *pdVar5;\n  fprintf_ftype UNRECOVERED_JUMPTABLE;\n  char *pcVar6;\n  uint uVar7;\n  void *pvVar8;\n  undefined4 in_stack_ffffffb8;\n  undefined *puVar9;\n  \n  objdump_print_value(CONCAT44(in_stack_ffffffb8,skip_zeroes),(disassemble_info *)vma,vma._4_4_);\n  if (sym == (asymbol *)0x0) {\n    (*inf->fprintf_func)(inf->stream," <%s",sec->name);\n    uVar7 = *(uint *)((int)&sec->vma + 4);\n    pdVar5 = *(disassemble_info **)&sec->vma;\n    bVar4 = sec->vma;\n    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*inf->fprintf_func)(inf->stream,"-0x");\n      lVar3 = CONCAT44((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n      pvVar8 = inf->stream;\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      lVar3 = vma - bVar4;\n    }\n  }\n  else {\n    (*inf->fprintf_func)(inf->stream," <");\n    objdump_print_symname(abfd,inf,sym);\n    pbVar2 = sym->section;\n    uVar7 = (uint)sym->value;\n    pdVar5 = (disassemble_info *)(uVar7 + (int)pbVar2->vma);\n    uVar7 = *(int *)((int)&sym->value + 4) + *(int *)((int)&pbVar2->vma + 4) +\n            (uint)CARRY4(uVar7,(uint)pbVar2->vma);\n    UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n    pvVar8 = inf->stream;\n    if ((vma == CONCAT44(uVar7,pdVar5)) ||\n       (((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))))) goto LAB_00016506;\n    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x");\n      uVar7 = (uint)sym->value;\n      pbVar1 = &sym->section->vma;\n      pdVar5 = (disassemble_info *)(uVar7 + (int)*pbVar1);\n      lVar3 = CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      pbVar1 = &sym->section->vma;\n      uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1;\n      lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value);\n    }\n  }\n  objdump_print_value(CONCAT44(puVar9,1),(disassemble_info *)lVar3,\n                      (bfd_boolean)((ulonglong)lVar3 >> 0x20));\n  UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n  pvVar8 = inf->stream;\nLAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(pvVar8,">");\n  if (display_file_offsets == 0) {\n    return;\n  }\n  UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n  pcVar6 = (char *)dcgettext(0," (File Offset: 0x%lx)",5);\n                    /* WARNING: Could not recover jumptable at 0x0001656b. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*UNRECOVERED_JUMPTABLE)(inf->stream,pcVar6);\n  return;\n}" { (declaration "bfd_vma *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "bfd_section *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "longlong lVar3;" type_identifier identifier ;) (declaration "bfd_vma bVar4;" type_identifier identifier ;) (declaration "disassemble_info *pdVar5;" type_identifier (pointer_declarator "*pdVar5" * identifier) ;) (declaration "fprintf_ftype UNRECOVERED_JUMPTABLE;" type_identifier identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "void *pvVar8;" primitive_type (pointer_declarator "*pvVar8" * identifier) ;) (declaration "undefined4 in_stack_ffffffb8;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (expression_statement "objdump_print_value(CONCAT44(in_stack_ffffffb8,skip_zeroes),(disassemble_info *)vma,vma._4_4_);" (call_expression "objdump_print_value(CONCAT44(in_stack_ffffffb8,skip_zeroes),(disassemble_info *)vma,vma._4_4_)" identifier (argument_list "(CONCAT44(in_stack_ffffffb8,skip_zeroes),(disassemble_info *)vma,vma._4_4_)" ( (call_expression "CONCAT44(in_stack_ffffffb8,skip_zeroes)" identifier (argument_list "(in_stack_ffffffb8,skip_zeroes)" ( identifier , identifier ))) , (cast_expression "(disassemble_info *)vma" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "vma._4_4_" identifier . field_identifier) ))) ;) (if_statement "if (sym == (asymbol *)0x0) {\n    (*inf->fprintf_func)(inf->stream," <%s",sec->name);\n    uVar7 = *(uint *)((int)&sec->vma + 4);\n    pdVar5 = *(disassemble_info **)&sec->vma;\n    bVar4 = sec->vma;\n    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*inf->fprintf_func)(inf->stream,"-0x");\n      lVar3 = CONCAT44((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n      pvVar8 = inf->stream;\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      lVar3 = vma - bVar4;\n    }\n  }\n  else {\n    (*inf->fprintf_func)(inf->stream," <");\n    objdump_print_symname(abfd,inf,sym);\n    pbVar2 = sym->section;\n    uVar7 = (uint)sym->value;\n    pdVar5 = (disassemble_info *)(uVar7 + (int)pbVar2->vma);\n    uVar7 = *(int *)((int)&sym->value + 4) + *(int *)((int)&pbVar2->vma + 4) +\n            (uint)CARRY4(uVar7,(uint)pbVar2->vma);\n    UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n    pvVar8 = inf->stream;\n    if ((vma == CONCAT44(uVar7,pdVar5)) ||\n       (((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))))) goto LAB_00016506;\n    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x");\n      uVar7 = (uint)sym->value;\n      pbVar1 = &sym->section->vma;\n      pdVar5 = (disassemble_info *)(uVar7 + (int)*pbVar1);\n      lVar3 = CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      pbVar1 = &sym->section->vma;\n      uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1;\n      lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value);\n    }\n  }" if (parenthesized_expression "(sym == (asymbol *)0x0)" ( (binary_expression "sym == (asymbol *)0x0" identifier == (cast_expression "(asymbol *)0x0" ( (type_descriptor "asymbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*inf->fprintf_func)(inf->stream," <%s",sec->name);\n    uVar7 = *(uint *)((int)&sec->vma + 4);\n    pdVar5 = *(disassemble_info **)&sec->vma;\n    bVar4 = sec->vma;\n    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*inf->fprintf_func)(inf->stream,"-0x");\n      lVar3 = CONCAT44((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n      pvVar8 = inf->stream;\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      lVar3 = vma - bVar4;\n    }\n  }" { (expression_statement "(*inf->fprintf_func)(inf->stream," <%s",sec->name);" (call_expression "(*inf->fprintf_func)(inf->stream," <%s",sec->name)" (parenthesized_expression "(*inf->fprintf_func)" ( (pointer_expression "*inf->fprintf_func" * (field_expression "inf->fprintf_func" identifier -> field_identifier)) )) (argument_list "(inf->stream," <%s",sec->name)" ( (field_expression "inf->stream" identifier -> field_identifier) , (string_literal "" <%s"" " string_content ") , (field_expression "sec->name" identifier -> field_identifier) ))) ;) (expression_statement "uVar7 = *(uint *)((int)&sec->vma + 4);" (assignment_expression "uVar7 = *(uint *)((int)&sec->vma + 4)" identifier = (pointer_expression "*(uint *)((int)&sec->vma + 4)" * (cast_expression "(uint *)((int)&sec->vma + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&sec->vma + 4)" ( (binary_expression "(int)&sec->vma + 4" (cast_expression "(int)&sec->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&sec->vma" & (field_expression "sec->vma" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pdVar5 = *(disassemble_info **)&sec->vma;" (assignment_expression "pdVar5 = *(disassemble_info **)&sec->vma" identifier = (pointer_expression "*(disassemble_info **)&sec->vma" * (cast_expression "(disassemble_info **)&sec->vma" ( (type_descriptor "disassemble_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&sec->vma" & (field_expression "sec->vma" identifier -> field_identifier))))) ;) (expression_statement "bVar4 = sec->vma;" (assignment_expression "bVar4 = sec->vma" identifier = (field_expression "sec->vma" identifier -> field_identifier)) ;) (if_statement "if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*inf->fprintf_func)(inf->stream,"-0x");\n      lVar3 = CONCAT44((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n      pvVar8 = inf->stream;\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      lVar3 = vma - bVar4;\n    }" if (parenthesized_expression "(vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5))" ( (binary_expression "vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)" (binary_expression "vma._4_4_ < uVar7" (field_expression "vma._4_4_" identifier . field_identifier) < identifier) || (binary_expression "vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)" (binary_expression "vma._4_4_ - uVar7" (field_expression "vma._4_4_" identifier . field_identifier) - identifier) < (call_expression "(uint)((disassemble_info *)vma < pdVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((disassemble_info *)vma < pdVar5)" ( (binary_expression "(disassemble_info *)vma < pdVar5" (cast_expression "(disassemble_info *)vma" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) ))))) )) (compound_statement "{\n      puVar9 = &DAT_0004f4fd;\n      (*inf->fprintf_func)(inf->stream,"-0x");\n      lVar3 = CONCAT44((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }" { (expression_statement "puVar9 = &DAT_0004f4fd;" (assignment_expression "puVar9 = &DAT_0004f4fd" identifier = (pointer_expression "&DAT_0004f4fd" & identifier)) ;) (expression_statement "(*inf->fprintf_func)(inf->stream,"-0x");" (call_expression "(*inf->fprintf_func)(inf->stream,"-0x")" (parenthesized_expression "(*inf->fprintf_func)" ( (pointer_expression "*inf->fprintf_func" * (field_expression "inf->fprintf_func" identifier -> field_identifier)) )) (argument_list "(inf->stream,"-0x")" ( (field_expression "inf->stream" identifier -> field_identifier) , (string_literal ""-0x"" " string_content ") ))) ;) (expression_statement "lVar3 = CONCAT44((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);" (assignment_expression "lVar3 = CONCAT44((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma)" identifier = (call_expression "CONCAT44((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma)" identifier (argument_list "((uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma)" ( (binary_expression "(uVar7 - vma._4_4_) - (uint)(pdVar5 < (disassemble_info *)vma)" (parenthesized_expression "(uVar7 - vma._4_4_)" ( (binary_expression "uVar7 - vma._4_4_" identifier - (field_expression "vma._4_4_" identifier . field_identifier)) )) - (call_expression "(uint)(pdVar5 < (disassemble_info *)vma)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pdVar5 < (disassemble_info *)vma)" ( (binary_expression "pdVar5 < (disassemble_info *)vma" identifier < (cast_expression "(disassemble_info *)vma" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) , (binary_expression "(int)pdVar5 - (int)(disassemble_info *)vma" (cast_expression "(int)pdVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(disassemble_info *)vma" ( (type_descriptor "int" primitive_type) ) (cast_expression "(disassemble_info *)vma" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )))) ;) }) (else_clause "else {\n      UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n      pvVar8 = inf->stream;\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      lVar3 = vma - bVar4;\n    }" else (compound_statement "{\n      UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n      pvVar8 = inf->stream;\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      lVar3 = vma - bVar4;\n    }" { (expression_statement "UNRECOVERED_JUMPTABLE = inf->fprintf_func;" (assignment_expression "UNRECOVERED_JUMPTABLE = inf->fprintf_func" identifier = (field_expression "inf->fprintf_func" identifier -> field_identifier)) ;) (expression_statement "pvVar8 = inf->stream;" (assignment_expression "pvVar8 = inf->stream" identifier = (field_expression "inf->stream" identifier -> field_identifier)) ;) (if_statement "if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;" if (parenthesized_expression "(vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)" ( (binary_expression "vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_" (binary_expression "vma._4_4_ <= uVar7" (field_expression "vma._4_4_" identifier . field_identifier) <= identifier) && (binary_expression "(uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_" (call_expression "(uint)(pdVar5 < (disassemble_info *)vma)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pdVar5 < (disassemble_info *)vma)" ( (binary_expression "pdVar5 < (disassemble_info *)vma" identifier < (cast_expression "(disassemble_info *)vma" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) <= (binary_expression "uVar7 - vma._4_4_" identifier - (field_expression "vma._4_4_" identifier . field_identifier)))) )) (goto_statement "goto LAB_00016506;" goto statement_identifier ;)) (expression_statement "puVar9 = &DAT_0004f501;" (assignment_expression "puVar9 = &DAT_0004f501" identifier = (pointer_expression "&DAT_0004f501" & identifier)) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");" (call_expression "(*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x")" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(pvVar8,"+0x")" ( identifier , (string_literal ""+0x"" " string_content ") ))) ;) (expression_statement "lVar3 = vma - bVar4;" (assignment_expression "lVar3 = vma - bVar4" identifier = (binary_expression "vma - bVar4" identifier - identifier)) ;) }))) }) (else_clause "else {\n    (*inf->fprintf_func)(inf->stream," <");\n    objdump_print_symname(abfd,inf,sym);\n    pbVar2 = sym->section;\n    uVar7 = (uint)sym->value;\n    pdVar5 = (disassemble_info *)(uVar7 + (int)pbVar2->vma);\n    uVar7 = *(int *)((int)&sym->value + 4) + *(int *)((int)&pbVar2->vma + 4) +\n            (uint)CARRY4(uVar7,(uint)pbVar2->vma);\n    UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n    pvVar8 = inf->stream;\n    if ((vma == CONCAT44(uVar7,pdVar5)) ||\n       (((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))))) goto LAB_00016506;\n    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x");\n      uVar7 = (uint)sym->value;\n      pbVar1 = &sym->section->vma;\n      pdVar5 = (disassemble_info *)(uVar7 + (int)*pbVar1);\n      lVar3 = CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      pbVar1 = &sym->section->vma;\n      uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1;\n      lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value);\n    }\n  }" else (compound_statement "{\n    (*inf->fprintf_func)(inf->stream," <");\n    objdump_print_symname(abfd,inf,sym);\n    pbVar2 = sym->section;\n    uVar7 = (uint)sym->value;\n    pdVar5 = (disassemble_info *)(uVar7 + (int)pbVar2->vma);\n    uVar7 = *(int *)((int)&sym->value + 4) + *(int *)((int)&pbVar2->vma + 4) +\n            (uint)CARRY4(uVar7,(uint)pbVar2->vma);\n    UNRECOVERED_JUMPTABLE = inf->fprintf_func;\n    pvVar8 = inf->stream;\n    if ((vma == CONCAT44(uVar7,pdVar5)) ||\n       (((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))))) goto LAB_00016506;\n    if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x");\n      uVar7 = (uint)sym->value;\n      pbVar1 = &sym->section->vma;\n      pdVar5 = (disassemble_info *)(uVar7 + (int)*pbVar1);\n      lVar3 = CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      pbVar1 = &sym->section->vma;\n      uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1;\n      lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value);\n    }\n  }" { (expression_statement "(*inf->fprintf_func)(inf->stream," <");" (call_expression "(*inf->fprintf_func)(inf->stream," <")" (parenthesized_expression "(*inf->fprintf_func)" ( (pointer_expression "*inf->fprintf_func" * (field_expression "inf->fprintf_func" identifier -> field_identifier)) )) (argument_list "(inf->stream," <")" ( (field_expression "inf->stream" identifier -> field_identifier) , (string_literal "" <"" " string_content ") ))) ;) (expression_statement "objdump_print_symname(abfd,inf,sym);" (call_expression "objdump_print_symname(abfd,inf,sym)" identifier (argument_list "(abfd,inf,sym)" ( identifier , identifier , identifier ))) ;) (expression_statement "pbVar2 = sym->section;" (assignment_expression "pbVar2 = sym->section" identifier = (field_expression "sym->section" identifier -> field_identifier)) ;) (expression_statement "uVar7 = (uint)sym->value;" (assignment_expression "uVar7 = (uint)sym->value" identifier = (cast_expression "(uint)sym->value" ( (type_descriptor "uint" type_identifier) ) (field_expression "sym->value" identifier -> field_identifier))) ;) (expression_statement "pdVar5 = (disassemble_info *)(uVar7 + (int)pbVar2->vma);" (assignment_expression "pdVar5 = (disassemble_info *)(uVar7 + (int)pbVar2->vma)" identifier = (cast_expression "(disassemble_info *)(uVar7 + (int)pbVar2->vma)" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + (int)pbVar2->vma)" ( (binary_expression "uVar7 + (int)pbVar2->vma" identifier + (cast_expression "(int)pbVar2->vma" ( (type_descriptor "int" primitive_type) ) (field_expression "pbVar2->vma" identifier -> field_identifier))) )))) ;) (expression_statement "uVar7 = *(int *)((int)&sym->value + 4) + *(int *)((int)&pbVar2->vma + 4) +\n            (uint)CARRY4(uVar7,(uint)pbVar2->vma);" (assignment_expression "uVar7 = *(int *)((int)&sym->value + 4) + *(int *)((int)&pbVar2->vma + 4) +\n            (uint)CARRY4(uVar7,(uint)pbVar2->vma)" identifier = (binary_expression "*(int *)((int)&sym->value + 4) + *(int *)((int)&pbVar2->vma + 4) +\n            (uint)CARRY4(uVar7,(uint)pbVar2->vma)" (binary_expression "*(int *)((int)&sym->value + 4) + *(int *)((int)&pbVar2->vma + 4)" (pointer_expression "*(int *)((int)&sym->value + 4)" * (cast_expression "(int *)((int)&sym->value + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&sym->value + 4)" ( (binary_expression "(int)&sym->value + 4" (cast_expression "(int)&sym->value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&sym->value" & (field_expression "sym->value" identifier -> field_identifier))) + number_literal) )))) + (pointer_expression "*(int *)((int)&pbVar2->vma + 4)" * (cast_expression "(int *)((int)&pbVar2->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar2->vma + 4)" ( (binary_expression "(int)&pbVar2->vma + 4" (cast_expression "(int)&pbVar2->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar2->vma" & (field_expression "pbVar2->vma" identifier -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar7,(uint)pbVar2->vma)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,(uint)pbVar2->vma)" identifier (argument_list "(uVar7,(uint)pbVar2->vma)" ( identifier , (cast_expression "(uint)pbVar2->vma" ( (type_descriptor "uint" type_identifier) ) (field_expression "pbVar2->vma" identifier -> field_identifier)) )))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = inf->fprintf_func;" (assignment_expression "UNRECOVERED_JUMPTABLE = inf->fprintf_func" identifier = (field_expression "inf->fprintf_func" identifier -> field_identifier)) ;) (expression_statement "pvVar8 = inf->stream;" (assignment_expression "pvVar8 = inf->stream" identifier = (field_expression "inf->stream" identifier -> field_identifier)) ;) (if_statement "if ((vma == CONCAT44(uVar7,pdVar5)) ||\n       (((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))))) goto LAB_00016506;" if (parenthesized_expression "((vma == CONCAT44(uVar7,pdVar5)) ||\n       (((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0)))))" ( (binary_expression "(vma == CONCAT44(uVar7,pdVar5)) ||\n       (((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))))" (parenthesized_expression "(vma == CONCAT44(uVar7,pdVar5))" ( (binary_expression "vma == CONCAT44(uVar7,pdVar5)" identifier == (call_expression "CONCAT44(uVar7,pdVar5)" identifier (argument_list "(uVar7,pdVar5)" ( identifier , identifier )))) )) || (parenthesized_expression "(((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))))" ( (parenthesized_expression "((*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0)))" ( (binary_expression "(*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&\n        (pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))" (binary_expression "(*(uint *)&abfd->field_0x28 >> 5 & 0x42) != 0" (parenthesized_expression "(*(uint *)&abfd->field_0x28 >> 5 & 0x42)" ( (binary_expression "*(uint *)&abfd->field_0x28 >> 5 & 0x42" (binary_expression "*(uint *)&abfd->field_0x28 >> 5" (pointer_expression "*(uint *)&abfd->field_0x28" * (cast_expression "(uint *)&abfd->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&abfd->field_0x28" & (field_expression "abfd->field_0x28" identifier -> field_identifier)))) >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "(pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0))" ( (binary_expression "pbVar2 == (bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0)" identifier == (cast_expression "(bfd_section *)(PTR__bfd_std_section_00072fd8 + 0xc0)" ( (type_descriptor "bfd_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR__bfd_std_section_00072fd8 + 0xc0)" ( (binary_expression "PTR__bfd_std_section_00072fd8 + 0xc0" identifier + number_literal) )))) ))) )) ))) )) (goto_statement "goto LAB_00016506;" goto statement_identifier ;)) (if_statement "if (vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)) {\n      puVar9 = &DAT_0004f4fd;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x");\n      uVar7 = (uint)sym->value;\n      pbVar1 = &sym->section->vma;\n      pdVar5 = (disassemble_info *)(uVar7 + (int)*pbVar1);\n      lVar3 = CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }\n    else {\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      pbVar1 = &sym->section->vma;\n      uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1;\n      lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value);\n    }" if (parenthesized_expression "(vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5))" ( (binary_expression "vma._4_4_ < uVar7 || vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)" (binary_expression "vma._4_4_ < uVar7" (field_expression "vma._4_4_" identifier . field_identifier) < identifier) || (binary_expression "vma._4_4_ - uVar7 < (uint)((disassemble_info *)vma < pdVar5)" (binary_expression "vma._4_4_ - uVar7" (field_expression "vma._4_4_" identifier . field_identifier) - identifier) < (call_expression "(uint)((disassemble_info *)vma < pdVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((disassemble_info *)vma < pdVar5)" ( (binary_expression "(disassemble_info *)vma < pdVar5" (cast_expression "(disassemble_info *)vma" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) ))))) )) (compound_statement "{\n      puVar9 = &DAT_0004f4fd;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x");\n      uVar7 = (uint)sym->value;\n      pbVar1 = &sym->section->vma;\n      pdVar5 = (disassemble_info *)(uVar7 + (int)*pbVar1);\n      lVar3 = CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);\n    }" { (expression_statement "puVar9 = &DAT_0004f4fd;" (assignment_expression "puVar9 = &DAT_0004f4fd" identifier = (pointer_expression "&DAT_0004f4fd" & identifier)) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x");" (call_expression "(*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x")" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(pvVar8,"-0x")" ( identifier , (string_literal ""-0x"" " string_content ") ))) ;) (expression_statement "uVar7 = (uint)sym->value;" (assignment_expression "uVar7 = (uint)sym->value" identifier = (cast_expression "(uint)sym->value" ( (type_descriptor "uint" type_identifier) ) (field_expression "sym->value" identifier -> field_identifier))) ;) (expression_statement "pbVar1 = &sym->section->vma;" (assignment_expression "pbVar1 = &sym->section->vma" identifier = (pointer_expression "&sym->section->vma" & (field_expression "sym->section->vma" (field_expression "sym->section" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "pdVar5 = (disassemble_info *)(uVar7 + (int)*pbVar1);" (assignment_expression "pdVar5 = (disassemble_info *)(uVar7 + (int)*pbVar1)" identifier = (cast_expression "(disassemble_info *)(uVar7 + (int)*pbVar1)" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + (int)*pbVar1)" ( (binary_expression "uVar7 + (int)*pbVar1" identifier + (cast_expression "(int)*pbVar1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pbVar1" * identifier))) )))) ;) (expression_statement "lVar3 = CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma);" (assignment_expression "lVar3 = CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma)" identifier = (call_expression "CONCAT44(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma)" identifier (argument_list "(((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma),\n                       (int)pdVar5 - (int)(disassemble_info *)vma)" ( (binary_expression "((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_) -\n                       (uint)(pdVar5 < (disassemble_info *)vma)" (parenthesized_expression "((*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_)" ( (binary_expression "(*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)) - vma._4_4_" (parenthesized_expression "(*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1))" ( (binary_expression "*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4) +\n                        (uint)CARRY4(uVar7,(uint)*pbVar1)" (binary_expression "*(int *)((int)&sym->value + 4) + *(int *)((int)&sym->section->vma + 4)" (pointer_expression "*(int *)((int)&sym->value + 4)" * (cast_expression "(int *)((int)&sym->value + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&sym->value + 4)" ( (binary_expression "(int)&sym->value + 4" (cast_expression "(int)&sym->value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&sym->value" & (field_expression "sym->value" identifier -> field_identifier))) + number_literal) )))) + (pointer_expression "*(int *)((int)&sym->section->vma + 4)" * (cast_expression "(int *)((int)&sym->section->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&sym->section->vma + 4)" ( (binary_expression "(int)&sym->section->vma + 4" (cast_expression "(int)&sym->section->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&sym->section->vma" & (field_expression "sym->section->vma" (field_expression "sym->section" identifier -> field_identifier) -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar7,(uint)*pbVar1)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,(uint)*pbVar1)" identifier (argument_list "(uVar7,(uint)*pbVar1)" ( identifier , (binary_expression "(uint)*pbVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier) ))))) )) - (field_expression "vma._4_4_" identifier . field_identifier)) )) - (call_expression "(uint)(pdVar5 < (disassemble_info *)vma)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pdVar5 < (disassemble_info *)vma)" ( (binary_expression "pdVar5 < (disassemble_info *)vma" identifier < (cast_expression "(disassemble_info *)vma" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) , (binary_expression "(int)pdVar5 - (int)(disassemble_info *)vma" (cast_expression "(int)pdVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(disassemble_info *)vma" ( (type_descriptor "int" primitive_type) ) (cast_expression "(disassemble_info *)vma" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )))) ;) }) (else_clause "else {\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      pbVar1 = &sym->section->vma;\n      uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1;\n      lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value);\n    }" else (compound_statement "{\n      if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;\n      puVar9 = &DAT_0004f501;\n      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");\n      pbVar1 = &sym->section->vma;\n      uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1;\n      lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value);\n    }" { (if_statement "if (vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)\n      goto LAB_00016506;" if (parenthesized_expression "(vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_)" ( (binary_expression "vma._4_4_ <= uVar7 && (uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_" (binary_expression "vma._4_4_ <= uVar7" (field_expression "vma._4_4_" identifier . field_identifier) <= identifier) && (binary_expression "(uint)(pdVar5 < (disassemble_info *)vma) <= uVar7 - vma._4_4_" (call_expression "(uint)(pdVar5 < (disassemble_info *)vma)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pdVar5 < (disassemble_info *)vma)" ( (binary_expression "pdVar5 < (disassemble_info *)vma" identifier < (cast_expression "(disassemble_info *)vma" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) <= (binary_expression "uVar7 - vma._4_4_" identifier - (field_expression "vma._4_4_" identifier . field_identifier)))) )) (goto_statement "goto LAB_00016506;" goto statement_identifier ;)) (expression_statement "puVar9 = &DAT_0004f501;" (assignment_expression "puVar9 = &DAT_0004f501" identifier = (pointer_expression "&DAT_0004f501" & identifier)) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");" (call_expression "(*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x")" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(pvVar8,"+0x")" ( identifier , (string_literal ""+0x"" " string_content ") ))) ;) (expression_statement "pbVar1 = &sym->section->vma;" (assignment_expression "pbVar1 = &sym->section->vma" identifier = (pointer_expression "&sym->section->vma" & (field_expression "sym->section->vma" (field_expression "sym->section" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1;" (assignment_expression "uVar7 = (int)(disassemble_info *)vma - (int)*pbVar1" identifier = (binary_expression "(int)(disassemble_info *)vma - (int)*pbVar1" (cast_expression "(int)(disassemble_info *)vma" ( (type_descriptor "int" primitive_type) ) (cast_expression "(disassemble_info *)vma" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) - (cast_expression "(int)*pbVar1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pbVar1" * identifier)))) ;) (expression_statement "lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value);" (assignment_expression "lVar3 = CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value)" identifier = (call_expression "CONCAT44((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value)" identifier (argument_list "((((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value),\n                       uVar7 - (int)sym->value)" ( (binary_expression "(((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)) - (uint)(uVar7 < (uint)sym->value)" (parenthesized_expression "(((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4))" ( (binary_expression "((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)) -\n                       *(int *)((int)&sym->value + 4)" (parenthesized_expression "((vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1))" ( (binary_expression "(vma._4_4_ - *(int *)((int)&sym->section->vma + 4)) -\n                        (uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)" (parenthesized_expression "(vma._4_4_ - *(int *)((int)&sym->section->vma + 4))" ( (binary_expression "vma._4_4_ - *(int *)((int)&sym->section->vma + 4)" (field_expression "vma._4_4_" identifier . field_identifier) - (pointer_expression "*(int *)((int)&sym->section->vma + 4)" * (cast_expression "(int *)((int)&sym->section->vma + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&sym->section->vma + 4)" ( (binary_expression "(int)&sym->section->vma + 4" (cast_expression "(int)&sym->section->vma" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&sym->section->vma" & (field_expression "sym->section->vma" (field_expression "sym->section" identifier -> field_identifier) -> field_identifier))) + number_literal) ))))) )) - (call_expression "(uint)((disassemble_info *)vma < *(disassemble_info **)pbVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((disassemble_info *)vma < *(disassemble_info **)pbVar1)" ( (binary_expression "(disassemble_info *)vma < *(disassemble_info **)pbVar1" (cast_expression "(disassemble_info *)vma" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < (pointer_expression "*(disassemble_info **)pbVar1" * (cast_expression "(disassemble_info **)pbVar1" ( (type_descriptor "disassemble_info **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )))) )) - (pointer_expression "*(int *)((int)&sym->value + 4)" * (cast_expression "(int *)((int)&sym->value + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&sym->value + 4)" ( (binary_expression "(int)&sym->value + 4" (cast_expression "(int)&sym->value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&sym->value" & (field_expression "sym->value" identifier -> field_identifier))) + number_literal) ))))) )) - (call_expression "(uint)(uVar7 < (uint)sym->value)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < (uint)sym->value)" ( (binary_expression "uVar7 < (uint)sym->value" identifier < (cast_expression "(uint)sym->value" ( (type_descriptor "uint" type_identifier) ) (field_expression "sym->value" identifier -> field_identifier))) )))) , (binary_expression "uVar7 - (int)sym->value" identifier - (cast_expression "(int)sym->value" ( (type_descriptor "int" primitive_type) ) (field_expression "sym->value" identifier -> field_identifier))) )))) ;) }))) }))) (expression_statement "objdump_print_value(CONCAT44(puVar9,1),(disassemble_info *)lVar3,\n                      (bfd_boolean)((ulonglong)lVar3 >> 0x20));" (call_expression "objdump_print_value(CONCAT44(puVar9,1),(disassemble_info *)lVar3,\n                      (bfd_boolean)((ulonglong)lVar3 >> 0x20))" identifier (argument_list "(CONCAT44(puVar9,1),(disassemble_info *)lVar3,\n                      (bfd_boolean)((ulonglong)lVar3 >> 0x20))" ( (call_expression "CONCAT44(puVar9,1)" identifier (argument_list "(puVar9,1)" ( identifier , number_literal ))) , (cast_expression "(disassemble_info *)lVar3" ( (type_descriptor "disassemble_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (call_expression "(bfd_boolean)((ulonglong)lVar3 >> 0x20)" (parenthesized_expression "(bfd_boolean)" ( identifier )) (argument_list "((ulonglong)lVar3 >> 0x20)" ( (binary_expression "(ulonglong)lVar3 >> 0x20" (cast_expression "(ulonglong)lVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = inf->fprintf_func;" (assignment_expression "UNRECOVERED_JUMPTABLE = inf->fprintf_func" identifier = (field_expression "inf->fprintf_func" identifier -> field_identifier)) ;) (expression_statement "pvVar8 = inf->stream;" (assignment_expression "pvVar8 = inf->stream" identifier = (field_expression "inf->stream" identifier -> field_identifier)) ;) (labeled_statement "LAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(pvVar8,">");" statement_identifier : (expression_statement "(*UNRECOVERED_JUMPTABLE)(pvVar8,">");" (call_expression "(*UNRECOVERED_JUMPTABLE)(pvVar8,">")" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(pvVar8,">")" ( identifier , (string_literal "">"" " string_content ") ))) ;)) (if_statement "if (display_file_offsets == 0) {\n    return;\n  }" if (parenthesized_expression "(display_file_offsets == 0)" ( (binary_expression "display_file_offsets == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = inf->fprintf_func;" (assignment_expression "UNRECOVERED_JUMPTABLE = inf->fprintf_func" identifier = (field_expression "inf->fprintf_func" identifier -> field_identifier)) ;) (expression_statement "pcVar6 = (char *)dcgettext(0," (File Offset: 0x%lx)",5);" (assignment_expression "pcVar6 = (char *)dcgettext(0," (File Offset: 0x%lx)",5)" identifier = (cast_expression "(char *)dcgettext(0," (File Offset: 0x%lx)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," (File Offset: 0x%lx)",5)" identifier (argument_list "(0," (File Offset: 0x%lx)",5)" ( number_literal , (string_literal "" (File Offset: 0x%lx)"" " string_content ") , number_literal ))))) ;) comment comment (expression_statement "(*UNRECOVERED_JUMPTABLE)(inf->stream,pcVar6);" (call_expression "(*UNRECOVERED_JUMPTABLE)(inf->stream,pcVar6)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(inf->stream,pcVar6)" ( (field_expression "inf->stream" identifier -> field_identifier) , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3\nFUN_000163f0(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,\n            undefined4 *param_6,undefined4 param_7)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar3;\n  undefined4 uVar4;\n  \n  FUN_00016380(param_7);\n  if (param_3 == 0) {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  FUN_00016380(1);\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  uVar4 = param_6[1];\nLAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(uVar4,">");\n  if (DAT_000740a0 == 0) {\n    return;\n  }\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  dcgettext(0," (File Offset: 0x%lx)",5);\n                    \n                    \n  (*UNRECOVERED_JUMPTABLE)();\n  return;\n}\n\n" (function_definition "void __regparm3\nFUN_000163f0(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,\n            undefined4 *param_6,undefined4 param_7)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar3;\n  undefined4 uVar4;\n  \n  FUN_00016380(param_7);\n  if (param_3 == 0) {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  FUN_00016380(1);\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  uVar4 = param_6[1];\nLAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(uVar4,">");\n  if (DAT_000740a0 == 0) {\n    return;\n  }\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  dcgettext(0," (File Offset: 0x%lx)",5);\n                    \n                    \n  (*UNRECOVERED_JUMPTABLE)();\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000163f0(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,\n            undefined4 *param_6,undefined4 param_7)" identifier (parameter_list "(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,\n            undefined4 *param_6,undefined4 param_7)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "undefined4 *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "undefined4 param_7" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar3;\n  undefined4 uVar4;\n  \n  FUN_00016380(param_7);\n  if (param_3 == 0) {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  FUN_00016380(1);\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  uVar4 = param_6[1];\nLAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(uVar4,">");\n  if (DAT_000740a0 == 0) {\n    return;\n  }\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  dcgettext(0," (File Offset: 0x%lx)",5);\n                    \n                    \n  (*UNRECOVERED_JUMPTABLE)();\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (expression_statement "FUN_00016380(param_7);" (call_expression "FUN_00016380(param_7)" identifier (argument_list "(param_7)" ( identifier ))) ;) (if_statement "if (param_3 == 0) {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" { (expression_statement "(*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);" (call_expression "(*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2)" (parenthesized_expression "(*(code *)*param_6)" ( (pointer_expression "*(code *)*param_6" * (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) )) (argument_list "(param_6[1],&DAT_0004f4f8,*param_2)" ( (subscript_expression "param_6[1]" identifier [ number_literal ]) , (pointer_expression "&DAT_0004f4f8" & identifier) , (pointer_expression "*param_2" * identifier) ))) ;) (expression_statement "uVar2 = param_2[8];" (assignment_expression "uVar2 = param_2[8]" identifier = (subscript_expression "param_2[8]" identifier [ number_literal ])) ;) (if_statement "if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" if (parenthesized_expression "(param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7]))" ( (binary_expression "param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])" (binary_expression "param_5 < uVar2" identifier < identifier) || (binary_expression "param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])" (binary_expression "param_5 - uVar2" identifier - identifier) < (call_expression "(uint)(param_4 < (uint)param_2[7])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_4 < (uint)param_2[7])" ( (binary_expression "param_4 < (uint)param_2[7]" identifier < (cast_expression "(uint)param_2[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[7]" identifier [ number_literal ]))) ))))) )) (compound_statement "{\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }" { (expression_statement "(*(code *)*param_6)(param_6[1],&DAT_0004f4fd);" (call_expression "(*(code *)*param_6)(param_6[1],&DAT_0004f4fd)" (parenthesized_expression "(*(code *)*param_6)" ( (pointer_expression "*(code *)*param_6" * (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) )) (argument_list "(param_6[1],&DAT_0004f4fd)" ( (subscript_expression "param_6[1]" identifier [ number_literal ]) , (pointer_expression "&DAT_0004f4fd" & identifier) ))) ;) }) (else_clause "else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" else (compound_statement "{\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" { (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" identifier = (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "uVar4 = param_6[1];" (assignment_expression "uVar4 = param_6[1]" identifier = (subscript_expression "param_6[1]" identifier [ number_literal ])) ;) (if_statement "if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;" if (parenthesized_expression "(param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)" ( (binary_expression "param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5" (binary_expression "param_5 <= uVar2" identifier <= identifier) && (binary_expression "(uint)((uint)param_2[7] < param_4) <= uVar2 - param_5" (call_expression "(uint)((uint)param_2[7] < param_4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)param_2[7] < param_4)" ( (binary_expression "(uint)param_2[7] < param_4" (cast_expression "(uint)param_2[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_2[7]" identifier [ number_literal ])) < identifier) ))) <= (binary_expression "uVar2 - param_5" identifier - identifier))) )) (goto_statement "goto LAB_00016506;" goto statement_identifier ;)) (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(uVar4,&DAT_0004f501)" ( identifier , (pointer_expression "&DAT_0004f501" & identifier) ))) ;) }))) }) (else_clause "else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" else (compound_statement "{\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" { (expression_statement "(*(code *)*param_6)(param_6[1],&DAT_0004f505);" (call_expression "(*(code *)*param_6)(param_6[1],&DAT_0004f505)" (parenthesized_expression "(*(code *)*param_6)" ( (pointer_expression "*(code *)*param_6" * (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) )) (argument_list "(param_6[1],&DAT_0004f505)" ( (subscript_expression "param_6[1]" identifier [ number_literal ]) , (pointer_expression "&DAT_0004f505" & identifier) ))) ;) (expression_statement "FUN_000160e0();" (call_expression "FUN_000160e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar1 = *(undefined **)(param_3 + 0x14);" (assignment_expression "puVar1 = *(undefined **)(param_3 + 0x14)" identifier = (pointer_expression "*(undefined **)(param_3 + 0x14)" * (cast_expression "(undefined **)(param_3 + 0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_3 + 0x14)" ( (binary_expression "param_3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);" (assignment_expression "uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c)" identifier = (binary_expression "*(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c)" (pointer_expression "*(uint *)(param_3 + 8)" * (cast_expression "(uint *)(param_3 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) + (pointer_expression "*(uint *)(puVar1 + 0x1c)" * (cast_expression "(uint *)(puVar1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x1c)" ( (binary_expression "puVar1 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));" (assignment_expression "uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" identifier = (binary_expression "*(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" (binary_expression "*(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20)" (pointer_expression "*(int *)(param_3 + 0xc)" * (cast_expression "(int *)(param_3 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0xc)" ( (binary_expression "param_3 + 0xc" identifier + number_literal) )))) + (pointer_expression "*(int *)(puVar1 + 0x20)" * (cast_expression "(int *)(puVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x20)" ( (binary_expression "puVar1 + 0x20" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" identifier (argument_list "(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" ( (pointer_expression "*(uint *)(param_3 + 8)" * (cast_expression "(uint *)(param_3 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 8)" ( (binary_expression "param_3 + 8" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar1 + 0x1c)" * (cast_expression "(uint *)(puVar1 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x1c)" ( (binary_expression "puVar1 + 0x1c" identifier + number_literal) )))) )))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" identifier = (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "uVar4 = param_6[1];" (assignment_expression "uVar4 = param_6[1]" identifier = (subscript_expression "param_6[1]" identifier [ number_literal ])) ;) (if_statement "if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;" if (parenthesized_expression "((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0))))" ( (binary_expression "(uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))" (parenthesized_expression "(uVar3 == param_5 && param_4 == uVar2)" ( (binary_expression "uVar3 == param_5 && param_4 == uVar2" (binary_expression "uVar3 == param_5" identifier == identifier) && (binary_expression "param_4 == uVar2" identifier == identifier)) )) || (parenthesized_expression "(((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))" ( (parenthesized_expression "((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0))" ( (binary_expression "(*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)" (binary_expression "(*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0" (parenthesized_expression "(*(uint *)(param_1 + 0x28) >> 5 & 0x42)" ( (binary_expression "*(uint *)(param_1 + 0x28) >> 5 & 0x42" (binary_expression "*(uint *)(param_1 + 0x28) >> 5" (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) && (parenthesized_expression "(puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)" ( (binary_expression "puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0" identifier == (binary_expression "PTR__bfd_std_section_00072fd8 + 0xc0" identifier + number_literal)) ))) )) ))) )) (goto_statement "goto LAB_00016506;" goto statement_identifier ;)) (if_statement "if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" if (parenthesized_expression "(param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2))" ( (binary_expression "param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)" (binary_expression "param_5 < uVar3" identifier < identifier) || (binary_expression "param_5 - uVar3 < (uint)(param_4 < uVar2)" (binary_expression "param_5 - uVar3" identifier - identifier) < (call_expression "(uint)(param_4 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_4 < uVar2)" ( (binary_expression "param_4 < uVar2" identifier < identifier) ))))) )) (compound_statement "{\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }" { (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(uVar4,&DAT_0004f4fd)" ( identifier , (pointer_expression "&DAT_0004f4fd" & identifier) ))) ;) }) (else_clause "else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" else (compound_statement "{\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" { (if_statement "if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;" if (parenthesized_expression "(param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5)" ( (binary_expression "param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5" (binary_expression "param_5 <= uVar3" identifier <= identifier) && (binary_expression "(uint)(uVar2 < param_4) <= uVar3 - param_5" (call_expression "(uint)(uVar2 < param_4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar2 < param_4)" ( (binary_expression "uVar2 < param_4" identifier < identifier) ))) <= (binary_expression "uVar3 - param_5" identifier - identifier))) )) (goto_statement "goto LAB_00016506;" goto statement_identifier ;)) (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(uVar4,&DAT_0004f501)" ( identifier , (pointer_expression "&DAT_0004f501" & identifier) ))) ;) }))) }))) (expression_statement "FUN_00016380(1);" (call_expression "FUN_00016380(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" identifier = (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "uVar4 = param_6[1];" (assignment_expression "uVar4 = param_6[1]" identifier = (subscript_expression "param_6[1]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(uVar4,">");" statement_identifier : (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,">");" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,">")" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(uVar4,">")" ( identifier , (string_literal "">"" " string_content ") ))) ;)) (if_statement "if (DAT_000740a0 == 0) {\n    return;\n  }" if (parenthesized_expression "(DAT_000740a0 == 0)" ( (binary_expression "DAT_000740a0 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" identifier = (cast_expression "(code *)*param_6" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "dcgettext(0," (File Offset: 0x%lx)",5);" (call_expression "dcgettext(0," (File Offset: 0x%lx)",5)" identifier (argument_list "(0," (File Offset: 0x%lx)",5)" ( number_literal , (string_literal "" (File Offset: 0x%lx)"" " string_content ") , number_literal ))) ;) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < IDENT) ))) <= (binary_expression IDENT - IDENT))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (binary_expression IDENT == IDENT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) & LIT) )) != LIT) && (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) <= (binary_expression IDENT - IDENT))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) }))) }))) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (string_literal " string_content ") ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void __regparm3\nFUN_000163f0(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,\n            undefined4 *param_6,undefined4 param_7)\n\n{\n  undefined *puVar1;\n  uint uVar2;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar3;\n  undefined4 uVar4;\n  \n  FUN_00016380(param_7);\n  if (param_3 == 0) {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  FUN_00016380(1);\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  uVar4 = param_6[1];\nLAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(uVar4,">");\n  if (DAT_000740a0 == 0) {\n    return;\n  }\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  dcgettext(0," (File Offset: 0x%lx)",5);\n                    \n                    \n  (*UNRECOVERED_JUMPTABLE)();\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000163f0(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,\n            undefined4 *param_6,undefined4 param_7)" (identifier "FUN_000163f0") (parameter_list "(int param_1,undefined4 *param_2,int param_3,uint param_4,uint param_5,\n            undefined4 *param_6,undefined4 param_7)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 *param_6" (type_identifier "undefined4") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  uint uVar2;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar3;\n  undefined4 uVar4;\n  \n  FUN_00016380(param_7);\n  if (param_3 == 0) {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  FUN_00016380(1);\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  uVar4 = param_6[1];\nLAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(uVar4,">");\n  if (DAT_000740a0 == 0) {\n    return;\n  }\n  UNRECOVERED_JUMPTABLE = (code *)*param_6;\n  dcgettext(0," (File Offset: 0x%lx)",5);\n                    \n                    \n  (*UNRECOVERED_JUMPTABLE)();\n  return;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "code *UNRECOVERED_JUMPTABLE;" (type_identifier "code") (pointer_declarator "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (expression_statement "FUN_00016380(param_7);" (call_expression "FUN_00016380(param_7)" (identifier "FUN_00016380") (argument_list "(param_7)" (( "(") (identifier "param_7") () ")"))) (; ";")) (if_statement "if (param_3 == 0) {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }\n  else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);\n    uVar2 = param_2[8];\n    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" ({ "{") (expression_statement "(*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);" (call_expression "(*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2)" (parenthesized_expression "(*(code *)*param_6)" (( "(") (pointer_expression "*(code *)*param_6" (* "*") (cast_expression "(code *)*param_6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_6" (* "*") (identifier "param_6")))) () ")")) (argument_list "(param_6[1],&DAT_0004f4f8,*param_2)" (( "(") (subscript_expression "param_6[1]" (identifier "param_6") ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "&DAT_0004f4f8" (& "&") (identifier "DAT_0004f4f8")) (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")"))) (; ";")) (expression_statement "uVar2 = param_2[8];" (assignment_expression "uVar2 = param_2[8]" (identifier "uVar2") (= "=") (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }\n    else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" (if "if") (parenthesized_expression "(param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7]))" (( "(") (binary_expression "param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])" (binary_expression "param_5 < uVar2" (identifier "param_5") (< "<") (identifier "uVar2")) (|| "||") (binary_expression "param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])" (binary_expression "param_5 - uVar2" (identifier "param_5") (- "-") (identifier "uVar2")) (< "<") (call_expression "(uint)(param_4 < (uint)param_2[7])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_4 < (uint)param_2[7])" (( "(") (binary_expression "param_4 < (uint)param_2[7]" (identifier "param_4") (< "<") (cast_expression "(uint)param_2[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]")))) () ")"))))) () ")")) (compound_statement "{\n      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);\n    }" ({ "{") (expression_statement "(*(code *)*param_6)(param_6[1],&DAT_0004f4fd);" (call_expression "(*(code *)*param_6)(param_6[1],&DAT_0004f4fd)" (parenthesized_expression "(*(code *)*param_6)" (( "(") (pointer_expression "*(code *)*param_6" (* "*") (cast_expression "(code *)*param_6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_6" (* "*") (identifier "param_6")))) () ")")) (argument_list "(param_6[1],&DAT_0004f4fd)" (( "(") (subscript_expression "param_6[1]" (identifier "param_6") ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "&DAT_0004f4fd" (& "&") (identifier "DAT_0004f4fd")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" (else "else") (compound_statement "{\n      UNRECOVERED_JUMPTABLE = (code *)*param_6;\n      uVar4 = param_6[1];\n      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" ({ "{") (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)*param_6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_6" (* "*") (identifier "param_6")))) (; ";")) (expression_statement "uVar4 = param_6[1];" (assignment_expression "uVar4 = param_6[1]" (identifier "uVar4") (= "=") (subscript_expression "param_6[1]" (identifier "param_6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)\n      goto LAB_00016506;" (if "if") (parenthesized_expression "(param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)" (( "(") (binary_expression "param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5" (binary_expression "param_5 <= uVar2" (identifier "param_5") (<= "<=") (identifier "uVar2")) (&& "&&") (binary_expression "(uint)((uint)param_2[7] < param_4) <= uVar2 - param_5" (call_expression "(uint)((uint)param_2[7] < param_4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)param_2[7] < param_4)" (( "(") (binary_expression "(uint)param_2[7] < param_4" (cast_expression "(uint)param_2[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_2[7]" (identifier "param_2") ([ "[") (number_literal "7") (] "]"))) (< "<") (identifier "param_4")) () ")"))) (<= "<=") (binary_expression "uVar2 - param_5" (identifier "uVar2") (- "-") (identifier "param_5")))) () ")")) (goto_statement "goto LAB_00016506;" (goto "goto") (statement_identifier "LAB_00016506") (; ";"))) (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(uVar4,&DAT_0004f501)" (( "(") (identifier "uVar4") (, ",") (pointer_expression "&DAT_0004f501" (& "&") (identifier "DAT_0004f501")) () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" (else "else") (compound_statement "{\n    (*(code *)*param_6)(param_6[1],&DAT_0004f505);\n    FUN_000160e0();\n    puVar1 = *(undefined **)(param_3 + 0x14);\n    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);\n    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));\n    UNRECOVERED_JUMPTABLE = (code *)*param_6;\n    uVar4 = param_6[1];\n    if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;\n    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }\n  }" ({ "{") (expression_statement "(*(code *)*param_6)(param_6[1],&DAT_0004f505);" (call_expression "(*(code *)*param_6)(param_6[1],&DAT_0004f505)" (parenthesized_expression "(*(code *)*param_6)" (( "(") (pointer_expression "*(code *)*param_6" (* "*") (cast_expression "(code *)*param_6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_6" (* "*") (identifier "param_6")))) () ")")) (argument_list "(param_6[1],&DAT_0004f505)" (( "(") (subscript_expression "param_6[1]" (identifier "param_6") ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "&DAT_0004f505" (& "&") (identifier "DAT_0004f505")) () ")"))) (; ";")) (expression_statement "FUN_000160e0();" (call_expression "FUN_000160e0()" (identifier "FUN_000160e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar1 = *(undefined **)(param_3 + 0x14);" (assignment_expression "puVar1 = *(undefined **)(param_3 + 0x14)" (identifier "puVar1") (= "=") (pointer_expression "*(undefined **)(param_3 + 0x14)" (* "*") (cast_expression "(undefined **)(param_3 + 0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_3 + 0x14)" (( "(") (binary_expression "param_3 + 0x14" (identifier "param_3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);" (assignment_expression "uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c)" (identifier "uVar2") (= "=") (binary_expression "*(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c)" (pointer_expression "*(uint *)(param_3 + 8)" (* "*") (cast_expression "(uint *)(param_3 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 8)" (( "(") (binary_expression "param_3 + 8" (identifier "param_3") (+ "+") (number_literal "8")) () ")")))) (+ "+") (pointer_expression "*(uint *)(puVar1 + 0x1c)" (* "*") (cast_expression "(uint *)(puVar1 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x1c)" (( "(") (binary_expression "puVar1 + 0x1c" (identifier "puVar1") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));" (assignment_expression "uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" (identifier "uVar3") (= "=") (binary_expression "*(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +\n            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" (binary_expression "*(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20)" (pointer_expression "*(int *)(param_3 + 0xc)" (* "*") (cast_expression "(int *)(param_3 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0xc)" (( "(") (binary_expression "param_3 + 0xc" (identifier "param_3") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (pointer_expression "*(int *)(puVar1 + 0x20)" (* "*") (cast_expression "(int *)(puVar1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x20)" (( "(") (binary_expression "puVar1 + 0x20" (identifier "puVar1") (+ "+") (number_literal "0x20")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" (identifier "CARRY4") (argument_list "(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c))" (( "(") (pointer_expression "*(uint *)(param_3 + 8)" (* "*") (cast_expression "(uint *)(param_3 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 8)" (( "(") (binary_expression "param_3 + 8" (identifier "param_3") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*(uint *)(puVar1 + 0x1c)" (* "*") (cast_expression "(uint *)(puVar1 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x1c)" (( "(") (binary_expression "puVar1 + 0x1c" (identifier "puVar1") (+ "+") (number_literal "0x1c")) () ")")))) () ")")))))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)*param_6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_6" (* "*") (identifier "param_6")))) (; ";")) (expression_statement "uVar4 = param_6[1];" (assignment_expression "uVar4 = param_6[1]" (identifier "uVar4") (= "=") (subscript_expression "param_6[1]" (identifier "param_6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;" (if "if") (parenthesized_expression "((uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0))))" (( "(") (binary_expression "(uVar3 == param_5 && param_4 == uVar2) ||\n       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))" (parenthesized_expression "(uVar3 == param_5 && param_4 == uVar2)" (( "(") (binary_expression "uVar3 == param_5 && param_4 == uVar2" (binary_expression "uVar3 == param_5" (identifier "uVar3") (== "==") (identifier "param_5")) (&& "&&") (binary_expression "param_4 == uVar2" (identifier "param_4") (== "==") (identifier "uVar2"))) () ")")) (|| "||") (parenthesized_expression "(((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))" (( "(") (parenthesized_expression "((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0))" (( "(") (binary_expression "(*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&\n        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)" (binary_expression "(*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0" (parenthesized_expression "(*(uint *)(param_1 + 0x28) >> 5 & 0x42)" (( "(") (binary_expression "*(uint *)(param_1 + 0x28) >> 5 & 0x42" (binary_expression "*(uint *)(param_1 + 0x28) >> 5" (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (>> ">>") (number_literal "5")) (& "&") (number_literal "0x42")) () ")")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)" (( "(") (binary_expression "puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0" (identifier "puVar1") (== "==") (binary_expression "PTR__bfd_std_section_00072fd8 + 0xc0" (identifier "PTR__bfd_std_section_00072fd8") (+ "+") (number_literal "0xc0"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_00016506;" (goto "goto") (statement_identifier "LAB_00016506") (; ";"))) (if_statement "if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }\n    else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" (if "if") (parenthesized_expression "(param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2))" (( "(") (binary_expression "param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)" (binary_expression "param_5 < uVar3" (identifier "param_5") (< "<") (identifier "uVar3")) (|| "||") (binary_expression "param_5 - uVar3 < (uint)(param_4 < uVar2)" (binary_expression "param_5 - uVar3" (identifier "param_5") (- "-") (identifier "uVar3")) (< "<") (call_expression "(uint)(param_4 < uVar2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_4 < uVar2)" (( "(") (binary_expression "param_4 < uVar2" (identifier "param_4") (< "<") (identifier "uVar2")) () ")"))))) () ")")) (compound_statement "{\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);\n    }" ({ "{") (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(uVar4,&DAT_0004f4fd)" (( "(") (identifier "uVar4") (, ",") (pointer_expression "&DAT_0004f4fd" (& "&") (identifier "DAT_0004f4fd")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" (else "else") (compound_statement "{\n      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;\n      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);\n    }" ({ "{") (if_statement "if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;" (if "if") (parenthesized_expression "(param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5)" (( "(") (binary_expression "param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5" (binary_expression "param_5 <= uVar3" (identifier "param_5") (<= "<=") (identifier "uVar3")) (&& "&&") (binary_expression "(uint)(uVar2 < param_4) <= uVar3 - param_5" (call_expression "(uint)(uVar2 < param_4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar2 < param_4)" (( "(") (binary_expression "uVar2 < param_4" (identifier "uVar2") (< "<") (identifier "param_4")) () ")"))) (<= "<=") (binary_expression "uVar3 - param_5" (identifier "uVar3") (- "-") (identifier "param_5")))) () ")")) (goto_statement "goto LAB_00016506;" (goto "goto") (statement_identifier "LAB_00016506") (; ";"))) (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(uVar4,&DAT_0004f501)" (( "(") (identifier "uVar4") (, ",") (pointer_expression "&DAT_0004f501" (& "&") (identifier "DAT_0004f501")) () ")"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "FUN_00016380(1);" (call_expression "FUN_00016380(1)" (identifier "FUN_00016380") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)*param_6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_6" (* "*") (identifier "param_6")))) (; ";")) (expression_statement "uVar4 = param_6[1];" (assignment_expression "uVar4 = param_6[1]" (identifier "uVar4") (= "=") (subscript_expression "param_6[1]" (identifier "param_6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (labeled_statement "LAB_00016506:\n  (*UNRECOVERED_JUMPTABLE)(uVar4,">");" (statement_identifier "LAB_00016506") (: ":") (expression_statement "(*UNRECOVERED_JUMPTABLE)(uVar4,">");" (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar4,">")" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(uVar4,">")" (( "(") (identifier "uVar4") (, ",") (string_literal "">"" (" """) (string_content ">") (" """)) () ")"))) (; ";"))) (if_statement "if (DAT_000740a0 == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(DAT_000740a0 == 0)" (( "(") (binary_expression "DAT_000740a0 == 0" (identifier "DAT_000740a0") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)*param_6;" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)*param_6" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)*param_6" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_6" (* "*") (identifier "param_6")))) (; ";")) (expression_statement "dcgettext(0," (File Offset: 0x%lx)",5);" (call_expression "dcgettext(0," (File Offset: 0x%lx)",5)" (identifier "dcgettext") (argument_list "(0," (File Offset: 0x%lx)",5)" (( "(") (number_literal "0") (, ",") (string_literal "" (File Offset: 0x%lx)"" (" """) (string_content " (File Offset: 0x%lx)") (" """)) (, ",") (number_literal "5") () ")"))) (; ";")) (expression_statement "(*UNRECOVERED_JUMPTABLE)();" (call_expression "(*UNRECOVERED_JUMPTABLE)()" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void __regparm3
function_1
          (type_1 *abfd,type_2 *sec,type_3 *var_3,type_4 var_6,type_5 *inf,
          type_6 skip_zeroes)

{
  type_4 *var_12;
  type_7 *var_10;
  type_8 lVar3;
  type_4 var_7;
  type_5 *var_5;
  type_9 UNRECOVERED_JUMPTABLE;
  char *pcVar6;
  type_10 var_4;
  void *pvVar8;
  type_11 in_stack_ffffffb8;
  type_12 *puVar9;
  
  var_1(var_2(in_stack_ffffffb8,skip_zeroes),(type_5 *)var_6,var_6._4_4_);
  if (var_3 == (type_3 *)0x0) {
    (*inf->fprintf_func)(inf->stream," <%s",sec->name);
    var_4 = *(type_10 *)((int)&sec->var_6 + 4);
    var_5 = *(type_5 **)&sec->var_6;
    var_7 = sec->var_6;
    if (var_6._4_4_ < var_4 || var_6._4_4_ - var_4 < (type_10)((type_5 *)var_6 < var_5)) {
      puVar9 = &DAT_0004f4fd;
      (*inf->fprintf_func)(inf->stream,"-0x");
      lVar3 = var_2((var_4 - var_6._4_4_) - (type_10)(var_5 < (type_5 *)var_6),
                       (int)var_5 - (int)(type_5 *)var_6);
    }
    else {
      UNRECOVERED_JUMPTABLE = inf->fprintf_func;
      pvVar8 = inf->stream;
      if (var_6._4_4_ <= var_4 && (type_10)(var_5 < (type_5 *)var_6) <= var_4 - var_6._4_4_)
      goto LAB_00016506;
      puVar9 = &DAT_0004f501;
      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");
      lVar3 = var_6 - var_7;
    }
  }
  else {
    (*inf->fprintf_func)(inf->stream," <");
    var_8(abfd,inf,var_3);
    var_10 = var_3->section;
    var_4 = (type_10)var_3->value;
    var_5 = (type_5 *)(var_4 + (int)var_10->var_6);
    var_4 = *(int *)((int)&var_3->value + 4) + *(int *)((int)&var_10->var_6 + 4) +
            (type_10)var_9(var_4,(type_10)var_10->var_6);
    UNRECOVERED_JUMPTABLE = inf->fprintf_func;
    pvVar8 = inf->stream;
    if ((var_6 == var_2(var_4,var_5)) ||
       (((*(type_10 *)&abfd->field_0x28 >> 5 & 0x42) != 0 &&
        (var_10 == (type_7 *)(var_11 + 0xc0))))) goto LAB_00016506;
    if (var_6._4_4_ < var_4 || var_6._4_4_ - var_4 < (type_10)((type_5 *)var_6 < var_5)) {
      puVar9 = &DAT_0004f4fd;
      (*UNRECOVERED_JUMPTABLE)(pvVar8,"-0x");
      var_4 = (type_10)var_3->value;
      var_12 = &var_3->section->var_6;
      var_5 = (type_5 *)(var_4 + (int)*var_12);
      lVar3 = var_2(((*(int *)((int)&var_3->value + 4) + *(int *)((int)&var_3->section->var_6 + 4) +
                        (type_10)var_9(var_4,(type_10)*var_12)) - var_6._4_4_) -
                       (type_10)(var_5 < (type_5 *)var_6),
                       (int)var_5 - (int)(type_5 *)var_6);
    }
    else {
      if (var_6._4_4_ <= var_4 && (type_10)(var_5 < (type_5 *)var_6) <= var_4 - var_6._4_4_)
      goto LAB_00016506;
      puVar9 = &DAT_0004f501;
      (*UNRECOVERED_JUMPTABLE)(pvVar8,"+0x");
      var_12 = &var_3->section->var_6;
      var_4 = (int)(type_5 *)var_6 - (int)*var_12;
      lVar3 = var_2((((var_6._4_4_ - *(int *)((int)&var_3->section->var_6 + 4)) -
                        (type_10)((type_5 *)var_6 < *(type_5 **)var_12)) -
                       *(int *)((int)&var_3->value + 4)) - (type_10)(var_4 < (type_10)var_3->value),
                       var_4 - (int)var_3->value);
    }
  }
  var_1(var_2(puVar9,1),(type_5 *)lVar3,
                      (type_6)((type_13)lVar3 >> 0x20));
  UNRECOVERED_JUMPTABLE = inf->fprintf_func;
  pvVar8 = inf->stream;
LAB_00016506:
  (*UNRECOVERED_JUMPTABLE)(pvVar8,">");
  if (var_13 == 0) {
    return;
  }
  UNRECOVERED_JUMPTABLE = inf->fprintf_func;
  pcVar6 = (char *)var_14(0," (File Offset: 0x%lx)",5);
                    /* WARNING: Could not recover jumptable at 0x0001656b. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*UNRECOVERED_JUMPTABLE)(inf->stream,pcVar6);
  return;
}


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

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

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

{
  undefined *puVar1;
  uint uVar2;
  code *UNRECOVERED_JUMPTABLE;
  uint uVar3;
  undefined4 uVar4;
  
  FUN_00016380(param_7);
  if (param_3 == 0) {
    (*(code *)*param_6)(param_6[1],&DAT_0004f4f8,*param_2);
    uVar2 = param_2[8];
    if (param_5 < uVar2 || param_5 - uVar2 < (uint)(param_4 < (uint)param_2[7])) {
      (*(code *)*param_6)(param_6[1],&DAT_0004f4fd);
    }
    else {
      UNRECOVERED_JUMPTABLE = (code *)*param_6;
      uVar4 = param_6[1];
      if (param_5 <= uVar2 && (uint)((uint)param_2[7] < param_4) <= uVar2 - param_5)
      goto LAB_00016506;
      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);
    }
  }
  else {
    (*(code *)*param_6)(param_6[1],&DAT_0004f505);
    FUN_000160e0();
    puVar1 = *(undefined **)(param_3 + 0x14);
    uVar2 = *(uint *)(param_3 + 8) + *(uint *)(puVar1 + 0x1c);
    uVar3 = *(int *)(param_3 + 0xc) + *(int *)(puVar1 + 0x20) +
            (uint)CARRY4(*(uint *)(param_3 + 8),*(uint *)(puVar1 + 0x1c));
    UNRECOVERED_JUMPTABLE = (code *)*param_6;
    uVar4 = param_6[1];
    if ((uVar3 == param_5 && param_4 == uVar2) ||
       (((*(uint *)(param_1 + 0x28) >> 5 & 0x42) != 0 &&
        (puVar1 == PTR__bfd_std_section_00072fd8 + 0xc0)))) goto LAB_00016506;
    if (param_5 < uVar3 || param_5 - uVar3 < (uint)(param_4 < uVar2)) {
      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f4fd);
    }
    else {
      if (param_5 <= uVar3 && (uint)(uVar2 < param_4) <= uVar3 - param_5) goto LAB_00016506;
      (*UNRECOVERED_JUMPTABLE)(uVar4,&DAT_0004f501);
    }
  }
  FUN_00016380(1);
  UNRECOVERED_JUMPTABLE = (code *)*param_6;
  uVar4 = param_6[1];
LAB_00016506:
  (*UNRECOVERED_JUMPTABLE)(uVar4,">");
  if (DAT_000740a0 == 0) {
    return;
  }
  UNRECOVERED_JUMPTABLE = (code *)*param_6;
  dcgettext(0," (File Offset: 0x%lx)",5);
                    /* WARNING: Could not recover jumptable at 0x0001656b. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*UNRECOVERED_JUMPTABLE)();
  return;
}

