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

void display_debug_rnglists_list
               (uchar *start,uchar *finish,uint pointer_size,ulong offset,ulong base_address)

{
  undefined *puVar1;
  undefined *puVar2;
  uint uVar3;
  char *pcVar4;
  uint uVar5;
  char *message;
  uint uVar6;
  elf_vma eVar11;
  uchar *puVar7;
  FILE *pFVar8;
  uchar *puVar9;
  uchar *puVar10;
  dwarf_vma in_stack_ffffffb4;
  undefined8 local_44;
  uint bytes_read;
  undefined4 uStack_14;
  
  puVar1 = PTR_stdout_0006ffdc;
  uStack_14 = 0x1fdfe;
  puVar10 = start;
  uVar3 = 8;
  if (pointer_size < 9) {
    uVar3 = pointer_size;
  }
LAB_0001fe30:
  puVar7 = puVar10 + 1;
  if (finish < puVar7) {
    pcVar4 = (char *)dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);
    warn(pcVar4,offset);
    return;
  }
  printf("    %8.8lx ",puVar10 + (offset - (int)start));
  if ((puVar7 == finish) && (finish <= puVar10)) {
_L935:
    pcVar4 = (char *)dcgettext(0,"<End of list>\n",5);
    printf(pcVar4);
    return;
  }
  eVar11._0_4_ = (*byte_get)(puVar10,1);
  switch((undefined4)(elf_vma)eVar11) {
  case 0:
    goto _L935;
  default:
    pcVar4 = (char *)dcgettext(0,"Invalid range list entry type %d\n",5);
    error(pcVar4,(undefined4)(elf_vma)eVar11);
    return;
  case 4:
    in_stack_ffffffb4 = read_leb128(puVar7,&bytes_read,0,finish);
    puVar7 = puVar7 + bytes_read;
    local_44 = read_leb128(puVar7,&bytes_read,0,finish);
    puVar10 = puVar7 + bytes_read;
    break;
  case 5:
    if (pointer_size < 5) {
      if (puVar7 + pointer_size < finish) {
        uVar5 = pointer_size - 1;
        uVar6 = pointer_size;
joined_r0x000201b3:
        if (uVar5 < 8) goto LAB_000201b9;
      }
      else {
LAB_0002019d:
        if (puVar7 < finish) {
          uVar5 = ((int)finish - (int)puVar7) - 1;
          uVar6 = (int)finish - (int)puVar7;
          goto joined_r0x000201b3;
        }
      }
      base_address = 0;
    }
    else {
      pcVar4 = (char *)dcngettext(0,
                                  "internal error: attempt to read %d byte of data in to %d sized variable"
                                  ,
                                  "internal error: attempt to read %d bytes of data in to %d sized variable"
                                  ,pointer_size,5);
      error(pcVar4,pointer_size,4);
      if (finish <= puVar10 + 5) goto LAB_0002019d;
      uVar6 = 4;
LAB_000201b9:
      base_address = (ulong)(*byte_get)(puVar7,uVar6);
    }
    print_dwarf_vma(in_stack_ffffffb4,base_address);
    pcVar4 = (char *)dcgettext(0,"(base address)\n",5);
    printf(pcVar4);
    puVar10 = puVar7 + pointer_size;
    goto LAB_0001fe30;
  case 6:
    puVar9 = puVar7 + pointer_size;
    uVar6 = uVar3;
    if (pointer_size < 9) {
      if (puVar9 < finish) {
        uVar5 = pointer_size;
        uVar6 = pointer_size;
        if (pointer_size - 1 < 8) goto LAB_0001ff31;
        in_stack_ffffffb4 = 0;
      }
      else if (puVar7 < finish) {
LAB_000202aa:
        uVar5 = (int)finish - (int)puVar7;
        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;
        in_stack_ffffffb4 = 0;
        if (8 < pointer_size) goto LAB_000202e0;
      }
      else {
        in_stack_ffffffb4 = 0;
      }
    }
    else {
      pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";
      message = (char *)dcngettext(0,
                                   "internal error: attempt to read %d byte of data in to %d sized variable"
                                   ,
                                   "internal error: attempt to read %d bytes of data in to %d sized variable"
                                   ,pointer_size,5);
      error(message,pointer_size,8);
      if (puVar10 + 9 < finish) {
        uVar5 = 8;
        uVar6 = 8;
LAB_0001ff31:
        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);
        if (pointer_size < 9) goto LAB_0001ff52;
LAB_000202e0:
        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";
      }
      else {
        if (puVar7 < finish) goto LAB_000202aa;
        in_stack_ffffffb4 = 0;
      }
      pcVar4 = (char *)dcngettext(0,pcVar4,
                                  "internal error: attempt to read %d bytes of data in to %d sized variable"
                                  ,pointer_size,5);
      error(pcVar4,pointer_size,8);
    }
LAB_0001ff52:
    if (puVar9 + uVar6 < finish) {
LAB_0001ff77:
      local_44 = 0;
      if (uVar6 - 1 < 8) {
        local_44 = (*byte_get)(puVar9,uVar6);
      }
    }
    else {
      local_44 = 0;
      if (puVar9 < finish) {
        uVar6 = (int)finish - (int)puVar9;
        goto LAB_0001ff77;
      }
    }
    puVar10 = puVar9 + pointer_size;
    break;
  case 7:
    puVar9 = puVar7 + pointer_size;
    if (pointer_size < 9) {
      if (puVar9 < finish) {
        uVar5 = pointer_size - 1;
        uVar6 = pointer_size;
joined_r0x00020253:
        if (uVar5 < 8) goto LAB_00020259;
      }
      else {
LAB_0002023d:
        if (puVar7 < finish) {
          uVar5 = ((int)finish - (int)puVar7) - 1;
          uVar6 = (int)finish - (int)puVar7;
          goto joined_r0x00020253;
        }
      }
      in_stack_ffffffb4 = 0;
    }
    else {
      pcVar4 = (char *)dcngettext(0,
                                  "internal error: attempt to read %d byte of data in to %d sized variable"
                                  ,
                                  "internal error: attempt to read %d bytes of data in to %d sized variable"
                                  ,pointer_size,5);
      error(pcVar4,pointer_size,8);
      if (finish <= puVar10 + 9) goto LAB_0002023d;
      uVar6 = 8;
LAB_00020259:
      in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);
    }
    local_44 = read_leb128(puVar9,&bytes_read,0,finish);
    puVar10 = puVar9 + bytes_read;
    local_44 = local_44 + in_stack_ffffffb4;
  }
  print_dwarf_vma(in_stack_ffffffb4,(int)in_stack_ffffffb4 + base_address);
  print_dwarf_vma(in_stack_ffffffb4,base_address + (uint)local_44);
  puVar2 = PTR_stdout_0006ffdc;
  uVar6 = (uint)(in_stack_ffffffb4 >> 0x20);
  if (uVar6 == local_44._4_4_ && (uint)in_stack_ffffffb4 == (uint)local_44) {
    pFVar8 = *(FILE **)PTR_stdout_0006ffdc;
    pcVar4 = (char *)dcgettext(0,"(start == end)",5);
    fputs(pcVar4,pFVar8);
    pFVar8 = *(FILE **)puVar2;
  }
  else {
    pFVar8 = *(FILE **)puVar1;
    if (local_44._4_4_ < uVar6 ||
        local_44._4_4_ - uVar6 < (uint)((uint)local_44 < (uint)in_stack_ffffffb4)) {
      pcVar4 = (char *)dcgettext(0,"(start > end)",5);
      fputs(pcVar4,pFVar8);
      pFVar8 = *(FILE **)puVar1;
    }
  }
  putc(10,pFVar8);
  goto LAB_0001fe30;
}



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

void FUN_0001fdf0(uint param_1,uint param_2,uint param_3,int param_4)

{
  uint uVar1;
  undefined *puVar2;
  undefined *puVar3;
  uint uVar4;
  char *pcVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  int iVar8;
  FILE *pFVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  longlong lVar13;
  longlong lVar14;
  uint uStack_4c;
  uint uStack_48;
  uint uStack_44;
  uint uStack_40;
  int aiStack_20 [3];
  undefined4 uStack_14;
  
  puVar2 = PTR_stdout_0006ffdc;
  uStack_14 = 0x1fdfe;
  uVar12 = param_1;
  uVar4 = 8;
  if (param_3 < 9) {
    uVar4 = param_3;
  }
code_r0x0001fe30:
  uVar1 = uVar12 + 1;
  if (param_2 < uVar1) {
    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);
    warn(uVar6,param_4);
    return;
  }
  printf("    %8.8lx ",(uVar12 - param_1) + param_4);
  if ((uVar1 == param_2) && (param_2 <= uVar12)) {
code_r0x0001fe66:
    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);
    printf(pcVar5);
    return;
  }
  uVar6 = (*DAT_00073aec)(uVar12,1);
  switch(uVar6) {
  case 0:
    goto code_r0x0001fe66;
  default:
    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);
    error(uVar7,uVar6);
    return;
  case 4:
    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);
    iVar8 = uVar1 + aiStack_20[0];
    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);
    uVar12 = iVar8 + aiStack_20[0];
    break;
  case 5:
    if (param_3 < 5) {
      if (param_3 + uVar1 < param_2) {
        uVar10 = param_3 - 1;
        uVar12 = param_3;
joined_r0x000201b3:
        if (uVar10 < 8) goto code_r0x000201b9;
      }
      else {
code_r0x0002019d:
        if (uVar1 < param_2) {
          uVar10 = (param_2 - uVar1) - 1;
          uVar12 = param_2 - uVar1;
          goto joined_r0x000201b3;
        }
      }
    }
    else {
      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"
                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"
                         ,param_3,5);
      error(uVar6,param_3,4);
      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;
      uVar12 = 4;
code_r0x000201b9:
      (*DAT_00073aec)(uVar1,uVar12);
    }
    FUN_0001b1d0();
    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);
    printf(pcVar5);
    uVar12 = param_3 + uVar1;
    goto code_r0x0001fe30;
  case 6:
    uVar11 = param_3 + uVar1;
    uVar10 = uVar4;
    if (param_3 < 9) {
      if (uVar11 < param_2) {
        uVar12 = param_3;
        uVar10 = param_3;
        if (param_3 - 1 < 8) goto code_r0x0001ff31;
        lVar13 = 0;
      }
      else if (uVar1 < param_2) {
code_r0x000202aa:
        uVar12 = param_2 - uVar1;
        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;
        lVar13 = 0;
        lVar14 = 0;
        if (8 < param_3) goto code_r0x000202ec;
      }
      else {
        lVar13 = 0;
      }
    }
    else {
      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"
                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"
                         ,param_3,5);
      error(uVar6,param_3,8);
      if (uVar12 + 9 < param_2) {
        uVar12 = 8;
        uVar10 = 8;
code_r0x0001ff31:
        lVar13 = (*DAT_00073aec)(uVar1,uVar12);
        lVar14 = lVar13;
        if (param_3 < 9) goto code_r0x0001ff52;
      }
      else {
        if (uVar1 < param_2) goto code_r0x000202aa;
        lVar14 = 0;
      }
code_r0x000202ec:
      lVar13 = lVar14;
      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"
                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"
                         ,param_3,5);
      error(uVar6,param_3,8);
    }
code_r0x0001ff52:
    if (uVar11 + uVar10 < param_2) {
code_r0x0001ff77:
      lVar14 = 0;
      if (uVar10 - 1 < 8) {
        lVar14 = (*DAT_00073aec)(uVar11,uVar10);
      }
    }
    else {
      lVar14 = 0;
      if (uVar11 < param_2) {
        uVar10 = param_2 - uVar11;
        goto code_r0x0001ff77;
      }
    }
    uVar12 = uVar11 + param_3;
    break;
  case 7:
    uVar10 = param_3 + uVar1;
    if (param_3 < 9) {
      if (uVar10 < param_2) {
        uVar11 = param_3 - 1;
        uVar12 = param_3;
joined_r0x00020253:
        if (uVar11 < 8) goto code_r0x00020259;
      }
      else {
code_r0x0002023d:
        if (uVar1 < param_2) {
          uVar11 = (param_2 - uVar1) - 1;
          uVar12 = param_2 - uVar1;
          goto joined_r0x00020253;
        }
      }
      lVar13 = 0;
    }
    else {
      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"
                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"
                         ,param_3,5);
      error(uVar6,param_3,8);
      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;
      uVar12 = 8;
code_r0x00020259:
      lVar13 = (*DAT_00073aec)(uVar1,uVar12);
    }
    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);
    uVar12 = uVar10 + aiStack_20[0];
    lVar14 = lVar13 + lVar14;
  }
  uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);
  uStack_44 = (uint)lVar14;
  uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);
  uStack_4c = (uint)lVar13;
  FUN_0001b1d0();
  FUN_0001b1d0();
  puVar3 = PTR_stdout_0006ffdc;
  if (lVar13 == lVar14) {
    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;
    pcVar5 = (char *)dcgettext(0,"(start == end)",5);
    fputs(pcVar5,pFVar9);
    pFVar9 = *(FILE **)puVar3;
  }
  else {
    pFVar9 = *(FILE **)puVar2;
    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {
      pcVar5 = (char *)dcgettext(0,"(start > end)",5);
      fputs(pcVar5,pFVar9);
      pFVar9 = *(FILE **)puVar2;
    }
  }
  putc(10,pFVar9);
  goto code_r0x0001fe30;
}


PUSH EBP
MOV EAX,0x8
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x000143a0
ADD EBX,0x50202
SUB ESP,0x3c
CMP dword ptr [ESP + 0x58],0x8
CMOVBE EAX,dword ptr [ESP + 0x58]
MOV EBP,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x1c],EAX
LEA EAX,[EBX + 0x3aec]
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [EBX + 0xffffffdc]
MOV dword ptr [ESP + 0x18],EAX
LEA ESI,[ESI]
MOV EAX,EBP
LEA ESI,[EBP + 0x1]
SUB EAX,dword ptr [ESP + 0x50]
ADD EAX,dword ptr [ESP + 0x5c]
CMP ESI,dword ptr [ESP + 0x54]
JA 0x00020130
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xfffe06e6]
PUSH EAX
CALL 0x000130b0
ADD ESP,0x10
CMP ESI,dword ptr [ESP + 0x54]
JNZ 0x0001fe90
CMP EBP,dword ptr [ESP + 0x54]
JC 0x0001fe90
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe06f2]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131f0
MOV dword ptr [ESP],EAX
CALL 0x000130b0
ADD ESP,0x10
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
PUSH 0x1
PUSH EBP
MOV EAX,dword ptr [ESP + 0x24]
CALL dword ptr [EAX]
ADD ESP,0x10
CMP EAX,0x7
JA 0x000200a8
MOV EDX,dword ptr [EBX + EAX*0x4 + 0xfffe2f0c]
ADD EDX,EBX
JMP EDX
SUB ESP,0x4
MOV EDI,EAX
LEA EAX,[EBX + 0xfffdda48]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131f0
POP ESI
POP EBP
PUSH EDI
PUSH EAX
CALL 0x00045fc0
ADD ESP,0x10
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdda10]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000131f0
POP EDX
POP ECX
PUSH dword ptr [ESP + 0x64]
PUSH EAX
CALL 0x00046500
ADD ESP,0x10
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0001fdf0(uint param_1,uint param_2,uint param_3,int param_4)\n\n{\n  uint uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  FILE *pFVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  longlong lVar13;\n  longlong lVar14;\n  uint uStack_4c;\n  uint uStack_48;\n  uint uStack_44;\n  uint uStack_40;\n  int aiStack_20 [3];\n  undefined4 uStack_14;\n  \n  puVar2 = PTR_stdout_0006ffdc;\n  uStack_14 = 0x1fdfe;\n  uVar12 = param_1;\n  uVar4 = 8;\n  if (param_3 < 9) {\n    uVar4 = param_3;\n  }\ncode_r0x0001fe30:\n  uVar1 = uVar12 + 1;\n  if (param_2 < uVar1) {\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }\n  printf("    %8.8lx ",(uVar12 - param_1) + param_4);\n  if ((uVar1 == param_2) && (param_2 <= uVar12)) {\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }\n  uVar6 = (*DAT_00073aec)(uVar12,1);\n  switch(uVar6) {\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }\n  uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);\n  uStack_44 = (uint)lVar14;\n  uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);\n  uStack_4c = (uint)lVar13;\n  FUN_0001b1d0();\n  FUN_0001b1d0();\n  puVar3 = PTR_stdout_0006ffdc;\n  if (lVar13 == lVar14) {\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }\n  else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }\n  putc(10,pFVar9);\n  goto code_r0x0001fe30;\n}\n\n" comment (function_definition "void FUN_0001fdf0(uint param_1,uint param_2,uint param_3,int param_4)\n\n{\n  uint uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  FILE *pFVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  longlong lVar13;\n  longlong lVar14;\n  uint uStack_4c;\n  uint uStack_48;\n  uint uStack_44;\n  uint uStack_40;\n  int aiStack_20 [3];\n  undefined4 uStack_14;\n  \n  puVar2 = PTR_stdout_0006ffdc;\n  uStack_14 = 0x1fdfe;\n  uVar12 = param_1;\n  uVar4 = 8;\n  if (param_3 < 9) {\n    uVar4 = param_3;\n  }\ncode_r0x0001fe30:\n  uVar1 = uVar12 + 1;\n  if (param_2 < uVar1) {\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }\n  printf("    %8.8lx ",(uVar12 - param_1) + param_4);\n  if ((uVar1 == param_2) && (param_2 <= uVar12)) {\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }\n  uVar6 = (*DAT_00073aec)(uVar12,1);\n  switch(uVar6) {\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }\n  uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);\n  uStack_44 = (uint)lVar14;\n  uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);\n  uStack_4c = (uint)lVar13;\n  FUN_0001b1d0();\n  FUN_0001b1d0();\n  puVar3 = PTR_stdout_0006ffdc;\n  if (lVar13 == lVar14) {\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }\n  else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }\n  putc(10,pFVar9);\n  goto code_r0x0001fe30;\n}" primitive_type (function_declarator "FUN_0001fdf0(uint param_1,uint param_2,uint param_3,int param_4)" identifier (parameter_list "(uint param_1,uint param_2,uint param_3,int param_4)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  FILE *pFVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  longlong lVar13;\n  longlong lVar14;\n  uint uStack_4c;\n  uint uStack_48;\n  uint uStack_44;\n  uint uStack_40;\n  int aiStack_20 [3];\n  undefined4 uStack_14;\n  \n  puVar2 = PTR_stdout_0006ffdc;\n  uStack_14 = 0x1fdfe;\n  uVar12 = param_1;\n  uVar4 = 8;\n  if (param_3 < 9) {\n    uVar4 = param_3;\n  }\ncode_r0x0001fe30:\n  uVar1 = uVar12 + 1;\n  if (param_2 < uVar1) {\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }\n  printf("    %8.8lx ",(uVar12 - param_1) + param_4);\n  if ((uVar1 == param_2) && (param_2 <= uVar12)) {\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }\n  uVar6 = (*DAT_00073aec)(uVar12,1);\n  switch(uVar6) {\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }\n  uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);\n  uStack_44 = (uint)lVar14;\n  uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);\n  uStack_4c = (uint)lVar13;\n  FUN_0001b1d0();\n  FUN_0001b1d0();\n  puVar3 = PTR_stdout_0006ffdc;\n  if (lVar13 == lVar14) {\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }\n  else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }\n  putc(10,pFVar9);\n  goto code_r0x0001fe30;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "FILE *pFVar9;" type_identifier (pointer_declarator "*pFVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "longlong lVar13;" type_identifier identifier ;) (declaration "longlong lVar14;" type_identifier identifier ;) (declaration "uint uStack_4c;" type_identifier identifier ;) (declaration "uint uStack_48;" type_identifier identifier ;) (declaration "uint uStack_44;" type_identifier identifier ;) (declaration "uint uStack_40;" type_identifier identifier ;) (declaration "int aiStack_20 [3];" primitive_type (array_declarator "aiStack_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar2 = PTR_stdout_0006ffdc;" (assignment_expression "puVar2 = PTR_stdout_0006ffdc" identifier = identifier) ;) (expression_statement "uStack_14 = 0x1fdfe;" (assignment_expression "uStack_14 = 0x1fdfe" identifier = number_literal) ;) (expression_statement "uVar12 = param_1;" (assignment_expression "uVar12 = param_1" identifier = identifier) ;) (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" identifier = number_literal) ;) (if_statement "if (param_3 < 9) {\n    uVar4 = param_3;\n  }" if (parenthesized_expression "(param_3 < 9)" ( (binary_expression "param_3 < 9" identifier < number_literal) )) (compound_statement "{\n    uVar4 = param_3;\n  }" { (expression_statement "uVar4 = param_3;" (assignment_expression "uVar4 = param_3" identifier = identifier) ;) })) (labeled_statement "code_r0x0001fe30:\n  uVar1 = uVar12 + 1;" statement_identifier : (expression_statement "uVar1 = uVar12 + 1;" (assignment_expression "uVar1 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;)) (if_statement "if (param_2 < uVar1) {\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }" if (parenthesized_expression "(param_2 < uVar1)" ( (binary_expression "param_2 < uVar1" identifier < identifier) )) (compound_statement "{\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }" { (expression_statement "uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);" (assignment_expression "uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" identifier = (call_expression "dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" identifier (argument_list "(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" ( number_literal , (string_literal ""Range list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar6,param_4);" (call_expression "warn(uVar6,param_4)" identifier (argument_list "(uVar6,param_4)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "printf("    %8.8lx ",(uVar12 - param_1) + param_4);" (call_expression "printf("    %8.8lx ",(uVar12 - param_1) + param_4)" identifier (argument_list "("    %8.8lx ",(uVar12 - param_1) + param_4)" ( (string_literal ""    %8.8lx "" " string_content ") , (binary_expression "(uVar12 - param_1) + param_4" (parenthesized_expression "(uVar12 - param_1)" ( (binary_expression "uVar12 - param_1" identifier - identifier) )) + identifier) ))) ;) (if_statement "if ((uVar1 == param_2) && (param_2 <= uVar12)) {\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }" if (parenthesized_expression "((uVar1 == param_2) && (param_2 <= uVar12))" ( (binary_expression "(uVar1 == param_2) && (param_2 <= uVar12)" (parenthesized_expression "(uVar1 == param_2)" ( (binary_expression "uVar1 == param_2" identifier == identifier) )) && (parenthesized_expression "(param_2 <= uVar12)" ( (binary_expression "param_2 <= uVar12" identifier <= identifier) ))) )) (compound_statement "{\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }" { (labeled_statement "code_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);" statement_identifier : (expression_statement "pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"<End of list>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<End of list>\n",5)" identifier (argument_list "(0,"<End of list>\n",5)" ( number_literal , (string_literal ""<End of list>\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar5);" (call_expression "printf(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar6 = (*DAT_00073aec)(uVar12,1);" (assignment_expression "uVar6 = (*DAT_00073aec)(uVar12,1)" identifier = (call_expression "(*DAT_00073aec)(uVar12,1)" (parenthesized_expression "(*DAT_00073aec)" ( (pointer_expression "*DAT_00073aec" * identifier) )) (argument_list "(uVar12,1)" ( identifier , number_literal )))) ;) (switch_statement "switch(uVar6) {\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }" switch (parenthesized_expression "(uVar6)" ( identifier )) (compound_statement "{\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }" { (case_statement "case 0:\n    goto code_r0x0001fe66;" case number_literal : (goto_statement "goto code_r0x0001fe66;" goto statement_identifier ;)) (case_statement "default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;" default : (expression_statement "uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);" (assignment_expression "uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5)" identifier = (call_expression "dcgettext(0,"Invalid range list entry type %d\n",5)" identifier (argument_list "(0,"Invalid range list entry type %d\n",5)" ( number_literal , (string_literal ""Invalid range list entry type %d\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar7,uVar6);" (call_expression "error(uVar7,uVar6)" identifier (argument_list "(uVar7,uVar6)" ( identifier , identifier ))) ;) (return_statement "return;" return ;)) (case_statement "case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;" case number_literal : (expression_statement "lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);" (assignment_expression "lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2)" identifier = (call_expression "FUN_0001dca0(uVar1,aiStack_20,0,param_2)" identifier (argument_list "(uVar1,aiStack_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar8 = uVar1 + aiStack_20[0];" (assignment_expression "iVar8 = uVar1 + aiStack_20[0]" identifier = (binary_expression "uVar1 + aiStack_20[0]" identifier + (subscript_expression "aiStack_20[0]" identifier [ number_literal ]))) ;) (expression_statement "lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);" (assignment_expression "lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2)" identifier = (call_expression "FUN_0001dca0(iVar8,aiStack_20,0,param_2)" identifier (argument_list "(iVar8,aiStack_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "uVar12 = iVar8 + aiStack_20[0];" (assignment_expression "uVar12 = iVar8 + aiStack_20[0]" identifier = (binary_expression "iVar8 + aiStack_20[0]" identifier + (subscript_expression "aiStack_20[0]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;" case number_literal : (if_statement "if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }" if (parenthesized_expression "(param_3 < 5)" ( (binary_expression "param_3 < 5" identifier < number_literal) )) (compound_statement "{\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }" { (if_statement "if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }" if (parenthesized_expression "(param_3 + uVar1 < param_2)" ( (binary_expression "param_3 + uVar1 < param_2" (binary_expression "param_3 + uVar1" identifier + identifier) < identifier) )) (compound_statement "{\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }" { (expression_statement "uVar10 = param_3 - 1;" (assignment_expression "uVar10 = param_3 - 1" identifier = (binary_expression "param_3 - 1" identifier - number_literal)) ;) (expression_statement "uVar12 = param_3;" (assignment_expression "uVar12 = param_3" identifier = identifier) ;) (labeled_statement "joined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;" statement_identifier : (if_statement "if (uVar10 < 8) goto code_r0x000201b9;" if (parenthesized_expression "(uVar10 < 8)" ( (binary_expression "uVar10 < 8" identifier < number_literal) )) (goto_statement "goto code_r0x000201b9;" goto statement_identifier ;))) }) (else_clause "else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }" else (compound_statement "{\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }" { (labeled_statement "code_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }" statement_identifier : (if_statement "if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }" if (parenthesized_expression "(uVar1 < param_2)" ( (binary_expression "uVar1 < param_2" identifier < identifier) )) (compound_statement "{\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }" { (expression_statement "uVar10 = (param_2 - uVar1) - 1;" (assignment_expression "uVar10 = (param_2 - uVar1) - 1" identifier = (binary_expression "(param_2 - uVar1) - 1" (parenthesized_expression "(param_2 - uVar1)" ( (binary_expression "param_2 - uVar1" identifier - identifier) )) - number_literal)) ;) (expression_statement "uVar12 = param_2 - uVar1;" (assignment_expression "uVar12 = param_2 - uVar1" identifier = (binary_expression "param_2 - uVar1" identifier - identifier)) ;) (goto_statement "goto joined_r0x000201b3;" goto statement_identifier ;) }))) }))) }) (else_clause "else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }" else (compound_statement "{\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }" { (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier = (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" ( number_literal , (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ") , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal )))) ;) (expression_statement "error(uVar6,param_3,4);" (call_expression "error(uVar6,param_3,4)" identifier (argument_list "(uVar6,param_3,4)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (param_2 <= uVar12 + 5) goto code_r0x0002019d;" if (parenthesized_expression "(param_2 <= uVar12 + 5)" ( (binary_expression "param_2 <= uVar12 + 5" identifier <= (binary_expression "uVar12 + 5" identifier + number_literal)) )) (goto_statement "goto code_r0x0002019d;" goto statement_identifier ;)) (expression_statement "uVar12 = 4;" (assignment_expression "uVar12 = 4" identifier = number_literal) ;) (labeled_statement "code_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);" statement_identifier : (expression_statement "(*DAT_00073aec)(uVar1,uVar12);" (call_expression "(*DAT_00073aec)(uVar1,uVar12)" (parenthesized_expression "(*DAT_00073aec)" ( (pointer_expression "*DAT_00073aec" * identifier) )) (argument_list "(uVar1,uVar12)" ( identifier , identifier ))) ;)) }))) (expression_statement "FUN_0001b1d0();" (call_expression "FUN_0001b1d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = (char *)dcgettext(0,"(base address)\n",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"(base address)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"(base address)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(base address)\n",5)" identifier (argument_list "(0,"(base address)\n",5)" ( number_literal , (string_literal ""(base address)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar5);" (call_expression "printf(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (expression_statement "uVar12 = param_3 + uVar1;" (assignment_expression "uVar12 = param_3 + uVar1" identifier = (binary_expression "param_3 + uVar1" identifier + identifier)) ;) (goto_statement "goto code_r0x0001fe30;" goto statement_identifier ;)) (case_statement "case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;" case number_literal : (expression_statement "uVar11 = param_3 + uVar1;" (assignment_expression "uVar11 = param_3 + uVar1" identifier = (binary_expression "param_3 + uVar1" identifier + identifier)) ;) (expression_statement "uVar10 = uVar4;" (assignment_expression "uVar10 = uVar4" identifier = identifier) ;) (if_statement "if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }" if (parenthesized_expression "(param_3 < 9)" ( (binary_expression "param_3 < 9" identifier < number_literal) )) (compound_statement "{\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }" { (if_statement "if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }" if (parenthesized_expression "(uVar11 < param_2)" ( (binary_expression "uVar11 < param_2" identifier < identifier) )) (compound_statement "{\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }" { (expression_statement "uVar12 = param_3;" (assignment_expression "uVar12 = param_3" identifier = identifier) ;) (expression_statement "uVar10 = param_3;" (assignment_expression "uVar10 = param_3" identifier = identifier) ;) (if_statement "if (param_3 - 1 < 8) goto code_r0x0001ff31;" if (parenthesized_expression "(param_3 - 1 < 8)" ( (binary_expression "param_3 - 1 < 8" (binary_expression "param_3 - 1" identifier - number_literal) < number_literal) )) (goto_statement "goto code_r0x0001ff31;" goto statement_identifier ;)) (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) }) (else_clause "else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }" else (if_statement "if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }" if (parenthesized_expression "(uVar1 < param_2)" ( (binary_expression "uVar1 < param_2" identifier < identifier) )) (compound_statement "{\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }" { (labeled_statement "code_r0x000202aa:\n        uVar12 = param_2 - uVar1;" statement_identifier : (expression_statement "uVar12 = param_2 - uVar1;" (assignment_expression "uVar12 = param_2 - uVar1" identifier = (binary_expression "param_2 - uVar1" identifier - identifier)) ;)) (if_statement "if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;" if (parenthesized_expression "((param_2 - uVar1) - 1 < 8)" ( (binary_expression "(param_2 - uVar1) - 1 < 8" (binary_expression "(param_2 - uVar1) - 1" (parenthesized_expression "(param_2 - uVar1)" ( (binary_expression "param_2 - uVar1" identifier - identifier) )) - number_literal) < number_literal) )) (goto_statement "goto code_r0x0001ff31;" goto statement_identifier ;)) (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;) (if_statement "if (8 < param_3) goto code_r0x000202ec;" if (parenthesized_expression "(8 < param_3)" ( (binary_expression "8 < param_3" number_literal < identifier) )) (goto_statement "goto code_r0x000202ec;" goto statement_identifier ;)) }) (else_clause "else {\n        lVar13 = 0;\n      }" else (compound_statement "{\n        lVar13 = 0;\n      }" { (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }" else (compound_statement "{\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }" { (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier = (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" ( number_literal , (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ") , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal )))) ;) (expression_statement "error(uVar6,param_3,8);" (call_expression "error(uVar6,param_3,8)" identifier (argument_list "(uVar6,param_3,8)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }" if (parenthesized_expression "(uVar12 + 9 < param_2)" ( (binary_expression "uVar12 + 9 < param_2" (binary_expression "uVar12 + 9" identifier + number_literal) < identifier) )) (compound_statement "{\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }" { (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" identifier = number_literal) ;) (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" identifier = number_literal) ;) (labeled_statement "code_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);" statement_identifier : (expression_statement "lVar13 = (*DAT_00073aec)(uVar1,uVar12);" (assignment_expression "lVar13 = (*DAT_00073aec)(uVar1,uVar12)" identifier = (call_expression "(*DAT_00073aec)(uVar1,uVar12)" (parenthesized_expression "(*DAT_00073aec)" ( (pointer_expression "*DAT_00073aec" * identifier) )) (argument_list "(uVar1,uVar12)" ( identifier , identifier )))) ;)) (expression_statement "lVar14 = lVar13;" (assignment_expression "lVar14 = lVar13" identifier = identifier) ;) (if_statement "if (param_3 < 9) goto code_r0x0001ff52;" if (parenthesized_expression "(param_3 < 9)" ( (binary_expression "param_3 < 9" identifier < number_literal) )) (goto_statement "goto code_r0x0001ff52;" goto statement_identifier ;)) }) (else_clause "else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }" else (compound_statement "{\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }" { (if_statement "if (uVar1 < param_2) goto code_r0x000202aa;" if (parenthesized_expression "(uVar1 < param_2)" ( (binary_expression "uVar1 < param_2" identifier < identifier) )) (goto_statement "goto code_r0x000202aa;" goto statement_identifier ;)) (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;) }))) (labeled_statement "code_r0x000202ec:\n      lVar13 = lVar14;" statement_identifier : (expression_statement "lVar13 = lVar14;" (assignment_expression "lVar13 = lVar14" identifier = identifier) ;)) (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier = (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" ( number_literal , (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ") , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal )))) ;) (expression_statement "error(uVar6,param_3,8);" (call_expression "error(uVar6,param_3,8)" identifier (argument_list "(uVar6,param_3,8)" ( identifier , identifier , number_literal ))) ;) }))) (labeled_statement "code_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" statement_identifier : (if_statement "if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" if (parenthesized_expression "(uVar11 + uVar10 < param_2)" ( (binary_expression "uVar11 + uVar10 < param_2" (binary_expression "uVar11 + uVar10" identifier + identifier) < identifier) )) (compound_statement "{\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }" { (labeled_statement "code_r0x0001ff77:\n      lVar14 = 0;" statement_identifier : (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;)) (if_statement "if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }" if (parenthesized_expression "(uVar10 - 1 < 8)" ( (binary_expression "uVar10 - 1 < 8" (binary_expression "uVar10 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }" { (expression_statement "lVar14 = (*DAT_00073aec)(uVar11,uVar10);" (assignment_expression "lVar14 = (*DAT_00073aec)(uVar11,uVar10)" identifier = (call_expression "(*DAT_00073aec)(uVar11,uVar10)" (parenthesized_expression "(*DAT_00073aec)" ( (pointer_expression "*DAT_00073aec" * identifier) )) (argument_list "(uVar11,uVar10)" ( identifier , identifier )))) ;) })) }) (else_clause "else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" else (compound_statement "{\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" { (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;) (if_statement "if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }" if (parenthesized_expression "(uVar11 < param_2)" ( (binary_expression "uVar11 < param_2" identifier < identifier) )) (compound_statement "{\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }" { (expression_statement "uVar10 = param_2 - uVar11;" (assignment_expression "uVar10 = param_2 - uVar11" identifier = (binary_expression "param_2 - uVar11" identifier - identifier)) ;) (goto_statement "goto code_r0x0001ff77;" goto statement_identifier ;) })) })))) (expression_statement "uVar12 = uVar11 + param_3;" (assignment_expression "uVar12 = uVar11 + param_3" identifier = (binary_expression "uVar11 + param_3" identifier + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;" case number_literal : (expression_statement "uVar10 = param_3 + uVar1;" (assignment_expression "uVar10 = param_3 + uVar1" identifier = (binary_expression "param_3 + uVar1" identifier + identifier)) ;) (if_statement "if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }" if (parenthesized_expression "(param_3 < 9)" ( (binary_expression "param_3 < 9" identifier < number_literal) )) (compound_statement "{\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }" { (if_statement "if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }" if (parenthesized_expression "(uVar10 < param_2)" ( (binary_expression "uVar10 < param_2" identifier < identifier) )) (compound_statement "{\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }" { (expression_statement "uVar11 = param_3 - 1;" (assignment_expression "uVar11 = param_3 - 1" identifier = (binary_expression "param_3 - 1" identifier - number_literal)) ;) (expression_statement "uVar12 = param_3;" (assignment_expression "uVar12 = param_3" identifier = identifier) ;) (labeled_statement "joined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;" statement_identifier : (if_statement "if (uVar11 < 8) goto code_r0x00020259;" if (parenthesized_expression "(uVar11 < 8)" ( (binary_expression "uVar11 < 8" identifier < number_literal) )) (goto_statement "goto code_r0x00020259;" goto statement_identifier ;))) }) (else_clause "else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }" else (compound_statement "{\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }" { (labeled_statement "code_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }" statement_identifier : (if_statement "if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }" if (parenthesized_expression "(uVar1 < param_2)" ( (binary_expression "uVar1 < param_2" identifier < identifier) )) (compound_statement "{\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }" { (expression_statement "uVar11 = (param_2 - uVar1) - 1;" (assignment_expression "uVar11 = (param_2 - uVar1) - 1" identifier = (binary_expression "(param_2 - uVar1) - 1" (parenthesized_expression "(param_2 - uVar1)" ( (binary_expression "param_2 - uVar1" identifier - identifier) )) - number_literal)) ;) (expression_statement "uVar12 = param_2 - uVar1;" (assignment_expression "uVar12 = param_2 - uVar1" identifier = (binary_expression "param_2 - uVar1" identifier - identifier)) ;) (goto_statement "goto joined_r0x00020253;" goto statement_identifier ;) }))) }))) (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }" else (compound_statement "{\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }" { (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier = (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" ( number_literal , (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ") , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal )))) ;) (expression_statement "error(uVar6,param_3,8);" (call_expression "error(uVar6,param_3,8)" identifier (argument_list "(uVar6,param_3,8)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (param_2 <= uVar12 + 9) goto code_r0x0002023d;" if (parenthesized_expression "(param_2 <= uVar12 + 9)" ( (binary_expression "param_2 <= uVar12 + 9" identifier <= (binary_expression "uVar12 + 9" identifier + number_literal)) )) (goto_statement "goto code_r0x0002023d;" goto statement_identifier ;)) (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" identifier = number_literal) ;) (labeled_statement "code_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);" statement_identifier : (expression_statement "lVar13 = (*DAT_00073aec)(uVar1,uVar12);" (assignment_expression "lVar13 = (*DAT_00073aec)(uVar1,uVar12)" identifier = (call_expression "(*DAT_00073aec)(uVar1,uVar12)" (parenthesized_expression "(*DAT_00073aec)" ( (pointer_expression "*DAT_00073aec" * identifier) )) (argument_list "(uVar1,uVar12)" ( identifier , identifier )))) ;)) }))) (expression_statement "lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);" (assignment_expression "lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2)" identifier = (call_expression "FUN_0001dca0(uVar10,aiStack_20,0,param_2)" identifier (argument_list "(uVar10,aiStack_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "uVar12 = uVar10 + aiStack_20[0];" (assignment_expression "uVar12 = uVar10 + aiStack_20[0]" identifier = (binary_expression "uVar10 + aiStack_20[0]" identifier + (subscript_expression "aiStack_20[0]" identifier [ number_literal ]))) ;) (expression_statement "lVar14 = lVar13 + lVar14;" (assignment_expression "lVar14 = lVar13 + lVar14" identifier = (binary_expression "lVar13 + lVar14" identifier + identifier)) ;)) })) (expression_statement "uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);" (assignment_expression "uStack_40 = (uint)((ulonglong)lVar14 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar14 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar14 >> 0x20)" ( (binary_expression "(ulonglong)lVar14 >> 0x20" (cast_expression "(ulonglong)lVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_44 = (uint)lVar14;" (assignment_expression "uStack_44 = (uint)lVar14" identifier = (cast_expression "(uint)lVar14" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);" (assignment_expression "uStack_48 = (uint)((ulonglong)lVar13 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar13 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar13 >> 0x20)" ( (binary_expression "(ulonglong)lVar13 >> 0x20" (cast_expression "(ulonglong)lVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_4c = (uint)lVar13;" (assignment_expression "uStack_4c = (uint)lVar13" identifier = (cast_expression "(uint)lVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "FUN_0001b1d0();" (call_expression "FUN_0001b1d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001b1d0();" (call_expression "FUN_0001b1d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar3 = PTR_stdout_0006ffdc;" (assignment_expression "puVar3 = PTR_stdout_0006ffdc" identifier = identifier) ;) (if_statement "if (lVar13 == lVar14) {\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }\n  else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }" if (parenthesized_expression "(lVar13 == lVar14)" ( (binary_expression "lVar13 == lVar14" identifier == identifier) )) (compound_statement "{\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }" { (expression_statement "pFVar9 = *(FILE **)PTR_stdout_0006ffdc;" (assignment_expression "pFVar9 = *(FILE **)PTR_stdout_0006ffdc" identifier = (pointer_expression "*(FILE **)PTR_stdout_0006ffdc" * (cast_expression "(FILE **)PTR_stdout_0006ffdc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar5 = (char *)dcgettext(0,"(start == end)",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"(start == end)",5)" identifier = (cast_expression "(char *)dcgettext(0,"(start == end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(start == end)",5)" identifier (argument_list "(0,"(start == end)",5)" ( number_literal , (string_literal ""(start == end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar5,pFVar9);" (call_expression "fputs(pcVar5,pFVar9)" identifier (argument_list "(pcVar5,pFVar9)" ( identifier , identifier ))) ;) (expression_statement "pFVar9 = *(FILE **)puVar3;" (assignment_expression "pFVar9 = *(FILE **)puVar3" identifier = (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }" else (compound_statement "{\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }" { (expression_statement "pFVar9 = *(FILE **)puVar2;" (assignment_expression "pFVar9 = *(FILE **)puVar2" identifier = (pointer_expression "*(FILE **)puVar2" * (cast_expression "(FILE **)puVar2" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }" if (parenthesized_expression "(uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c))" ( (binary_expression "uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)" (binary_expression "uStack_40 < uStack_48" identifier < identifier) || (binary_expression "uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)" (binary_expression "uStack_40 - uStack_48" identifier - identifier) < (call_expression "(uint)(uStack_44 < uStack_4c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_44 < uStack_4c)" ( (binary_expression "uStack_44 < uStack_4c" identifier < identifier) ))))) )) (compound_statement "{\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }" { (expression_statement "pcVar5 = (char *)dcgettext(0,"(start > end)",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"(start > end)",5)" identifier = (cast_expression "(char *)dcgettext(0,"(start > end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(start > end)",5)" identifier (argument_list "(0,"(start > end)",5)" ( number_literal , (string_literal ""(start > end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar5,pFVar9);" (call_expression "fputs(pcVar5,pFVar9)" identifier (argument_list "(pcVar5,pFVar9)" ( identifier , identifier ))) ;) (expression_statement "pFVar9 = *(FILE **)puVar2;" (assignment_expression "pFVar9 = *(FILE **)puVar2" identifier = (pointer_expression "*(FILE **)puVar2" * (cast_expression "(FILE **)puVar2" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) }))) (expression_statement "putc(10,pFVar9);" (call_expression "putc(10,pFVar9)" identifier (argument_list "(10,pFVar9)" ( number_literal , identifier ))) ;) (goto_statement "goto code_r0x0001fe30;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid display_debug_rnglists_list\n               (uchar *start,uchar *finish,uint pointer_size,ulong offset,ulong base_address)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint uVar5;\n  char *message;\n  uint uVar6;\n  elf_vma eVar11;\n  uchar *puVar7;\n  FILE *pFVar8;\n  uchar *puVar9;\n  uchar *puVar10;\n  dwarf_vma in_stack_ffffffb4;\n  undefined8 local_44;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_stdout_0006ffdc;\n  uStack_14 = 0x1fdfe;\n  puVar10 = start;\n  uVar3 = 8;\n  if (pointer_size < 9) {\n    uVar3 = pointer_size;\n  }\nLAB_0001fe30:\n  puVar7 = puVar10 + 1;\n  if (finish < puVar7) {\n    pcVar4 = (char *)dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(pcVar4,offset);\n    return;\n  }\n  printf("    %8.8lx ",puVar10 + (offset - (int)start));\n  if ((puVar7 == finish) && (finish <= puVar10)) {\n_L935:\n    pcVar4 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar4);\n    return;\n  }\n  eVar11._0_4_ = (*byte_get)(puVar10,1);\n  switch((undefined4)(elf_vma)eVar11) {\n  case 0:\n    goto _L935;\n  default:\n    pcVar4 = (char *)dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(pcVar4,(undefined4)(elf_vma)eVar11);\n    return;\n  case 4:\n    in_stack_ffffffb4 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar7 = puVar7 + bytes_read;\n    local_44 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar10 = puVar7 + bytes_read;\n    break;\n  case 5:\n    if (pointer_size < 5) {\n      if (puVar7 + pointer_size < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x000201b3:\n        if (uVar5 < 8) goto LAB_000201b9;\n      }\n      else {\nLAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }\n      }\n      base_address = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,4);\n      if (finish <= puVar10 + 5) goto LAB_0002019d;\n      uVar6 = 4;\nLAB_000201b9:\n      base_address = (ulong)(*byte_get)(puVar7,uVar6);\n    }\n    print_dwarf_vma(in_stack_ffffffb4,base_address);\n    pcVar4 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar4);\n    puVar10 = puVar7 + pointer_size;\n    goto LAB_0001fe30;\n  case 6:\n    puVar9 = puVar7 + pointer_size;\n    uVar6 = uVar3;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size;\n        uVar6 = pointer_size;\n        if (pointer_size - 1 < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n      }\n      else if (puVar7 < finish) {\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }\n      else {\n        in_stack_ffffffb4 = 0;\n      }\n    }\n    else {\n      pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      message = (char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5);\n      error(message,pointer_size,8);\n      if (puVar10 + 9 < finish) {\n        uVar5 = 8;\n        uVar6 = 8;\nLAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);\n        if (pointer_size < 9) goto LAB_0001ff52;\nLAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      }\n      else {\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }\n      pcVar4 = (char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n    }\nLAB_0001ff52:\n    if (puVar9 + uVar6 < finish) {\nLAB_0001ff77:\n      local_44 = 0;\n      if (uVar6 - 1 < 8) {\n        local_44 = (*byte_get)(puVar9,uVar6);\n      }\n    }\n    else {\n      local_44 = 0;\n      if (puVar9 < finish) {\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }\n    }\n    puVar10 = puVar9 + pointer_size;\n    break;\n  case 7:\n    puVar9 = puVar7 + pointer_size;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x00020253:\n        if (uVar5 < 8) goto LAB_00020259;\n      }\n      else {\nLAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }\n      }\n      in_stack_ffffffb4 = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n      if (finish <= puVar10 + 9) goto LAB_0002023d;\n      uVar6 = 8;\nLAB_00020259:\n      in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);\n    }\n    local_44 = read_leb128(puVar9,&bytes_read,0,finish);\n    puVar10 = puVar9 + bytes_read;\n    local_44 = local_44 + in_stack_ffffffb4;\n  }\n  print_dwarf_vma(in_stack_ffffffb4,(int)in_stack_ffffffb4 + base_address);\n  print_dwarf_vma(in_stack_ffffffb4,base_address + (uint)local_44);\n  puVar2 = PTR_stdout_0006ffdc;\n  uVar6 = (uint)(in_stack_ffffffb4 >> 0x20);\n  if (uVar6 == local_44._4_4_ && (uint)in_stack_ffffffb4 == (uint)local_44) {\n    pFVar8 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar4 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar4,pFVar8);\n    pFVar8 = *(FILE **)puVar2;\n  }\n  else {\n    pFVar8 = *(FILE **)puVar1;\n    if (local_44._4_4_ < uVar6 ||\n        local_44._4_4_ - uVar6 < (uint)((uint)local_44 < (uint)in_stack_ffffffb4)) {\n      pcVar4 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar4,pFVar8);\n      pFVar8 = *(FILE **)puVar1;\n    }\n  }\n  putc(10,pFVar8);\n  goto LAB_0001fe30;\n}\n\n" comment (function_definition "void display_debug_rnglists_list\n               (uchar *start,uchar *finish,uint pointer_size,ulong offset,ulong base_address)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint uVar5;\n  char *message;\n  uint uVar6;\n  elf_vma eVar11;\n  uchar *puVar7;\n  FILE *pFVar8;\n  uchar *puVar9;\n  uchar *puVar10;\n  dwarf_vma in_stack_ffffffb4;\n  undefined8 local_44;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_stdout_0006ffdc;\n  uStack_14 = 0x1fdfe;\n  puVar10 = start;\n  uVar3 = 8;\n  if (pointer_size < 9) {\n    uVar3 = pointer_size;\n  }\nLAB_0001fe30:\n  puVar7 = puVar10 + 1;\n  if (finish < puVar7) {\n    pcVar4 = (char *)dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(pcVar4,offset);\n    return;\n  }\n  printf("    %8.8lx ",puVar10 + (offset - (int)start));\n  if ((puVar7 == finish) && (finish <= puVar10)) {\n_L935:\n    pcVar4 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar4);\n    return;\n  }\n  eVar11._0_4_ = (*byte_get)(puVar10,1);\n  switch((undefined4)(elf_vma)eVar11) {\n  case 0:\n    goto _L935;\n  default:\n    pcVar4 = (char *)dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(pcVar4,(undefined4)(elf_vma)eVar11);\n    return;\n  case 4:\n    in_stack_ffffffb4 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar7 = puVar7 + bytes_read;\n    local_44 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar10 = puVar7 + bytes_read;\n    break;\n  case 5:\n    if (pointer_size < 5) {\n      if (puVar7 + pointer_size < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x000201b3:\n        if (uVar5 < 8) goto LAB_000201b9;\n      }\n      else {\nLAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }\n      }\n      base_address = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,4);\n      if (finish <= puVar10 + 5) goto LAB_0002019d;\n      uVar6 = 4;\nLAB_000201b9:\n      base_address = (ulong)(*byte_get)(puVar7,uVar6);\n    }\n    print_dwarf_vma(in_stack_ffffffb4,base_address);\n    pcVar4 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar4);\n    puVar10 = puVar7 + pointer_size;\n    goto LAB_0001fe30;\n  case 6:\n    puVar9 = puVar7 + pointer_size;\n    uVar6 = uVar3;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size;\n        uVar6 = pointer_size;\n        if (pointer_size - 1 < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n      }\n      else if (puVar7 < finish) {\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }\n      else {\n        in_stack_ffffffb4 = 0;\n      }\n    }\n    else {\n      pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      message = (char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5);\n      error(message,pointer_size,8);\n      if (puVar10 + 9 < finish) {\n        uVar5 = 8;\n        uVar6 = 8;\nLAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);\n        if (pointer_size < 9) goto LAB_0001ff52;\nLAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      }\n      else {\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }\n      pcVar4 = (char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n    }\nLAB_0001ff52:\n    if (puVar9 + uVar6 < finish) {\nLAB_0001ff77:\n      local_44 = 0;\n      if (uVar6 - 1 < 8) {\n        local_44 = (*byte_get)(puVar9,uVar6);\n      }\n    }\n    else {\n      local_44 = 0;\n      if (puVar9 < finish) {\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }\n    }\n    puVar10 = puVar9 + pointer_size;\n    break;\n  case 7:\n    puVar9 = puVar7 + pointer_size;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x00020253:\n        if (uVar5 < 8) goto LAB_00020259;\n      }\n      else {\nLAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }\n      }\n      in_stack_ffffffb4 = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n      if (finish <= puVar10 + 9) goto LAB_0002023d;\n      uVar6 = 8;\nLAB_00020259:\n      in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);\n    }\n    local_44 = read_leb128(puVar9,&bytes_read,0,finish);\n    puVar10 = puVar9 + bytes_read;\n    local_44 = local_44 + in_stack_ffffffb4;\n  }\n  print_dwarf_vma(in_stack_ffffffb4,(int)in_stack_ffffffb4 + base_address);\n  print_dwarf_vma(in_stack_ffffffb4,base_address + (uint)local_44);\n  puVar2 = PTR_stdout_0006ffdc;\n  uVar6 = (uint)(in_stack_ffffffb4 >> 0x20);\n  if (uVar6 == local_44._4_4_ && (uint)in_stack_ffffffb4 == (uint)local_44) {\n    pFVar8 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar4 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar4,pFVar8);\n    pFVar8 = *(FILE **)puVar2;\n  }\n  else {\n    pFVar8 = *(FILE **)puVar1;\n    if (local_44._4_4_ < uVar6 ||\n        local_44._4_4_ - uVar6 < (uint)((uint)local_44 < (uint)in_stack_ffffffb4)) {\n      pcVar4 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar4,pFVar8);\n      pFVar8 = *(FILE **)puVar1;\n    }\n  }\n  putc(10,pFVar8);\n  goto LAB_0001fe30;\n}" primitive_type (function_declarator "display_debug_rnglists_list\n               (uchar *start,uchar *finish,uint pointer_size,ulong offset,ulong base_address)" identifier (parameter_list "(uchar *start,uchar *finish,uint pointer_size,ulong offset,ulong base_address)" ( (parameter_declaration "uchar *start" type_identifier (pointer_declarator "*start" * identifier)) , (parameter_declaration "uchar *finish" type_identifier (pointer_declarator "*finish" * identifier)) , (parameter_declaration "uint pointer_size" type_identifier identifier) , (parameter_declaration "ulong offset" type_identifier identifier) , (parameter_declaration "ulong base_address" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  uint uVar3;\n  char *pcVar4;\n  uint uVar5;\n  char *message;\n  uint uVar6;\n  elf_vma eVar11;\n  uchar *puVar7;\n  FILE *pFVar8;\n  uchar *puVar9;\n  uchar *puVar10;\n  dwarf_vma in_stack_ffffffb4;\n  undefined8 local_44;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  puVar1 = PTR_stdout_0006ffdc;\n  uStack_14 = 0x1fdfe;\n  puVar10 = start;\n  uVar3 = 8;\n  if (pointer_size < 9) {\n    uVar3 = pointer_size;\n  }\nLAB_0001fe30:\n  puVar7 = puVar10 + 1;\n  if (finish < puVar7) {\n    pcVar4 = (char *)dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(pcVar4,offset);\n    return;\n  }\n  printf("    %8.8lx ",puVar10 + (offset - (int)start));\n  if ((puVar7 == finish) && (finish <= puVar10)) {\n_L935:\n    pcVar4 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar4);\n    return;\n  }\n  eVar11._0_4_ = (*byte_get)(puVar10,1);\n  switch((undefined4)(elf_vma)eVar11) {\n  case 0:\n    goto _L935;\n  default:\n    pcVar4 = (char *)dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(pcVar4,(undefined4)(elf_vma)eVar11);\n    return;\n  case 4:\n    in_stack_ffffffb4 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar7 = puVar7 + bytes_read;\n    local_44 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar10 = puVar7 + bytes_read;\n    break;\n  case 5:\n    if (pointer_size < 5) {\n      if (puVar7 + pointer_size < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x000201b3:\n        if (uVar5 < 8) goto LAB_000201b9;\n      }\n      else {\nLAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }\n      }\n      base_address = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,4);\n      if (finish <= puVar10 + 5) goto LAB_0002019d;\n      uVar6 = 4;\nLAB_000201b9:\n      base_address = (ulong)(*byte_get)(puVar7,uVar6);\n    }\n    print_dwarf_vma(in_stack_ffffffb4,base_address);\n    pcVar4 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar4);\n    puVar10 = puVar7 + pointer_size;\n    goto LAB_0001fe30;\n  case 6:\n    puVar9 = puVar7 + pointer_size;\n    uVar6 = uVar3;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size;\n        uVar6 = pointer_size;\n        if (pointer_size - 1 < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n      }\n      else if (puVar7 < finish) {\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }\n      else {\n        in_stack_ffffffb4 = 0;\n      }\n    }\n    else {\n      pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      message = (char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5);\n      error(message,pointer_size,8);\n      if (puVar10 + 9 < finish) {\n        uVar5 = 8;\n        uVar6 = 8;\nLAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);\n        if (pointer_size < 9) goto LAB_0001ff52;\nLAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      }\n      else {\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }\n      pcVar4 = (char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n    }\nLAB_0001ff52:\n    if (puVar9 + uVar6 < finish) {\nLAB_0001ff77:\n      local_44 = 0;\n      if (uVar6 - 1 < 8) {\n        local_44 = (*byte_get)(puVar9,uVar6);\n      }\n    }\n    else {\n      local_44 = 0;\n      if (puVar9 < finish) {\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }\n    }\n    puVar10 = puVar9 + pointer_size;\n    break;\n  case 7:\n    puVar9 = puVar7 + pointer_size;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x00020253:\n        if (uVar5 < 8) goto LAB_00020259;\n      }\n      else {\nLAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }\n      }\n      in_stack_ffffffb4 = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n      if (finish <= puVar10 + 9) goto LAB_0002023d;\n      uVar6 = 8;\nLAB_00020259:\n      in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);\n    }\n    local_44 = read_leb128(puVar9,&bytes_read,0,finish);\n    puVar10 = puVar9 + bytes_read;\n    local_44 = local_44 + in_stack_ffffffb4;\n  }\n  print_dwarf_vma(in_stack_ffffffb4,(int)in_stack_ffffffb4 + base_address);\n  print_dwarf_vma(in_stack_ffffffb4,base_address + (uint)local_44);\n  puVar2 = PTR_stdout_0006ffdc;\n  uVar6 = (uint)(in_stack_ffffffb4 >> 0x20);\n  if (uVar6 == local_44._4_4_ && (uint)in_stack_ffffffb4 == (uint)local_44) {\n    pFVar8 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar4 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar4,pFVar8);\n    pFVar8 = *(FILE **)puVar2;\n  }\n  else {\n    pFVar8 = *(FILE **)puVar1;\n    if (local_44._4_4_ < uVar6 ||\n        local_44._4_4_ - uVar6 < (uint)((uint)local_44 < (uint)in_stack_ffffffb4)) {\n      pcVar4 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar4,pFVar8);\n      pFVar8 = *(FILE **)puVar1;\n    }\n  }\n  putc(10,pFVar8);\n  goto LAB_0001fe30;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "char *message;" primitive_type (pointer_declarator "*message" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "elf_vma eVar11;" type_identifier identifier ;) (declaration "uchar *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "FILE *pFVar8;" type_identifier (pointer_declarator "*pFVar8" * identifier) ;) (declaration "uchar *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uchar *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "dwarf_vma in_stack_ffffffb4;" type_identifier identifier ;) (declaration "undefined8 local_44;" type_identifier identifier ;) (declaration "uint bytes_read;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_stdout_0006ffdc;" (assignment_expression "puVar1 = PTR_stdout_0006ffdc" identifier = identifier) ;) (expression_statement "uStack_14 = 0x1fdfe;" (assignment_expression "uStack_14 = 0x1fdfe" identifier = number_literal) ;) (expression_statement "puVar10 = start;" (assignment_expression "puVar10 = start" identifier = identifier) ;) (expression_statement "uVar3 = 8;" (assignment_expression "uVar3 = 8" identifier = number_literal) ;) (if_statement "if (pointer_size < 9) {\n    uVar3 = pointer_size;\n  }" if (parenthesized_expression "(pointer_size < 9)" ( (binary_expression "pointer_size < 9" identifier < number_literal) )) (compound_statement "{\n    uVar3 = pointer_size;\n  }" { (expression_statement "uVar3 = pointer_size;" (assignment_expression "uVar3 = pointer_size" identifier = identifier) ;) })) (labeled_statement "LAB_0001fe30:\n  puVar7 = puVar10 + 1;" statement_identifier : (expression_statement "puVar7 = puVar10 + 1;" (assignment_expression "puVar7 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;)) (if_statement "if (finish < puVar7) {\n    pcVar4 = (char *)dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(pcVar4,offset);\n    return;\n  }" if (parenthesized_expression "(finish < puVar7)" ( (binary_expression "finish < puVar7" identifier < identifier) )) (compound_statement "{\n    pcVar4 = (char *)dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(pcVar4,offset);\n    return;\n  }" { (expression_statement "pcVar4 = (char *)dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" identifier (argument_list "(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" ( number_literal , (string_literal ""Range list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar4,offset);" (call_expression "warn(pcVar4,offset)" identifier (argument_list "(pcVar4,offset)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "printf("    %8.8lx ",puVar10 + (offset - (int)start));" (call_expression "printf("    %8.8lx ",puVar10 + (offset - (int)start))" identifier (argument_list "("    %8.8lx ",puVar10 + (offset - (int)start))" ( (string_literal ""    %8.8lx "" " string_content ") , (binary_expression "puVar10 + (offset - (int)start)" identifier + (parenthesized_expression "(offset - (int)start)" ( (binary_expression "offset - (int)start" identifier - (cast_expression "(int)start" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (if_statement "if ((puVar7 == finish) && (finish <= puVar10)) {\n_L935:\n    pcVar4 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar4);\n    return;\n  }" if (parenthesized_expression "((puVar7 == finish) && (finish <= puVar10))" ( (binary_expression "(puVar7 == finish) && (finish <= puVar10)" (parenthesized_expression "(puVar7 == finish)" ( (binary_expression "puVar7 == finish" identifier == identifier) )) && (parenthesized_expression "(finish <= puVar10)" ( (binary_expression "finish <= puVar10" identifier <= identifier) ))) )) (compound_statement "{\n_L935:\n    pcVar4 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar4);\n    return;\n  }" { (labeled_statement "_L935:\n    pcVar4 = (char *)dcgettext(0,"<End of list>\n",5);" statement_identifier : (expression_statement "pcVar4 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"<End of list>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<End of list>\n",5)" identifier (argument_list "(0,"<End of list>\n",5)" ( number_literal , (string_literal ""<End of list>\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "eVar11._0_4_ = (*byte_get)(puVar10,1);" (assignment_expression "eVar11._0_4_ = (*byte_get)(puVar10,1)" (field_expression "eVar11._0_4_" identifier . field_identifier) = (call_expression "(*byte_get)(puVar10,1)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar10,1)" ( identifier , number_literal )))) ;) (switch_statement "switch((undefined4)(elf_vma)eVar11) {\n  case 0:\n    goto _L935;\n  default:\n    pcVar4 = (char *)dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(pcVar4,(undefined4)(elf_vma)eVar11);\n    return;\n  case 4:\n    in_stack_ffffffb4 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar7 = puVar7 + bytes_read;\n    local_44 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar10 = puVar7 + bytes_read;\n    break;\n  case 5:\n    if (pointer_size < 5) {\n      if (puVar7 + pointer_size < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x000201b3:\n        if (uVar5 < 8) goto LAB_000201b9;\n      }\n      else {\nLAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }\n      }\n      base_address = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,4);\n      if (finish <= puVar10 + 5) goto LAB_0002019d;\n      uVar6 = 4;\nLAB_000201b9:\n      base_address = (ulong)(*byte_get)(puVar7,uVar6);\n    }\n    print_dwarf_vma(in_stack_ffffffb4,base_address);\n    pcVar4 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar4);\n    puVar10 = puVar7 + pointer_size;\n    goto LAB_0001fe30;\n  case 6:\n    puVar9 = puVar7 + pointer_size;\n    uVar6 = uVar3;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size;\n        uVar6 = pointer_size;\n        if (pointer_size - 1 < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n      }\n      else if (puVar7 < finish) {\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }\n      else {\n        in_stack_ffffffb4 = 0;\n      }\n    }\n    else {\n      pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      message = (char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5);\n      error(message,pointer_size,8);\n      if (puVar10 + 9 < finish) {\n        uVar5 = 8;\n        uVar6 = 8;\nLAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);\n        if (pointer_size < 9) goto LAB_0001ff52;\nLAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      }\n      else {\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }\n      pcVar4 = (char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n    }\nLAB_0001ff52:\n    if (puVar9 + uVar6 < finish) {\nLAB_0001ff77:\n      local_44 = 0;\n      if (uVar6 - 1 < 8) {\n        local_44 = (*byte_get)(puVar9,uVar6);\n      }\n    }\n    else {\n      local_44 = 0;\n      if (puVar9 < finish) {\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }\n    }\n    puVar10 = puVar9 + pointer_size;\n    break;\n  case 7:\n    puVar9 = puVar7 + pointer_size;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x00020253:\n        if (uVar5 < 8) goto LAB_00020259;\n      }\n      else {\nLAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }\n      }\n      in_stack_ffffffb4 = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n      if (finish <= puVar10 + 9) goto LAB_0002023d;\n      uVar6 = 8;\nLAB_00020259:\n      in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);\n    }\n    local_44 = read_leb128(puVar9,&bytes_read,0,finish);\n    puVar10 = puVar9 + bytes_read;\n    local_44 = local_44 + in_stack_ffffffb4;\n  }" switch (parenthesized_expression "((undefined4)(elf_vma)eVar11)" ( (cast_expression "(undefined4)(elf_vma)eVar11" ( (type_descriptor "undefined4" type_identifier) ) (cast_expression "(elf_vma)eVar11" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) )) (compound_statement "{\n  case 0:\n    goto _L935;\n  default:\n    pcVar4 = (char *)dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(pcVar4,(undefined4)(elf_vma)eVar11);\n    return;\n  case 4:\n    in_stack_ffffffb4 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar7 = puVar7 + bytes_read;\n    local_44 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar10 = puVar7 + bytes_read;\n    break;\n  case 5:\n    if (pointer_size < 5) {\n      if (puVar7 + pointer_size < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x000201b3:\n        if (uVar5 < 8) goto LAB_000201b9;\n      }\n      else {\nLAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }\n      }\n      base_address = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,4);\n      if (finish <= puVar10 + 5) goto LAB_0002019d;\n      uVar6 = 4;\nLAB_000201b9:\n      base_address = (ulong)(*byte_get)(puVar7,uVar6);\n    }\n    print_dwarf_vma(in_stack_ffffffb4,base_address);\n    pcVar4 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar4);\n    puVar10 = puVar7 + pointer_size;\n    goto LAB_0001fe30;\n  case 6:\n    puVar9 = puVar7 + pointer_size;\n    uVar6 = uVar3;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size;\n        uVar6 = pointer_size;\n        if (pointer_size - 1 < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n      }\n      else if (puVar7 < finish) {\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }\n      else {\n        in_stack_ffffffb4 = 0;\n      }\n    }\n    else {\n      pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      message = (char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5);\n      error(message,pointer_size,8);\n      if (puVar10 + 9 < finish) {\n        uVar5 = 8;\n        uVar6 = 8;\nLAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);\n        if (pointer_size < 9) goto LAB_0001ff52;\nLAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      }\n      else {\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }\n      pcVar4 = (char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n    }\nLAB_0001ff52:\n    if (puVar9 + uVar6 < finish) {\nLAB_0001ff77:\n      local_44 = 0;\n      if (uVar6 - 1 < 8) {\n        local_44 = (*byte_get)(puVar9,uVar6);\n      }\n    }\n    else {\n      local_44 = 0;\n      if (puVar9 < finish) {\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }\n    }\n    puVar10 = puVar9 + pointer_size;\n    break;\n  case 7:\n    puVar9 = puVar7 + pointer_size;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x00020253:\n        if (uVar5 < 8) goto LAB_00020259;\n      }\n      else {\nLAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }\n      }\n      in_stack_ffffffb4 = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n      if (finish <= puVar10 + 9) goto LAB_0002023d;\n      uVar6 = 8;\nLAB_00020259:\n      in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);\n    }\n    local_44 = read_leb128(puVar9,&bytes_read,0,finish);\n    puVar10 = puVar9 + bytes_read;\n    local_44 = local_44 + in_stack_ffffffb4;\n  }" { (case_statement "case 0:\n    goto _L935;" case number_literal : (goto_statement "goto _L935;" goto statement_identifier ;)) (case_statement "default:\n    pcVar4 = (char *)dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(pcVar4,(undefined4)(elf_vma)eVar11);\n    return;" default : (expression_statement "pcVar4 = (char *)dcgettext(0,"Invalid range list entry type %d\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"Invalid range list entry type %d\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Invalid range list entry type %d\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Invalid range list entry type %d\n",5)" identifier (argument_list "(0,"Invalid range list entry type %d\n",5)" ( number_literal , (string_literal ""Invalid range list entry type %d\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "error(pcVar4,(undefined4)(elf_vma)eVar11);" (call_expression "error(pcVar4,(undefined4)(elf_vma)eVar11)" identifier (argument_list "(pcVar4,(undefined4)(elf_vma)eVar11)" ( identifier , (cast_expression "(undefined4)(elf_vma)eVar11" ( (type_descriptor "undefined4" type_identifier) ) (cast_expression "(elf_vma)eVar11" ( (type_descriptor "elf_vma" type_identifier) ) identifier)) ))) ;) (return_statement "return;" return ;)) (case_statement "case 4:\n    in_stack_ffffffb4 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar7 = puVar7 + bytes_read;\n    local_44 = read_leb128(puVar7,&bytes_read,0,finish);\n    puVar10 = puVar7 + bytes_read;\n    break;" case number_literal : (expression_statement "in_stack_ffffffb4 = read_leb128(puVar7,&bytes_read,0,finish);" (assignment_expression "in_stack_ffffffb4 = read_leb128(puVar7,&bytes_read,0,finish)" identifier = (call_expression "read_leb128(puVar7,&bytes_read,0,finish)" identifier (argument_list "(puVar7,&bytes_read,0,finish)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar7 = puVar7 + bytes_read;" (assignment_expression "puVar7 = puVar7 + bytes_read" identifier = (binary_expression "puVar7 + bytes_read" identifier + identifier)) ;) (expression_statement "local_44 = read_leb128(puVar7,&bytes_read,0,finish);" (assignment_expression "local_44 = read_leb128(puVar7,&bytes_read,0,finish)" identifier = (call_expression "read_leb128(puVar7,&bytes_read,0,finish)" identifier (argument_list "(puVar7,&bytes_read,0,finish)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar10 = puVar7 + bytes_read;" (assignment_expression "puVar10 = puVar7 + bytes_read" identifier = (binary_expression "puVar7 + bytes_read" identifier + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n    if (pointer_size < 5) {\n      if (puVar7 + pointer_size < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x000201b3:\n        if (uVar5 < 8) goto LAB_000201b9;\n      }\n      else {\nLAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }\n      }\n      base_address = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,4);\n      if (finish <= puVar10 + 5) goto LAB_0002019d;\n      uVar6 = 4;\nLAB_000201b9:\n      base_address = (ulong)(*byte_get)(puVar7,uVar6);\n    }\n    print_dwarf_vma(in_stack_ffffffb4,base_address);\n    pcVar4 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar4);\n    puVar10 = puVar7 + pointer_size;\n    goto LAB_0001fe30;" case number_literal : (if_statement "if (pointer_size < 5) {\n      if (puVar7 + pointer_size < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x000201b3:\n        if (uVar5 < 8) goto LAB_000201b9;\n      }\n      else {\nLAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }\n      }\n      base_address = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,4);\n      if (finish <= puVar10 + 5) goto LAB_0002019d;\n      uVar6 = 4;\nLAB_000201b9:\n      base_address = (ulong)(*byte_get)(puVar7,uVar6);\n    }" if (parenthesized_expression "(pointer_size < 5)" ( (binary_expression "pointer_size < 5" identifier < number_literal) )) (compound_statement "{\n      if (puVar7 + pointer_size < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x000201b3:\n        if (uVar5 < 8) goto LAB_000201b9;\n      }\n      else {\nLAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }\n      }\n      base_address = 0;\n    }" { (if_statement "if (puVar7 + pointer_size < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x000201b3:\n        if (uVar5 < 8) goto LAB_000201b9;\n      }\n      else {\nLAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }\n      }" if (parenthesized_expression "(puVar7 + pointer_size < finish)" ( (binary_expression "puVar7 + pointer_size < finish" (binary_expression "puVar7 + pointer_size" identifier + identifier) < identifier) )) (compound_statement "{\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x000201b3:\n        if (uVar5 < 8) goto LAB_000201b9;\n      }" { (expression_statement "uVar5 = pointer_size - 1;" (assignment_expression "uVar5 = pointer_size - 1" identifier = (binary_expression "pointer_size - 1" identifier - number_literal)) ;) (expression_statement "uVar6 = pointer_size;" (assignment_expression "uVar6 = pointer_size" identifier = identifier) ;) (labeled_statement "joined_r0x000201b3:\n        if (uVar5 < 8) goto LAB_000201b9;" statement_identifier : (if_statement "if (uVar5 < 8) goto LAB_000201b9;" if (parenthesized_expression "(uVar5 < 8)" ( (binary_expression "uVar5 < 8" identifier < number_literal) )) (goto_statement "goto LAB_000201b9;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }\n      }" else (compound_statement "{\nLAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }\n      }" { (labeled_statement "LAB_0002019d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }" statement_identifier : (if_statement "if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }" if (parenthesized_expression "(puVar7 < finish)" ( (binary_expression "puVar7 < finish" identifier < identifier) )) (compound_statement "{\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x000201b3;\n        }" { (expression_statement "uVar5 = ((int)finish - (int)puVar7) - 1;" (assignment_expression "uVar5 = ((int)finish - (int)puVar7) - 1" identifier = (binary_expression "((int)finish - (int)puVar7) - 1" (parenthesized_expression "((int)finish - (int)puVar7)" ( (binary_expression "(int)finish - (int)puVar7" (cast_expression "(int)finish" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) ;) (expression_statement "uVar6 = (int)finish - (int)puVar7;" (assignment_expression "uVar6 = (int)finish - (int)puVar7" identifier = (binary_expression "(int)finish - (int)puVar7" (cast_expression "(int)finish" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto joined_r0x000201b3;" goto statement_identifier ;) }))) }))) (expression_statement "base_address = 0;" (assignment_expression "base_address = 0" identifier = number_literal) ;) }) (else_clause "else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,4);\n      if (finish <= puVar10 + 5) goto LAB_0002019d;\n      uVar6 = 4;\nLAB_000201b9:\n      base_address = (ulong)(*byte_get)(puVar7,uVar6);\n    }" else (compound_statement "{\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,4);\n      if (finish <= puVar10 + 5) goto LAB_0002019d;\n      uVar6 = 4;\nLAB_000201b9:\n      base_address = (ulong)(*byte_get)(puVar7,uVar6);\n    }" { (expression_statement "pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);" (assignment_expression "pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" identifier = (cast_expression "(char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" identifier (argument_list "(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" ( number_literal , (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ") , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal ))))) ;) (expression_statement "error(pcVar4,pointer_size,4);" (call_expression "error(pcVar4,pointer_size,4)" identifier (argument_list "(pcVar4,pointer_size,4)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (finish <= puVar10 + 5) goto LAB_0002019d;" if (parenthesized_expression "(finish <= puVar10 + 5)" ( (binary_expression "finish <= puVar10 + 5" identifier <= (binary_expression "puVar10 + 5" identifier + number_literal)) )) (goto_statement "goto LAB_0002019d;" goto statement_identifier ;)) (expression_statement "uVar6 = 4;" (assignment_expression "uVar6 = 4" identifier = number_literal) ;) (labeled_statement "LAB_000201b9:\n      base_address = (ulong)(*byte_get)(puVar7,uVar6);" statement_identifier : (expression_statement "base_address = (ulong)(*byte_get)(puVar7,uVar6);" (assignment_expression "base_address = (ulong)(*byte_get)(puVar7,uVar6)" identifier = (call_expression "(ulong)(*byte_get)(puVar7,uVar6)" (call_expression "(ulong)(*byte_get)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) ))) (argument_list "(puVar7,uVar6)" ( identifier , identifier )))) ;)) }))) (expression_statement "print_dwarf_vma(in_stack_ffffffb4,base_address);" (call_expression "print_dwarf_vma(in_stack_ffffffb4,base_address)" identifier (argument_list "(in_stack_ffffffb4,base_address)" ( identifier , identifier ))) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"(base address)\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"(base address)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"(base address)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(base address)\n",5)" identifier (argument_list "(0,"(base address)\n",5)" ( number_literal , (string_literal ""(base address)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "puVar10 = puVar7 + pointer_size;" (assignment_expression "puVar10 = puVar7 + pointer_size" identifier = (binary_expression "puVar7 + pointer_size" identifier + identifier)) ;) (goto_statement "goto LAB_0001fe30;" goto statement_identifier ;)) (case_statement "case 6:\n    puVar9 = puVar7 + pointer_size;\n    uVar6 = uVar3;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size;\n        uVar6 = pointer_size;\n        if (pointer_size - 1 < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n      }\n      else if (puVar7 < finish) {\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }\n      else {\n        in_stack_ffffffb4 = 0;\n      }\n    }\n    else {\n      pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      message = (char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5);\n      error(message,pointer_size,8);\n      if (puVar10 + 9 < finish) {\n        uVar5 = 8;\n        uVar6 = 8;\nLAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);\n        if (pointer_size < 9) goto LAB_0001ff52;\nLAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      }\n      else {\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }\n      pcVar4 = (char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n    }\nLAB_0001ff52:\n    if (puVar9 + uVar6 < finish) {\nLAB_0001ff77:\n      local_44 = 0;\n      if (uVar6 - 1 < 8) {\n        local_44 = (*byte_get)(puVar9,uVar6);\n      }\n    }\n    else {\n      local_44 = 0;\n      if (puVar9 < finish) {\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }\n    }\n    puVar10 = puVar9 + pointer_size;\n    break;" case number_literal : (expression_statement "puVar9 = puVar7 + pointer_size;" (assignment_expression "puVar9 = puVar7 + pointer_size" identifier = (binary_expression "puVar7 + pointer_size" identifier + identifier)) ;) (expression_statement "uVar6 = uVar3;" (assignment_expression "uVar6 = uVar3" identifier = identifier) ;) (if_statement "if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size;\n        uVar6 = pointer_size;\n        if (pointer_size - 1 < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n      }\n      else if (puVar7 < finish) {\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }\n      else {\n        in_stack_ffffffb4 = 0;\n      }\n    }\n    else {\n      pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      message = (char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5);\n      error(message,pointer_size,8);\n      if (puVar10 + 9 < finish) {\n        uVar5 = 8;\n        uVar6 = 8;\nLAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);\n        if (pointer_size < 9) goto LAB_0001ff52;\nLAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      }\n      else {\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }\n      pcVar4 = (char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n    }" if (parenthesized_expression "(pointer_size < 9)" ( (binary_expression "pointer_size < 9" identifier < number_literal) )) (compound_statement "{\n      if (puVar9 < finish) {\n        uVar5 = pointer_size;\n        uVar6 = pointer_size;\n        if (pointer_size - 1 < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n      }\n      else if (puVar7 < finish) {\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }\n      else {\n        in_stack_ffffffb4 = 0;\n      }\n    }" { (if_statement "if (puVar9 < finish) {\n        uVar5 = pointer_size;\n        uVar6 = pointer_size;\n        if (pointer_size - 1 < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n      }\n      else if (puVar7 < finish) {\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }\n      else {\n        in_stack_ffffffb4 = 0;\n      }" if (parenthesized_expression "(puVar9 < finish)" ( (binary_expression "puVar9 < finish" identifier < identifier) )) (compound_statement "{\n        uVar5 = pointer_size;\n        uVar6 = pointer_size;\n        if (pointer_size - 1 < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n      }" { (expression_statement "uVar5 = pointer_size;" (assignment_expression "uVar5 = pointer_size" identifier = identifier) ;) (expression_statement "uVar6 = pointer_size;" (assignment_expression "uVar6 = pointer_size" identifier = identifier) ;) (if_statement "if (pointer_size - 1 < 8) goto LAB_0001ff31;" if (parenthesized_expression "(pointer_size - 1 < 8)" ( (binary_expression "pointer_size - 1 < 8" (binary_expression "pointer_size - 1" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_0001ff31;" goto statement_identifier ;)) (expression_statement "in_stack_ffffffb4 = 0;" (assignment_expression "in_stack_ffffffb4 = 0" identifier = number_literal) ;) }) (else_clause "else if (puVar7 < finish) {\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }\n      else {\n        in_stack_ffffffb4 = 0;\n      }" else (if_statement "if (puVar7 < finish) {\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }\n      else {\n        in_stack_ffffffb4 = 0;\n      }" if (parenthesized_expression "(puVar7 < finish)" ( (binary_expression "puVar7 < finish" identifier < identifier) )) (compound_statement "{\nLAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;\n        if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;\n        in_stack_ffffffb4 = 0;\n        if (8 < pointer_size) goto LAB_000202e0;\n      }" { (labeled_statement "LAB_000202aa:\n        uVar5 = (int)finish - (int)puVar7;" statement_identifier : (expression_statement "uVar5 = (int)finish - (int)puVar7;" (assignment_expression "uVar5 = (int)finish - (int)puVar7" identifier = (binary_expression "(int)finish - (int)puVar7" (cast_expression "(int)finish" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (if_statement "if (((int)finish - (int)puVar7) - 1U < 8) goto LAB_0001ff31;" if (parenthesized_expression "(((int)finish - (int)puVar7) - 1U < 8)" ( (binary_expression "((int)finish - (int)puVar7) - 1U < 8" (binary_expression "((int)finish - (int)puVar7) - 1U" (parenthesized_expression "((int)finish - (int)puVar7)" ( (binary_expression "(int)finish - (int)puVar7" (cast_expression "(int)finish" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal) < number_literal) )) (goto_statement "goto LAB_0001ff31;" goto statement_identifier ;)) (expression_statement "in_stack_ffffffb4 = 0;" (assignment_expression "in_stack_ffffffb4 = 0" identifier = number_literal) ;) (if_statement "if (8 < pointer_size) goto LAB_000202e0;" if (parenthesized_expression "(8 < pointer_size)" ( (binary_expression "8 < pointer_size" number_literal < identifier) )) (goto_statement "goto LAB_000202e0;" goto statement_identifier ;)) }) (else_clause "else {\n        in_stack_ffffffb4 = 0;\n      }" else (compound_statement "{\n        in_stack_ffffffb4 = 0;\n      }" { (expression_statement "in_stack_ffffffb4 = 0;" (assignment_expression "in_stack_ffffffb4 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n      pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      message = (char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5);\n      error(message,pointer_size,8);\n      if (puVar10 + 9 < finish) {\n        uVar5 = 8;\n        uVar6 = 8;\nLAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);\n        if (pointer_size < 9) goto LAB_0001ff52;\nLAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      }\n      else {\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }\n      pcVar4 = (char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n    }" else (compound_statement "{\n      pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      message = (char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5);\n      error(message,pointer_size,8);\n      if (puVar10 + 9 < finish) {\n        uVar5 = 8;\n        uVar6 = 8;\nLAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);\n        if (pointer_size < 9) goto LAB_0001ff52;\nLAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      }\n      else {\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }\n      pcVar4 = (char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n    }" { (expression_statement "pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";" (assignment_expression "pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable"" identifier = (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ")) ;) (expression_statement "message = (char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5);" (assignment_expression "message = (char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5)" identifier = (cast_expression "(char *)dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5)" identifier (argument_list "(0,\n                                   "internal error: attempt to read %d byte of data in to %d sized variable"\n                                   ,\n                                   "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                   ,pointer_size,5)" ( number_literal , (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ") , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal ))))) ;) (expression_statement "error(message,pointer_size,8);" (call_expression "error(message,pointer_size,8)" identifier (argument_list "(message,pointer_size,8)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (puVar10 + 9 < finish) {\n        uVar5 = 8;\n        uVar6 = 8;\nLAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);\n        if (pointer_size < 9) goto LAB_0001ff52;\nLAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      }\n      else {\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }" if (parenthesized_expression "(puVar10 + 9 < finish)" ( (binary_expression "puVar10 + 9 < finish" (binary_expression "puVar10 + 9" identifier + number_literal) < identifier) )) (compound_statement "{\n        uVar5 = 8;\n        uVar6 = 8;\nLAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);\n        if (pointer_size < 9) goto LAB_0001ff52;\nLAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";\n      }" { (expression_statement "uVar5 = 8;" (assignment_expression "uVar5 = 8" identifier = number_literal) ;) (expression_statement "uVar6 = 8;" (assignment_expression "uVar6 = 8" identifier = number_literal) ;) (labeled_statement "LAB_0001ff31:\n        in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);" statement_identifier : (expression_statement "in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5);" (assignment_expression "in_stack_ffffffb4 = (*byte_get)(puVar7,uVar5)" identifier = (call_expression "(*byte_get)(puVar7,uVar5)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar7,uVar5)" ( identifier , identifier )))) ;)) (if_statement "if (pointer_size < 9) goto LAB_0001ff52;" if (parenthesized_expression "(pointer_size < 9)" ( (binary_expression "pointer_size < 9" identifier < number_literal) )) (goto_statement "goto LAB_0001ff52;" goto statement_identifier ;)) (labeled_statement "LAB_000202e0:\n        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";" statement_identifier : (expression_statement "pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";" (assignment_expression "pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable"" identifier = (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ")) ;)) }) (else_clause "else {\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }" else (compound_statement "{\n        if (puVar7 < finish) goto LAB_000202aa;\n        in_stack_ffffffb4 = 0;\n      }" { (if_statement "if (puVar7 < finish) goto LAB_000202aa;" if (parenthesized_expression "(puVar7 < finish)" ( (binary_expression "puVar7 < finish" identifier < identifier) )) (goto_statement "goto LAB_000202aa;" goto statement_identifier ;)) (expression_statement "in_stack_ffffffb4 = 0;" (assignment_expression "in_stack_ffffffb4 = 0" identifier = number_literal) ;) }))) (expression_statement "pcVar4 = (char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);" (assignment_expression "pcVar4 = (char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" identifier = (cast_expression "(char *)dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" identifier (argument_list "(0,pcVar4,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" ( number_literal , identifier , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal ))))) ;) (expression_statement "error(pcVar4,pointer_size,8);" (call_expression "error(pcVar4,pointer_size,8)" identifier (argument_list "(pcVar4,pointer_size,8)" ( identifier , identifier , number_literal ))) ;) }))) (labeled_statement "LAB_0001ff52:\n    if (puVar9 + uVar6 < finish) {\nLAB_0001ff77:\n      local_44 = 0;\n      if (uVar6 - 1 < 8) {\n        local_44 = (*byte_get)(puVar9,uVar6);\n      }\n    }\n    else {\n      local_44 = 0;\n      if (puVar9 < finish) {\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }\n    }" statement_identifier : (if_statement "if (puVar9 + uVar6 < finish) {\nLAB_0001ff77:\n      local_44 = 0;\n      if (uVar6 - 1 < 8) {\n        local_44 = (*byte_get)(puVar9,uVar6);\n      }\n    }\n    else {\n      local_44 = 0;\n      if (puVar9 < finish) {\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }\n    }" if (parenthesized_expression "(puVar9 + uVar6 < finish)" ( (binary_expression "puVar9 + uVar6 < finish" (binary_expression "puVar9 + uVar6" identifier + identifier) < identifier) )) (compound_statement "{\nLAB_0001ff77:\n      local_44 = 0;\n      if (uVar6 - 1 < 8) {\n        local_44 = (*byte_get)(puVar9,uVar6);\n      }\n    }" { (labeled_statement "LAB_0001ff77:\n      local_44 = 0;" statement_identifier : (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;)) (if_statement "if (uVar6 - 1 < 8) {\n        local_44 = (*byte_get)(puVar9,uVar6);\n      }" if (parenthesized_expression "(uVar6 - 1 < 8)" ( (binary_expression "uVar6 - 1 < 8" (binary_expression "uVar6 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n        local_44 = (*byte_get)(puVar9,uVar6);\n      }" { (expression_statement "local_44 = (*byte_get)(puVar9,uVar6);" (assignment_expression "local_44 = (*byte_get)(puVar9,uVar6)" identifier = (call_expression "(*byte_get)(puVar9,uVar6)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar9,uVar6)" ( identifier , identifier )))) ;) })) }) (else_clause "else {\n      local_44 = 0;\n      if (puVar9 < finish) {\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }\n    }" else (compound_statement "{\n      local_44 = 0;\n      if (puVar9 < finish) {\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }\n    }" { (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (if_statement "if (puVar9 < finish) {\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }" if (parenthesized_expression "(puVar9 < finish)" ( (binary_expression "puVar9 < finish" identifier < identifier) )) (compound_statement "{\n        uVar6 = (int)finish - (int)puVar9;\n        goto LAB_0001ff77;\n      }" { (expression_statement "uVar6 = (int)finish - (int)puVar9;" (assignment_expression "uVar6 = (int)finish - (int)puVar9" identifier = (binary_expression "(int)finish - (int)puVar9" (cast_expression "(int)finish" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_0001ff77;" goto statement_identifier ;) })) })))) (expression_statement "puVar10 = puVar9 + pointer_size;" (assignment_expression "puVar10 = puVar9 + pointer_size" identifier = (binary_expression "puVar9 + pointer_size" identifier + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n    puVar9 = puVar7 + pointer_size;\n    if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x00020253:\n        if (uVar5 < 8) goto LAB_00020259;\n      }\n      else {\nLAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }\n      }\n      in_stack_ffffffb4 = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n      if (finish <= puVar10 + 9) goto LAB_0002023d;\n      uVar6 = 8;\nLAB_00020259:\n      in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);\n    }\n    local_44 = read_leb128(puVar9,&bytes_read,0,finish);\n    puVar10 = puVar9 + bytes_read;\n    local_44 = local_44 + in_stack_ffffffb4;" case number_literal : (expression_statement "puVar9 = puVar7 + pointer_size;" (assignment_expression "puVar9 = puVar7 + pointer_size" identifier = (binary_expression "puVar7 + pointer_size" identifier + identifier)) ;) (if_statement "if (pointer_size < 9) {\n      if (puVar9 < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x00020253:\n        if (uVar5 < 8) goto LAB_00020259;\n      }\n      else {\nLAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }\n      }\n      in_stack_ffffffb4 = 0;\n    }\n    else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n      if (finish <= puVar10 + 9) goto LAB_0002023d;\n      uVar6 = 8;\nLAB_00020259:\n      in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);\n    }" if (parenthesized_expression "(pointer_size < 9)" ( (binary_expression "pointer_size < 9" identifier < number_literal) )) (compound_statement "{\n      if (puVar9 < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x00020253:\n        if (uVar5 < 8) goto LAB_00020259;\n      }\n      else {\nLAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }\n      }\n      in_stack_ffffffb4 = 0;\n    }" { (if_statement "if (puVar9 < finish) {\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x00020253:\n        if (uVar5 < 8) goto LAB_00020259;\n      }\n      else {\nLAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }\n      }" if (parenthesized_expression "(puVar9 < finish)" ( (binary_expression "puVar9 < finish" identifier < identifier) )) (compound_statement "{\n        uVar5 = pointer_size - 1;\n        uVar6 = pointer_size;\njoined_r0x00020253:\n        if (uVar5 < 8) goto LAB_00020259;\n      }" { (expression_statement "uVar5 = pointer_size - 1;" (assignment_expression "uVar5 = pointer_size - 1" identifier = (binary_expression "pointer_size - 1" identifier - number_literal)) ;) (expression_statement "uVar6 = pointer_size;" (assignment_expression "uVar6 = pointer_size" identifier = identifier) ;) (labeled_statement "joined_r0x00020253:\n        if (uVar5 < 8) goto LAB_00020259;" statement_identifier : (if_statement "if (uVar5 < 8) goto LAB_00020259;" if (parenthesized_expression "(uVar5 < 8)" ( (binary_expression "uVar5 < 8" identifier < number_literal) )) (goto_statement "goto LAB_00020259;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }\n      }" else (compound_statement "{\nLAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }\n      }" { (labeled_statement "LAB_0002023d:\n        if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }" statement_identifier : (if_statement "if (puVar7 < finish) {\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }" if (parenthesized_expression "(puVar7 < finish)" ( (binary_expression "puVar7 < finish" identifier < identifier) )) (compound_statement "{\n          uVar5 = ((int)finish - (int)puVar7) - 1;\n          uVar6 = (int)finish - (int)puVar7;\n          goto joined_r0x00020253;\n        }" { (expression_statement "uVar5 = ((int)finish - (int)puVar7) - 1;" (assignment_expression "uVar5 = ((int)finish - (int)puVar7) - 1" identifier = (binary_expression "((int)finish - (int)puVar7) - 1" (parenthesized_expression "((int)finish - (int)puVar7)" ( (binary_expression "(int)finish - (int)puVar7" (cast_expression "(int)finish" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) - number_literal)) ;) (expression_statement "uVar6 = (int)finish - (int)puVar7;" (assignment_expression "uVar6 = (int)finish - (int)puVar7" identifier = (binary_expression "(int)finish - (int)puVar7" (cast_expression "(int)finish" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto joined_r0x00020253;" goto statement_identifier ;) }))) }))) (expression_statement "in_stack_ffffffb4 = 0;" (assignment_expression "in_stack_ffffffb4 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n      if (finish <= puVar10 + 9) goto LAB_0002023d;\n      uVar6 = 8;\nLAB_00020259:\n      in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);\n    }" else (compound_statement "{\n      pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);\n      error(pcVar4,pointer_size,8);\n      if (finish <= puVar10 + 9) goto LAB_0002023d;\n      uVar6 = 8;\nLAB_00020259:\n      in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);\n    }" { (expression_statement "pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5);" (assignment_expression "pcVar4 = (char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" identifier = (cast_expression "(char *)dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcngettext(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" identifier (argument_list "(0,\n                                  "internal error: attempt to read %d byte of data in to %d sized variable"\n                                  ,\n                                  "internal error: attempt to read %d bytes of data in to %d sized variable"\n                                  ,pointer_size,5)" ( number_literal , (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ") , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal ))))) ;) (expression_statement "error(pcVar4,pointer_size,8);" (call_expression "error(pcVar4,pointer_size,8)" identifier (argument_list "(pcVar4,pointer_size,8)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (finish <= puVar10 + 9) goto LAB_0002023d;" if (parenthesized_expression "(finish <= puVar10 + 9)" ( (binary_expression "finish <= puVar10 + 9" identifier <= (binary_expression "puVar10 + 9" identifier + number_literal)) )) (goto_statement "goto LAB_0002023d;" goto statement_identifier ;)) (expression_statement "uVar6 = 8;" (assignment_expression "uVar6 = 8" identifier = number_literal) ;) (labeled_statement "LAB_00020259:\n      in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);" statement_identifier : (expression_statement "in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6);" (assignment_expression "in_stack_ffffffb4 = (*byte_get)(puVar7,uVar6)" identifier = (call_expression "(*byte_get)(puVar7,uVar6)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(puVar7,uVar6)" ( identifier , identifier )))) ;)) }))) (expression_statement "local_44 = read_leb128(puVar9,&bytes_read,0,finish);" (assignment_expression "local_44 = read_leb128(puVar9,&bytes_read,0,finish)" identifier = (call_expression "read_leb128(puVar9,&bytes_read,0,finish)" identifier (argument_list "(puVar9,&bytes_read,0,finish)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "puVar10 = puVar9 + bytes_read;" (assignment_expression "puVar10 = puVar9 + bytes_read" identifier = (binary_expression "puVar9 + bytes_read" identifier + identifier)) ;) (expression_statement "local_44 = local_44 + in_stack_ffffffb4;" (assignment_expression "local_44 = local_44 + in_stack_ffffffb4" identifier = (binary_expression "local_44 + in_stack_ffffffb4" identifier + identifier)) ;)) })) (expression_statement "print_dwarf_vma(in_stack_ffffffb4,(int)in_stack_ffffffb4 + base_address);" (call_expression "print_dwarf_vma(in_stack_ffffffb4,(int)in_stack_ffffffb4 + base_address)" identifier (argument_list "(in_stack_ffffffb4,(int)in_stack_ffffffb4 + base_address)" ( identifier , (binary_expression "(int)in_stack_ffffffb4 + base_address" (cast_expression "(int)in_stack_ffffffb4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) ;) (expression_statement "print_dwarf_vma(in_stack_ffffffb4,base_address + (uint)local_44);" (call_expression "print_dwarf_vma(in_stack_ffffffb4,base_address + (uint)local_44)" identifier (argument_list "(in_stack_ffffffb4,base_address + (uint)local_44)" ( identifier , (binary_expression "base_address + (uint)local_44" identifier + (cast_expression "(uint)local_44" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ;) (expression_statement "puVar2 = PTR_stdout_0006ffdc;" (assignment_expression "puVar2 = PTR_stdout_0006ffdc" identifier = identifier) ;) (expression_statement "uVar6 = (uint)(in_stack_ffffffb4 >> 0x20);" (assignment_expression "uVar6 = (uint)(in_stack_ffffffb4 >> 0x20)" identifier = (call_expression "(uint)(in_stack_ffffffb4 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_stack_ffffffb4 >> 0x20)" ( (binary_expression "in_stack_ffffffb4 >> 0x20" identifier >> number_literal) )))) ;) (if_statement "if (uVar6 == local_44._4_4_ && (uint)in_stack_ffffffb4 == (uint)local_44) {\n    pFVar8 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar4 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar4,pFVar8);\n    pFVar8 = *(FILE **)puVar2;\n  }\n  else {\n    pFVar8 = *(FILE **)puVar1;\n    if (local_44._4_4_ < uVar6 ||\n        local_44._4_4_ - uVar6 < (uint)((uint)local_44 < (uint)in_stack_ffffffb4)) {\n      pcVar4 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar4,pFVar8);\n      pFVar8 = *(FILE **)puVar1;\n    }\n  }" if (parenthesized_expression "(uVar6 == local_44._4_4_ && (uint)in_stack_ffffffb4 == (uint)local_44)" ( (binary_expression "uVar6 == local_44._4_4_ && (uint)in_stack_ffffffb4 == (uint)local_44" (binary_expression "uVar6 == local_44._4_4_" identifier == (field_expression "local_44._4_4_" identifier . field_identifier)) && (binary_expression "(uint)in_stack_ffffffb4 == (uint)local_44" (cast_expression "(uint)in_stack_ffffffb4" ( (type_descriptor "uint" type_identifier) ) identifier) == (cast_expression "(uint)local_44" ( (type_descriptor "uint" type_identifier) ) identifier))) )) (compound_statement "{\n    pFVar8 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar4 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar4,pFVar8);\n    pFVar8 = *(FILE **)puVar2;\n  }" { (expression_statement "pFVar8 = *(FILE **)PTR_stdout_0006ffdc;" (assignment_expression "pFVar8 = *(FILE **)PTR_stdout_0006ffdc" identifier = (pointer_expression "*(FILE **)PTR_stdout_0006ffdc" * (cast_expression "(FILE **)PTR_stdout_0006ffdc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"(start == end)",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"(start == end)",5)" identifier = (cast_expression "(char *)dcgettext(0,"(start == end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(start == end)",5)" identifier (argument_list "(0,"(start == end)",5)" ( number_literal , (string_literal ""(start == end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar4,pFVar8);" (call_expression "fputs(pcVar4,pFVar8)" identifier (argument_list "(pcVar4,pFVar8)" ( identifier , identifier ))) ;) (expression_statement "pFVar8 = *(FILE **)puVar2;" (assignment_expression "pFVar8 = *(FILE **)puVar2" identifier = (pointer_expression "*(FILE **)puVar2" * (cast_expression "(FILE **)puVar2" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n    pFVar8 = *(FILE **)puVar1;\n    if (local_44._4_4_ < uVar6 ||\n        local_44._4_4_ - uVar6 < (uint)((uint)local_44 < (uint)in_stack_ffffffb4)) {\n      pcVar4 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar4,pFVar8);\n      pFVar8 = *(FILE **)puVar1;\n    }\n  }" else (compound_statement "{\n    pFVar8 = *(FILE **)puVar1;\n    if (local_44._4_4_ < uVar6 ||\n        local_44._4_4_ - uVar6 < (uint)((uint)local_44 < (uint)in_stack_ffffffb4)) {\n      pcVar4 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar4,pFVar8);\n      pFVar8 = *(FILE **)puVar1;\n    }\n  }" { (expression_statement "pFVar8 = *(FILE **)puVar1;" (assignment_expression "pFVar8 = *(FILE **)puVar1" identifier = (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (local_44._4_4_ < uVar6 ||\n        local_44._4_4_ - uVar6 < (uint)((uint)local_44 < (uint)in_stack_ffffffb4)) {\n      pcVar4 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar4,pFVar8);\n      pFVar8 = *(FILE **)puVar1;\n    }" if (parenthesized_expression "(local_44._4_4_ < uVar6 ||\n        local_44._4_4_ - uVar6 < (uint)((uint)local_44 < (uint)in_stack_ffffffb4))" ( (binary_expression "local_44._4_4_ < uVar6 ||\n        local_44._4_4_ - uVar6 < (uint)((uint)local_44 < (uint)in_stack_ffffffb4)" (binary_expression "local_44._4_4_ < uVar6" (field_expression "local_44._4_4_" identifier . field_identifier) < identifier) || (binary_expression "local_44._4_4_ - uVar6 < (uint)((uint)local_44 < (uint)in_stack_ffffffb4)" (binary_expression "local_44._4_4_ - uVar6" (field_expression "local_44._4_4_" identifier . field_identifier) - identifier) < (call_expression "(uint)((uint)local_44 < (uint)in_stack_ffffffb4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_44 < (uint)in_stack_ffffffb4)" ( (binary_expression "(uint)local_44 < (uint)in_stack_ffffffb4" (cast_expression "(uint)local_44" ( (type_descriptor "uint" type_identifier) ) identifier) < (cast_expression "(uint)in_stack_ffffffb4" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (compound_statement "{\n      pcVar4 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar4,pFVar8);\n      pFVar8 = *(FILE **)puVar1;\n    }" { (expression_statement "pcVar4 = (char *)dcgettext(0,"(start > end)",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"(start > end)",5)" identifier = (cast_expression "(char *)dcgettext(0,"(start > end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(start > end)",5)" identifier (argument_list "(0,"(start > end)",5)" ( number_literal , (string_literal ""(start > end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar4,pFVar8);" (call_expression "fputs(pcVar4,pFVar8)" identifier (argument_list "(pcVar4,pFVar8)" ( identifier , identifier ))) ;) (expression_statement "pFVar8 = *(FILE **)puVar1;" (assignment_expression "pFVar8 = *(FILE **)puVar1" identifier = (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) }))) (expression_statement "putc(10,pFVar8);" (call_expression "putc(10,pFVar8)" identifier (argument_list "(10,pFVar8)" ( number_literal , identifier ))) ;) (goto_statement "goto LAB_0001fe30;" goto statement_identifier ;) })))
(translation_unit "void FUN_0001fdf0(uint param_1,uint param_2,uint param_3,int param_4)\n\n{\n  uint uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  FILE *pFVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  longlong lVar13;\n  longlong lVar14;\n  uint uStack_4c;\n  uint uStack_48;\n  uint uStack_44;\n  uint uStack_40;\n  int aiStack_20 [3];\n  undefined4 uStack_14;\n  \n  puVar2 = PTR_stdout_0006ffdc;\n  uStack_14 = 0x1fdfe;\n  uVar12 = param_1;\n  uVar4 = 8;\n  if (param_3 < 9) {\n    uVar4 = param_3;\n  }\ncode_r0x0001fe30:\n  uVar1 = uVar12 + 1;\n  if (param_2 < uVar1) {\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }\n  printf("    %8.8lx ",(uVar12 - param_1) + param_4);\n  if ((uVar1 == param_2) && (param_2 <= uVar12)) {\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }\n  uVar6 = (*DAT_00073aec)(uVar12,1);\n  switch(uVar6) {\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }\n  uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);\n  uStack_44 = (uint)lVar14;\n  uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);\n  uStack_4c = (uint)lVar13;\n  FUN_0001b1d0();\n  FUN_0001b1d0();\n  puVar3 = PTR_stdout_0006ffdc;\n  if (lVar13 == lVar14) {\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }\n  else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }\n  putc(10,pFVar9);\n  goto code_r0x0001fe30;\n}\n\n" (function_definition "void FUN_0001fdf0(uint param_1,uint param_2,uint param_3,int param_4)\n\n{\n  uint uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  FILE *pFVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  longlong lVar13;\n  longlong lVar14;\n  uint uStack_4c;\n  uint uStack_48;\n  uint uStack_44;\n  uint uStack_40;\n  int aiStack_20 [3];\n  undefined4 uStack_14;\n  \n  puVar2 = PTR_stdout_0006ffdc;\n  uStack_14 = 0x1fdfe;\n  uVar12 = param_1;\n  uVar4 = 8;\n  if (param_3 < 9) {\n    uVar4 = param_3;\n  }\ncode_r0x0001fe30:\n  uVar1 = uVar12 + 1;\n  if (param_2 < uVar1) {\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }\n  printf("    %8.8lx ",(uVar12 - param_1) + param_4);\n  if ((uVar1 == param_2) && (param_2 <= uVar12)) {\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }\n  uVar6 = (*DAT_00073aec)(uVar12,1);\n  switch(uVar6) {\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }\n  uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);\n  uStack_44 = (uint)lVar14;\n  uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);\n  uStack_4c = (uint)lVar13;\n  FUN_0001b1d0();\n  FUN_0001b1d0();\n  puVar3 = PTR_stdout_0006ffdc;\n  if (lVar13 == lVar14) {\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }\n  else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }\n  putc(10,pFVar9);\n  goto code_r0x0001fe30;\n}" primitive_type (function_declarator "FUN_0001fdf0(uint param_1,uint param_2,uint param_3,int param_4)" identifier (parameter_list "(uint param_1,uint param_2,uint param_3,int param_4)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  FILE *pFVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  longlong lVar13;\n  longlong lVar14;\n  uint uStack_4c;\n  uint uStack_48;\n  uint uStack_44;\n  uint uStack_40;\n  int aiStack_20 [3];\n  undefined4 uStack_14;\n  \n  puVar2 = PTR_stdout_0006ffdc;\n  uStack_14 = 0x1fdfe;\n  uVar12 = param_1;\n  uVar4 = 8;\n  if (param_3 < 9) {\n    uVar4 = param_3;\n  }\ncode_r0x0001fe30:\n  uVar1 = uVar12 + 1;\n  if (param_2 < uVar1) {\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }\n  printf("    %8.8lx ",(uVar12 - param_1) + param_4);\n  if ((uVar1 == param_2) && (param_2 <= uVar12)) {\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }\n  uVar6 = (*DAT_00073aec)(uVar12,1);\n  switch(uVar6) {\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }\n  uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);\n  uStack_44 = (uint)lVar14;\n  uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);\n  uStack_4c = (uint)lVar13;\n  FUN_0001b1d0();\n  FUN_0001b1d0();\n  puVar3 = PTR_stdout_0006ffdc;\n  if (lVar13 == lVar14) {\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }\n  else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }\n  putc(10,pFVar9);\n  goto code_r0x0001fe30;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "FILE *pFVar9;" type_identifier (pointer_declarator "*pFVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "longlong lVar13;" type_identifier identifier ;) (declaration "longlong lVar14;" type_identifier identifier ;) (declaration "uint uStack_4c;" type_identifier identifier ;) (declaration "uint uStack_48;" type_identifier identifier ;) (declaration "uint uStack_44;" type_identifier identifier ;) (declaration "uint uStack_40;" type_identifier identifier ;) (declaration "int aiStack_20 [3];" primitive_type (array_declarator "aiStack_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "puVar2 = PTR_stdout_0006ffdc;" (assignment_expression "puVar2 = PTR_stdout_0006ffdc" identifier = identifier) ;) (expression_statement "uStack_14 = 0x1fdfe;" (assignment_expression "uStack_14 = 0x1fdfe" identifier = number_literal) ;) (expression_statement "uVar12 = param_1;" (assignment_expression "uVar12 = param_1" identifier = identifier) ;) (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" identifier = number_literal) ;) (if_statement "if (param_3 < 9) {\n    uVar4 = param_3;\n  }" if (parenthesized_expression "(param_3 < 9)" ( (binary_expression "param_3 < 9" identifier < number_literal) )) (compound_statement "{\n    uVar4 = param_3;\n  }" { (expression_statement "uVar4 = param_3;" (assignment_expression "uVar4 = param_3" identifier = identifier) ;) })) (labeled_statement "code_r0x0001fe30:\n  uVar1 = uVar12 + 1;" statement_identifier : (expression_statement "uVar1 = uVar12 + 1;" (assignment_expression "uVar1 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;)) (if_statement "if (param_2 < uVar1) {\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }" if (parenthesized_expression "(param_2 < uVar1)" ( (binary_expression "param_2 < uVar1" identifier < identifier) )) (compound_statement "{\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }" { (expression_statement "uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);" (assignment_expression "uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" identifier = (call_expression "dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" identifier (argument_list "(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" ( number_literal , (string_literal ""Range list starting at offset 0x%lx is not terminated.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar6,param_4);" (call_expression "warn(uVar6,param_4)" identifier (argument_list "(uVar6,param_4)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "printf("    %8.8lx ",(uVar12 - param_1) + param_4);" (call_expression "printf("    %8.8lx ",(uVar12 - param_1) + param_4)" identifier (argument_list "("    %8.8lx ",(uVar12 - param_1) + param_4)" ( (string_literal ""    %8.8lx "" " string_content ") , (binary_expression "(uVar12 - param_1) + param_4" (parenthesized_expression "(uVar12 - param_1)" ( (binary_expression "uVar12 - param_1" identifier - identifier) )) + identifier) ))) ;) (if_statement "if ((uVar1 == param_2) && (param_2 <= uVar12)) {\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }" if (parenthesized_expression "((uVar1 == param_2) && (param_2 <= uVar12))" ( (binary_expression "(uVar1 == param_2) && (param_2 <= uVar12)" (parenthesized_expression "(uVar1 == param_2)" ( (binary_expression "uVar1 == param_2" identifier == identifier) )) && (parenthesized_expression "(param_2 <= uVar12)" ( (binary_expression "param_2 <= uVar12" identifier <= identifier) ))) )) (compound_statement "{\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }" { (labeled_statement "code_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);" statement_identifier : (expression_statement "pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"<End of list>\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"<End of list>\n",5)" identifier (argument_list "(0,"<End of list>\n",5)" ( number_literal , (string_literal ""<End of list>\n"" " string_content escape_sequence ") , number_literal ))))) ;)) (expression_statement "printf(pcVar5);" (call_expression "printf(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "uVar6 = (*DAT_00073aec)(uVar12,1);" (assignment_expression "uVar6 = (*DAT_00073aec)(uVar12,1)" identifier = (call_expression "(*DAT_00073aec)(uVar12,1)" (parenthesized_expression "(*DAT_00073aec)" ( (pointer_expression "*DAT_00073aec" * identifier) )) (argument_list "(uVar12,1)" ( identifier , number_literal )))) ;) (switch_statement "switch(uVar6) {\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }" switch (parenthesized_expression "(uVar6)" ( identifier )) (compound_statement "{\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }" { (case_statement "case 0:\n    goto code_r0x0001fe66;" case number_literal : (goto_statement "goto code_r0x0001fe66;" goto statement_identifier ;)) (case_statement "default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;" default : (expression_statement "uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);" (assignment_expression "uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5)" identifier = (call_expression "dcgettext(0,"Invalid range list entry type %d\n",5)" identifier (argument_list "(0,"Invalid range list entry type %d\n",5)" ( number_literal , (string_literal ""Invalid range list entry type %d\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "error(uVar7,uVar6);" (call_expression "error(uVar7,uVar6)" identifier (argument_list "(uVar7,uVar6)" ( identifier , identifier ))) ;) (return_statement "return;" return ;)) (case_statement "case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;" case number_literal : (expression_statement "lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);" (assignment_expression "lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2)" identifier = (call_expression "FUN_0001dca0(uVar1,aiStack_20,0,param_2)" identifier (argument_list "(uVar1,aiStack_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "iVar8 = uVar1 + aiStack_20[0];" (assignment_expression "iVar8 = uVar1 + aiStack_20[0]" identifier = (binary_expression "uVar1 + aiStack_20[0]" identifier + (subscript_expression "aiStack_20[0]" identifier [ number_literal ]))) ;) (expression_statement "lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);" (assignment_expression "lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2)" identifier = (call_expression "FUN_0001dca0(iVar8,aiStack_20,0,param_2)" identifier (argument_list "(iVar8,aiStack_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "uVar12 = iVar8 + aiStack_20[0];" (assignment_expression "uVar12 = iVar8 + aiStack_20[0]" identifier = (binary_expression "iVar8 + aiStack_20[0]" identifier + (subscript_expression "aiStack_20[0]" identifier [ number_literal ]))) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;" case number_literal : (if_statement "if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }" if (parenthesized_expression "(param_3 < 5)" ( (binary_expression "param_3 < 5" identifier < number_literal) )) (compound_statement "{\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }" { (if_statement "if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }" if (parenthesized_expression "(param_3 + uVar1 < param_2)" ( (binary_expression "param_3 + uVar1 < param_2" (binary_expression "param_3 + uVar1" identifier + identifier) < identifier) )) (compound_statement "{\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }" { (expression_statement "uVar10 = param_3 - 1;" (assignment_expression "uVar10 = param_3 - 1" identifier = (binary_expression "param_3 - 1" identifier - number_literal)) ;) (expression_statement "uVar12 = param_3;" (assignment_expression "uVar12 = param_3" identifier = identifier) ;) (labeled_statement "joined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;" statement_identifier : (if_statement "if (uVar10 < 8) goto code_r0x000201b9;" if (parenthesized_expression "(uVar10 < 8)" ( (binary_expression "uVar10 < 8" identifier < number_literal) )) (goto_statement "goto code_r0x000201b9;" goto statement_identifier ;))) }) (else_clause "else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }" else (compound_statement "{\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }" { (labeled_statement "code_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }" statement_identifier : (if_statement "if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }" if (parenthesized_expression "(uVar1 < param_2)" ( (binary_expression "uVar1 < param_2" identifier < identifier) )) (compound_statement "{\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }" { (expression_statement "uVar10 = (param_2 - uVar1) - 1;" (assignment_expression "uVar10 = (param_2 - uVar1) - 1" identifier = (binary_expression "(param_2 - uVar1) - 1" (parenthesized_expression "(param_2 - uVar1)" ( (binary_expression "param_2 - uVar1" identifier - identifier) )) - number_literal)) ;) (expression_statement "uVar12 = param_2 - uVar1;" (assignment_expression "uVar12 = param_2 - uVar1" identifier = (binary_expression "param_2 - uVar1" identifier - identifier)) ;) (goto_statement "goto joined_r0x000201b3;" goto statement_identifier ;) }))) }))) }) (else_clause "else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }" else (compound_statement "{\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }" { (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier = (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" ( number_literal , (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ") , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal )))) ;) (expression_statement "error(uVar6,param_3,4);" (call_expression "error(uVar6,param_3,4)" identifier (argument_list "(uVar6,param_3,4)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (param_2 <= uVar12 + 5) goto code_r0x0002019d;" if (parenthesized_expression "(param_2 <= uVar12 + 5)" ( (binary_expression "param_2 <= uVar12 + 5" identifier <= (binary_expression "uVar12 + 5" identifier + number_literal)) )) (goto_statement "goto code_r0x0002019d;" goto statement_identifier ;)) (expression_statement "uVar12 = 4;" (assignment_expression "uVar12 = 4" identifier = number_literal) ;) (labeled_statement "code_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);" statement_identifier : (expression_statement "(*DAT_00073aec)(uVar1,uVar12);" (call_expression "(*DAT_00073aec)(uVar1,uVar12)" (parenthesized_expression "(*DAT_00073aec)" ( (pointer_expression "*DAT_00073aec" * identifier) )) (argument_list "(uVar1,uVar12)" ( identifier , identifier ))) ;)) }))) (expression_statement "FUN_0001b1d0();" (call_expression "FUN_0001b1d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar5 = (char *)dcgettext(0,"(base address)\n",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"(base address)\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"(base address)\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(base address)\n",5)" identifier (argument_list "(0,"(base address)\n",5)" ( number_literal , (string_literal ""(base address)\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar5);" (call_expression "printf(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (expression_statement "uVar12 = param_3 + uVar1;" (assignment_expression "uVar12 = param_3 + uVar1" identifier = (binary_expression "param_3 + uVar1" identifier + identifier)) ;) (goto_statement "goto code_r0x0001fe30;" goto statement_identifier ;)) (case_statement "case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;" case number_literal : (expression_statement "uVar11 = param_3 + uVar1;" (assignment_expression "uVar11 = param_3 + uVar1" identifier = (binary_expression "param_3 + uVar1" identifier + identifier)) ;) (expression_statement "uVar10 = uVar4;" (assignment_expression "uVar10 = uVar4" identifier = identifier) ;) (if_statement "if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }" if (parenthesized_expression "(param_3 < 9)" ( (binary_expression "param_3 < 9" identifier < number_literal) )) (compound_statement "{\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }" { (if_statement "if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }" if (parenthesized_expression "(uVar11 < param_2)" ( (binary_expression "uVar11 < param_2" identifier < identifier) )) (compound_statement "{\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }" { (expression_statement "uVar12 = param_3;" (assignment_expression "uVar12 = param_3" identifier = identifier) ;) (expression_statement "uVar10 = param_3;" (assignment_expression "uVar10 = param_3" identifier = identifier) ;) (if_statement "if (param_3 - 1 < 8) goto code_r0x0001ff31;" if (parenthesized_expression "(param_3 - 1 < 8)" ( (binary_expression "param_3 - 1 < 8" (binary_expression "param_3 - 1" identifier - number_literal) < number_literal) )) (goto_statement "goto code_r0x0001ff31;" goto statement_identifier ;)) (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) }) (else_clause "else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }" else (if_statement "if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }" if (parenthesized_expression "(uVar1 < param_2)" ( (binary_expression "uVar1 < param_2" identifier < identifier) )) (compound_statement "{\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }" { (labeled_statement "code_r0x000202aa:\n        uVar12 = param_2 - uVar1;" statement_identifier : (expression_statement "uVar12 = param_2 - uVar1;" (assignment_expression "uVar12 = param_2 - uVar1" identifier = (binary_expression "param_2 - uVar1" identifier - identifier)) ;)) (if_statement "if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;" if (parenthesized_expression "((param_2 - uVar1) - 1 < 8)" ( (binary_expression "(param_2 - uVar1) - 1 < 8" (binary_expression "(param_2 - uVar1) - 1" (parenthesized_expression "(param_2 - uVar1)" ( (binary_expression "param_2 - uVar1" identifier - identifier) )) - number_literal) < number_literal) )) (goto_statement "goto code_r0x0001ff31;" goto statement_identifier ;)) (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;) (if_statement "if (8 < param_3) goto code_r0x000202ec;" if (parenthesized_expression "(8 < param_3)" ( (binary_expression "8 < param_3" number_literal < identifier) )) (goto_statement "goto code_r0x000202ec;" goto statement_identifier ;)) }) (else_clause "else {\n        lVar13 = 0;\n      }" else (compound_statement "{\n        lVar13 = 0;\n      }" { (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) }))))) }) (else_clause "else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }" else (compound_statement "{\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }" { (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier = (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" ( number_literal , (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ") , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal )))) ;) (expression_statement "error(uVar6,param_3,8);" (call_expression "error(uVar6,param_3,8)" identifier (argument_list "(uVar6,param_3,8)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }" if (parenthesized_expression "(uVar12 + 9 < param_2)" ( (binary_expression "uVar12 + 9 < param_2" (binary_expression "uVar12 + 9" identifier + number_literal) < identifier) )) (compound_statement "{\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }" { (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" identifier = number_literal) ;) (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" identifier = number_literal) ;) (labeled_statement "code_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);" statement_identifier : (expression_statement "lVar13 = (*DAT_00073aec)(uVar1,uVar12);" (assignment_expression "lVar13 = (*DAT_00073aec)(uVar1,uVar12)" identifier = (call_expression "(*DAT_00073aec)(uVar1,uVar12)" (parenthesized_expression "(*DAT_00073aec)" ( (pointer_expression "*DAT_00073aec" * identifier) )) (argument_list "(uVar1,uVar12)" ( identifier , identifier )))) ;)) (expression_statement "lVar14 = lVar13;" (assignment_expression "lVar14 = lVar13" identifier = identifier) ;) (if_statement "if (param_3 < 9) goto code_r0x0001ff52;" if (parenthesized_expression "(param_3 < 9)" ( (binary_expression "param_3 < 9" identifier < number_literal) )) (goto_statement "goto code_r0x0001ff52;" goto statement_identifier ;)) }) (else_clause "else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }" else (compound_statement "{\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }" { (if_statement "if (uVar1 < param_2) goto code_r0x000202aa;" if (parenthesized_expression "(uVar1 < param_2)" ( (binary_expression "uVar1 < param_2" identifier < identifier) )) (goto_statement "goto code_r0x000202aa;" goto statement_identifier ;)) (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;) }))) (labeled_statement "code_r0x000202ec:\n      lVar13 = lVar14;" statement_identifier : (expression_statement "lVar13 = lVar14;" (assignment_expression "lVar13 = lVar14" identifier = identifier) ;)) (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier = (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" ( number_literal , (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ") , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal )))) ;) (expression_statement "error(uVar6,param_3,8);" (call_expression "error(uVar6,param_3,8)" identifier (argument_list "(uVar6,param_3,8)" ( identifier , identifier , number_literal ))) ;) }))) (labeled_statement "code_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" statement_identifier : (if_statement "if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" if (parenthesized_expression "(uVar11 + uVar10 < param_2)" ( (binary_expression "uVar11 + uVar10 < param_2" (binary_expression "uVar11 + uVar10" identifier + identifier) < identifier) )) (compound_statement "{\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }" { (labeled_statement "code_r0x0001ff77:\n      lVar14 = 0;" statement_identifier : (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;)) (if_statement "if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }" if (parenthesized_expression "(uVar10 - 1 < 8)" ( (binary_expression "uVar10 - 1 < 8" (binary_expression "uVar10 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }" { (expression_statement "lVar14 = (*DAT_00073aec)(uVar11,uVar10);" (assignment_expression "lVar14 = (*DAT_00073aec)(uVar11,uVar10)" identifier = (call_expression "(*DAT_00073aec)(uVar11,uVar10)" (parenthesized_expression "(*DAT_00073aec)" ( (pointer_expression "*DAT_00073aec" * identifier) )) (argument_list "(uVar11,uVar10)" ( identifier , identifier )))) ;) })) }) (else_clause "else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" else (compound_statement "{\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" { (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;) (if_statement "if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }" if (parenthesized_expression "(uVar11 < param_2)" ( (binary_expression "uVar11 < param_2" identifier < identifier) )) (compound_statement "{\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }" { (expression_statement "uVar10 = param_2 - uVar11;" (assignment_expression "uVar10 = param_2 - uVar11" identifier = (binary_expression "param_2 - uVar11" identifier - identifier)) ;) (goto_statement "goto code_r0x0001ff77;" goto statement_identifier ;) })) })))) (expression_statement "uVar12 = uVar11 + param_3;" (assignment_expression "uVar12 = uVar11 + param_3" identifier = (binary_expression "uVar11 + param_3" identifier + identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;" case number_literal : (expression_statement "uVar10 = param_3 + uVar1;" (assignment_expression "uVar10 = param_3 + uVar1" identifier = (binary_expression "param_3 + uVar1" identifier + identifier)) ;) (if_statement "if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }" if (parenthesized_expression "(param_3 < 9)" ( (binary_expression "param_3 < 9" identifier < number_literal) )) (compound_statement "{\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }" { (if_statement "if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }" if (parenthesized_expression "(uVar10 < param_2)" ( (binary_expression "uVar10 < param_2" identifier < identifier) )) (compound_statement "{\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }" { (expression_statement "uVar11 = param_3 - 1;" (assignment_expression "uVar11 = param_3 - 1" identifier = (binary_expression "param_3 - 1" identifier - number_literal)) ;) (expression_statement "uVar12 = param_3;" (assignment_expression "uVar12 = param_3" identifier = identifier) ;) (labeled_statement "joined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;" statement_identifier : (if_statement "if (uVar11 < 8) goto code_r0x00020259;" if (parenthesized_expression "(uVar11 < 8)" ( (binary_expression "uVar11 < 8" identifier < number_literal) )) (goto_statement "goto code_r0x00020259;" goto statement_identifier ;))) }) (else_clause "else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }" else (compound_statement "{\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }" { (labeled_statement "code_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }" statement_identifier : (if_statement "if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }" if (parenthesized_expression "(uVar1 < param_2)" ( (binary_expression "uVar1 < param_2" identifier < identifier) )) (compound_statement "{\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }" { (expression_statement "uVar11 = (param_2 - uVar1) - 1;" (assignment_expression "uVar11 = (param_2 - uVar1) - 1" identifier = (binary_expression "(param_2 - uVar1) - 1" (parenthesized_expression "(param_2 - uVar1)" ( (binary_expression "param_2 - uVar1" identifier - identifier) )) - number_literal)) ;) (expression_statement "uVar12 = param_2 - uVar1;" (assignment_expression "uVar12 = param_2 - uVar1" identifier = (binary_expression "param_2 - uVar1" identifier - identifier)) ;) (goto_statement "goto joined_r0x00020253;" goto statement_identifier ;) }))) }))) (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }" else (compound_statement "{\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }" { (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier = (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" identifier (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" ( number_literal , (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" " string_content ") , (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" " string_content ") , identifier , number_literal )))) ;) (expression_statement "error(uVar6,param_3,8);" (call_expression "error(uVar6,param_3,8)" identifier (argument_list "(uVar6,param_3,8)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (param_2 <= uVar12 + 9) goto code_r0x0002023d;" if (parenthesized_expression "(param_2 <= uVar12 + 9)" ( (binary_expression "param_2 <= uVar12 + 9" identifier <= (binary_expression "uVar12 + 9" identifier + number_literal)) )) (goto_statement "goto code_r0x0002023d;" goto statement_identifier ;)) (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" identifier = number_literal) ;) (labeled_statement "code_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);" statement_identifier : (expression_statement "lVar13 = (*DAT_00073aec)(uVar1,uVar12);" (assignment_expression "lVar13 = (*DAT_00073aec)(uVar1,uVar12)" identifier = (call_expression "(*DAT_00073aec)(uVar1,uVar12)" (parenthesized_expression "(*DAT_00073aec)" ( (pointer_expression "*DAT_00073aec" * identifier) )) (argument_list "(uVar1,uVar12)" ( identifier , identifier )))) ;)) }))) (expression_statement "lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);" (assignment_expression "lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2)" identifier = (call_expression "FUN_0001dca0(uVar10,aiStack_20,0,param_2)" identifier (argument_list "(uVar10,aiStack_20,0,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "uVar12 = uVar10 + aiStack_20[0];" (assignment_expression "uVar12 = uVar10 + aiStack_20[0]" identifier = (binary_expression "uVar10 + aiStack_20[0]" identifier + (subscript_expression "aiStack_20[0]" identifier [ number_literal ]))) ;) (expression_statement "lVar14 = lVar13 + lVar14;" (assignment_expression "lVar14 = lVar13 + lVar14" identifier = (binary_expression "lVar13 + lVar14" identifier + identifier)) ;)) })) (expression_statement "uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);" (assignment_expression "uStack_40 = (uint)((ulonglong)lVar14 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar14 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar14 >> 0x20)" ( (binary_expression "(ulonglong)lVar14 >> 0x20" (cast_expression "(ulonglong)lVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_44 = (uint)lVar14;" (assignment_expression "uStack_44 = (uint)lVar14" identifier = (cast_expression "(uint)lVar14" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);" (assignment_expression "uStack_48 = (uint)((ulonglong)lVar13 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar13 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar13 >> 0x20)" ( (binary_expression "(ulonglong)lVar13 >> 0x20" (cast_expression "(ulonglong)lVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_4c = (uint)lVar13;" (assignment_expression "uStack_4c = (uint)lVar13" identifier = (cast_expression "(uint)lVar13" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "FUN_0001b1d0();" (call_expression "FUN_0001b1d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_0001b1d0();" (call_expression "FUN_0001b1d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar3 = PTR_stdout_0006ffdc;" (assignment_expression "puVar3 = PTR_stdout_0006ffdc" identifier = identifier) ;) (if_statement "if (lVar13 == lVar14) {\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }\n  else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }" if (parenthesized_expression "(lVar13 == lVar14)" ( (binary_expression "lVar13 == lVar14" identifier == identifier) )) (compound_statement "{\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }" { (expression_statement "pFVar9 = *(FILE **)PTR_stdout_0006ffdc;" (assignment_expression "pFVar9 = *(FILE **)PTR_stdout_0006ffdc" identifier = (pointer_expression "*(FILE **)PTR_stdout_0006ffdc" * (cast_expression "(FILE **)PTR_stdout_0006ffdc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar5 = (char *)dcgettext(0,"(start == end)",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"(start == end)",5)" identifier = (cast_expression "(char *)dcgettext(0,"(start == end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(start == end)",5)" identifier (argument_list "(0,"(start == end)",5)" ( number_literal , (string_literal ""(start == end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar5,pFVar9);" (call_expression "fputs(pcVar5,pFVar9)" identifier (argument_list "(pcVar5,pFVar9)" ( identifier , identifier ))) ;) (expression_statement "pFVar9 = *(FILE **)puVar3;" (assignment_expression "pFVar9 = *(FILE **)puVar3" identifier = (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }" else (compound_statement "{\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }" { (expression_statement "pFVar9 = *(FILE **)puVar2;" (assignment_expression "pFVar9 = *(FILE **)puVar2" identifier = (pointer_expression "*(FILE **)puVar2" * (cast_expression "(FILE **)puVar2" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }" if (parenthesized_expression "(uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c))" ( (binary_expression "uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)" (binary_expression "uStack_40 < uStack_48" identifier < identifier) || (binary_expression "uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)" (binary_expression "uStack_40 - uStack_48" identifier - identifier) < (call_expression "(uint)(uStack_44 < uStack_4c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_44 < uStack_4c)" ( (binary_expression "uStack_44 < uStack_4c" identifier < identifier) ))))) )) (compound_statement "{\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }" { (expression_statement "pcVar5 = (char *)dcgettext(0,"(start > end)",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"(start > end)",5)" identifier = (cast_expression "(char *)dcgettext(0,"(start > end)",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"(start > end)",5)" identifier (argument_list "(0,"(start > end)",5)" ( number_literal , (string_literal ""(start > end)"" " string_content ") , number_literal ))))) ;) (expression_statement "fputs(pcVar5,pFVar9);" (call_expression "fputs(pcVar5,pFVar9)" identifier (argument_list "(pcVar5,pFVar9)" ( identifier , identifier ))) ;) (expression_statement "pFVar9 = *(FILE **)puVar2;" (assignment_expression "pFVar9 = *(FILE **)puVar2" identifier = (pointer_expression "*(FILE **)puVar2" * (cast_expression "(FILE **)puVar2" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) }))) (expression_statement "putc(10,pFVar9);" (call_expression "putc(10,pFVar9)" identifier (argument_list "(10,pFVar9)" ( number_literal , identifier ))) ;) (goto_statement "goto code_r0x0001fe30;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT <= IDENT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement default : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (goto_statement goto statement_identifier ;) }))) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;)) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - LIT) < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (goto_statement goto statement_identifier ;) })) })))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (goto_statement goto statement_identifier ;) }))) }))) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "void FUN_0001fdf0(uint param_1,uint param_2,uint param_3,int param_4)\n\n{\n  uint uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  FILE *pFVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  longlong lVar13;\n  longlong lVar14;\n  uint uStack_4c;\n  uint uStack_48;\n  uint uStack_44;\n  uint uStack_40;\n  int aiStack_20 [3];\n  undefined4 uStack_14;\n  \n  puVar2 = PTR_stdout_0006ffdc;\n  uStack_14 = 0x1fdfe;\n  uVar12 = param_1;\n  uVar4 = 8;\n  if (param_3 < 9) {\n    uVar4 = param_3;\n  }\ncode_r0x0001fe30:\n  uVar1 = uVar12 + 1;\n  if (param_2 < uVar1) {\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }\n  printf("    %8.8lx ",(uVar12 - param_1) + param_4);\n  if ((uVar1 == param_2) && (param_2 <= uVar12)) {\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }\n  uVar6 = (*DAT_00073aec)(uVar12,1);\n  switch(uVar6) {\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }\n  uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);\n  uStack_44 = (uint)lVar14;\n  uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);\n  uStack_4c = (uint)lVar13;\n  FUN_0001b1d0();\n  FUN_0001b1d0();\n  puVar3 = PTR_stdout_0006ffdc;\n  if (lVar13 == lVar14) {\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }\n  else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }\n  putc(10,pFVar9);\n  goto code_r0x0001fe30;\n}" (primitive_type "void") (function_declarator "FUN_0001fdf0(uint param_1,uint param_2,uint param_3,int param_4)" (identifier "FUN_0001fdf0") (parameter_list "(uint param_1,uint param_2,uint param_3,int param_4)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")"))) (compound_statement "{\n  uint uVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  char *pcVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int iVar8;\n  FILE *pFVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  longlong lVar13;\n  longlong lVar14;\n  uint uStack_4c;\n  uint uStack_48;\n  uint uStack_44;\n  uint uStack_40;\n  int aiStack_20 [3];\n  undefined4 uStack_14;\n  \n  puVar2 = PTR_stdout_0006ffdc;\n  uStack_14 = 0x1fdfe;\n  uVar12 = param_1;\n  uVar4 = 8;\n  if (param_3 < 9) {\n    uVar4 = param_3;\n  }\ncode_r0x0001fe30:\n  uVar1 = uVar12 + 1;\n  if (param_2 < uVar1) {\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }\n  printf("    %8.8lx ",(uVar12 - param_1) + param_4);\n  if ((uVar1 == param_2) && (param_2 <= uVar12)) {\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }\n  uVar6 = (*DAT_00073aec)(uVar12,1);\n  switch(uVar6) {\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }\n  uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);\n  uStack_44 = (uint)lVar14;\n  uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);\n  uStack_4c = (uint)lVar13;\n  FUN_0001b1d0();\n  FUN_0001b1d0();\n  puVar3 = PTR_stdout_0006ffdc;\n  if (lVar13 == lVar14) {\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }\n  else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }\n  putc(10,pFVar9);\n  goto code_r0x0001fe30;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "FILE *pFVar9;" (type_identifier "FILE") (pointer_declarator "*pFVar9" (* "*") (identifier "pFVar9")) (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "longlong lVar13;" (type_identifier "longlong") (identifier "lVar13") (; ";")) (declaration "longlong lVar14;" (type_identifier "longlong") (identifier "lVar14") (; ";")) (declaration "uint uStack_4c;" (type_identifier "uint") (identifier "uStack_4c") (; ";")) (declaration "uint uStack_48;" (type_identifier "uint") (identifier "uStack_48") (; ";")) (declaration "uint uStack_44;" (type_identifier "uint") (identifier "uStack_44") (; ";")) (declaration "uint uStack_40;" (type_identifier "uint") (identifier "uStack_40") (; ";")) (declaration "int aiStack_20 [3];" (primitive_type "int") (array_declarator "aiStack_20 [3]" (identifier "aiStack_20") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "puVar2 = PTR_stdout_0006ffdc;" (assignment_expression "puVar2 = PTR_stdout_0006ffdc" (identifier "puVar2") (= "=") (identifier "PTR_stdout_0006ffdc")) (; ";")) (expression_statement "uStack_14 = 0x1fdfe;" (assignment_expression "uStack_14 = 0x1fdfe" (identifier "uStack_14") (= "=") (number_literal "0x1fdfe")) (; ";")) (expression_statement "uVar12 = param_1;" (assignment_expression "uVar12 = param_1" (identifier "uVar12") (= "=") (identifier "param_1")) (; ";")) (expression_statement "uVar4 = 8;" (assignment_expression "uVar4 = 8" (identifier "uVar4") (= "=") (number_literal "8")) (; ";")) (if_statement "if (param_3 < 9) {\n    uVar4 = param_3;\n  }" (if "if") (parenthesized_expression "(param_3 < 9)" (( "(") (binary_expression "param_3 < 9" (identifier "param_3") (< "<") (number_literal "9")) () ")")) (compound_statement "{\n    uVar4 = param_3;\n  }" ({ "{") (expression_statement "uVar4 = param_3;" (assignment_expression "uVar4 = param_3" (identifier "uVar4") (= "=") (identifier "param_3")) (; ";")) (} "}"))) (labeled_statement "code_r0x0001fe30:\n  uVar1 = uVar12 + 1;" (statement_identifier "code_r0x0001fe30") (: ":") (expression_statement "uVar1 = uVar12 + 1;" (assignment_expression "uVar1 = uVar12 + 1" (identifier "uVar1") (= "=") (binary_expression "uVar12 + 1" (identifier "uVar12") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (param_2 < uVar1) {\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }" (if "if") (parenthesized_expression "(param_2 < uVar1)" (( "(") (binary_expression "param_2 < uVar1" (identifier "param_2") (< "<") (identifier "uVar1")) () ")")) (compound_statement "{\n    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);\n    warn(uVar6,param_4);\n    return;\n  }" ({ "{") (expression_statement "uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);" (assignment_expression "uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" (identifier "uVar6") (= "=") (call_expression "dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" (identifier "dcgettext") (argument_list "(0,"Range list starting at offset 0x%lx is not terminated.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Range list starting at offset 0x%lx is not terminated.\n"" (" """) (string_content "Range list starting at offset 0x%lx is not terminated.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar6,param_4);" (call_expression "warn(uVar6,param_4)" (identifier "warn") (argument_list "(uVar6,param_4)" (( "(") (identifier "uVar6") (, ",") (identifier "param_4") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "printf("    %8.8lx ",(uVar12 - param_1) + param_4);" (call_expression "printf("    %8.8lx ",(uVar12 - param_1) + param_4)" (identifier "printf") (argument_list "("    %8.8lx ",(uVar12 - param_1) + param_4)" (( "(") (string_literal ""    %8.8lx "" (" """) (string_content "    %8.8lx ") (" """)) (, ",") (binary_expression "(uVar12 - param_1) + param_4" (parenthesized_expression "(uVar12 - param_1)" (( "(") (binary_expression "uVar12 - param_1" (identifier "uVar12") (- "-") (identifier "param_1")) () ")")) (+ "+") (identifier "param_4")) () ")"))) (; ";")) (if_statement "if ((uVar1 == param_2) && (param_2 <= uVar12)) {\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }" (if "if") (parenthesized_expression "((uVar1 == param_2) && (param_2 <= uVar12))" (( "(") (binary_expression "(uVar1 == param_2) && (param_2 <= uVar12)" (parenthesized_expression "(uVar1 == param_2)" (( "(") (binary_expression "uVar1 == param_2" (identifier "uVar1") (== "==") (identifier "param_2")) () ")")) (&& "&&") (parenthesized_expression "(param_2 <= uVar12)" (( "(") (binary_expression "param_2 <= uVar12" (identifier "param_2") (<= "<=") (identifier "uVar12")) () ")"))) () ")")) (compound_statement "{\ncode_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);\n    printf(pcVar5);\n    return;\n  }" ({ "{") (labeled_statement "code_r0x0001fe66:\n    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);" (statement_identifier "code_r0x0001fe66") (: ":") (expression_statement "pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"<End of list>\n",5)" (identifier "pcVar5") (= "=") (cast_expression "(char *)dcgettext(0,"<End of list>\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"<End of list>\n",5)" (identifier "dcgettext") (argument_list "(0,"<End of list>\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""<End of list>\n"" (" """) (string_content "<End of list>") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar5);" (call_expression "printf(pcVar5)" (identifier "printf") (argument_list "(pcVar5)" (( "(") (identifier "pcVar5") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar6 = (*DAT_00073aec)(uVar12,1);" (assignment_expression "uVar6 = (*DAT_00073aec)(uVar12,1)" (identifier "uVar6") (= "=") (call_expression "(*DAT_00073aec)(uVar12,1)" (parenthesized_expression "(*DAT_00073aec)" (( "(") (pointer_expression "*DAT_00073aec" (* "*") (identifier "DAT_00073aec")) () ")")) (argument_list "(uVar12,1)" (( "(") (identifier "uVar12") (, ",") (number_literal "1") () ")")))) (; ";")) (switch_statement "switch(uVar6) {\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }" (switch "switch") (parenthesized_expression "(uVar6)" (( "(") (identifier "uVar6") () ")")) (compound_statement "{\n  case 0:\n    goto code_r0x0001fe66;\n  default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;\n  case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;\n  case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;\n  case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;\n  case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;\n  }" ({ "{") (case_statement "case 0:\n    goto code_r0x0001fe66;" (case "case") (number_literal "0") (: ":") (goto_statement "goto code_r0x0001fe66;" (goto "goto") (statement_identifier "code_r0x0001fe66") (; ";"))) (case_statement "default:\n    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);\n    error(uVar7,uVar6);\n    return;" (default "default") (: ":") (expression_statement "uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);" (assignment_expression "uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5)" (identifier "uVar7") (= "=") (call_expression "dcgettext(0,"Invalid range list entry type %d\n",5)" (identifier "dcgettext") (argument_list "(0,"Invalid range list entry type %d\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Invalid range list entry type %d\n"" (" """) (string_content "Invalid range list entry type %d") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar7,uVar6);" (call_expression "error(uVar7,uVar6)" (identifier "error") (argument_list "(uVar7,uVar6)" (( "(") (identifier "uVar7") (, ",") (identifier "uVar6") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";"))) (case_statement "case 4:\n    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);\n    iVar8 = uVar1 + aiStack_20[0];\n    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);\n    uVar12 = iVar8 + aiStack_20[0];\n    break;" (case "case") (number_literal "4") (: ":") (expression_statement "lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);" (assignment_expression "lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2)" (identifier "lVar13") (= "=") (call_expression "FUN_0001dca0(uVar1,aiStack_20,0,param_2)" (identifier "FUN_0001dca0") (argument_list "(uVar1,aiStack_20,0,param_2)" (( "(") (identifier "uVar1") (, ",") (identifier "aiStack_20") (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar8 = uVar1 + aiStack_20[0];" (assignment_expression "iVar8 = uVar1 + aiStack_20[0]" (identifier "iVar8") (= "=") (binary_expression "uVar1 + aiStack_20[0]" (identifier "uVar1") (+ "+") (subscript_expression "aiStack_20[0]" (identifier "aiStack_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);" (assignment_expression "lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2)" (identifier "lVar14") (= "=") (call_expression "FUN_0001dca0(iVar8,aiStack_20,0,param_2)" (identifier "FUN_0001dca0") (argument_list "(iVar8,aiStack_20,0,param_2)" (( "(") (identifier "iVar8") (, ",") (identifier "aiStack_20") (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "uVar12 = iVar8 + aiStack_20[0];" (assignment_expression "uVar12 = iVar8 + aiStack_20[0]" (identifier "uVar12") (= "=") (binary_expression "iVar8 + aiStack_20[0]" (identifier "iVar8") (+ "+") (subscript_expression "aiStack_20[0]" (identifier "aiStack_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n    if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }\n    FUN_0001b1d0();\n    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);\n    printf(pcVar5);\n    uVar12 = param_3 + uVar1;\n    goto code_r0x0001fe30;" (case "case") (number_literal "5") (: ":") (if_statement "if (param_3 < 5) {\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }" (if "if") (parenthesized_expression "(param_3 < 5)" (( "(") (binary_expression "param_3 < 5" (identifier "param_3") (< "<") (number_literal "5")) () ")")) (compound_statement "{\n      if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }\n    }" ({ "{") (if_statement "if (param_3 + uVar1 < param_2) {\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }\n      else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }" (if "if") (parenthesized_expression "(param_3 + uVar1 < param_2)" (( "(") (binary_expression "param_3 + uVar1 < param_2" (binary_expression "param_3 + uVar1" (identifier "param_3") (+ "+") (identifier "uVar1")) (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n        uVar10 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;\n      }" ({ "{") (expression_statement "uVar10 = param_3 - 1;" (assignment_expression "uVar10 = param_3 - 1" (identifier "uVar10") (= "=") (binary_expression "param_3 - 1" (identifier "param_3") (- "-") (number_literal "1"))) (; ";")) (expression_statement "uVar12 = param_3;" (assignment_expression "uVar12 = param_3" (identifier "uVar12") (= "=") (identifier "param_3")) (; ";")) (labeled_statement "joined_r0x000201b3:\n        if (uVar10 < 8) goto code_r0x000201b9;" (statement_identifier "joined_r0x000201b3") (: ":") (if_statement "if (uVar10 < 8) goto code_r0x000201b9;" (if "if") (parenthesized_expression "(uVar10 < 8)" (( "(") (binary_expression "uVar10 < 8" (identifier "uVar10") (< "<") (number_literal "8")) () ")")) (goto_statement "goto code_r0x000201b9;" (goto "goto") (statement_identifier "code_r0x000201b9") (; ";")))) (} "}")) (else_clause "else {\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }" (else "else") (compound_statement "{\ncode_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }\n      }" ({ "{") (labeled_statement "code_r0x0002019d:\n        if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }" (statement_identifier "code_r0x0002019d") (: ":") (if_statement "if (uVar1 < param_2) {\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }" (if "if") (parenthesized_expression "(uVar1 < param_2)" (( "(") (binary_expression "uVar1 < param_2" (identifier "uVar1") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n          uVar10 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x000201b3;\n        }" ({ "{") (expression_statement "uVar10 = (param_2 - uVar1) - 1;" (assignment_expression "uVar10 = (param_2 - uVar1) - 1" (identifier "uVar10") (= "=") (binary_expression "(param_2 - uVar1) - 1" (parenthesized_expression "(param_2 - uVar1)" (( "(") (binary_expression "param_2 - uVar1" (identifier "param_2") (- "-") (identifier "uVar1")) () ")")) (- "-") (number_literal "1"))) (; ";")) (expression_statement "uVar12 = param_2 - uVar1;" (assignment_expression "uVar12 = param_2 - uVar1" (identifier "uVar12") (= "=") (binary_expression "param_2 - uVar1" (identifier "param_2") (- "-") (identifier "uVar1"))) (; ";")) (goto_statement "goto joined_r0x000201b3;" (goto "goto") (statement_identifier "joined_r0x000201b3") (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }" (else "else") (compound_statement "{\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,4);\n      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;\n      uVar12 = 4;\ncode_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);\n    }" ({ "{") (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (identifier "uVar6") (= "=") (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (identifier "dcngettext") (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (( "(") (number_literal "0") (, ",") (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" (" """) (string_content "internal error: attempt to read %d byte of data in to %d sized variable") (" """)) (, ",") (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" (" """) (string_content "internal error: attempt to read %d bytes of data in to %d sized variable") (" """)) (, ",") (identifier "param_3") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar6,param_3,4);" (call_expression "error(uVar6,param_3,4)" (identifier "error") (argument_list "(uVar6,param_3,4)" (( "(") (identifier "uVar6") (, ",") (identifier "param_3") (, ",") (number_literal "4") () ")"))) (; ";")) (if_statement "if (param_2 <= uVar12 + 5) goto code_r0x0002019d;" (if "if") (parenthesized_expression "(param_2 <= uVar12 + 5)" (( "(") (binary_expression "param_2 <= uVar12 + 5" (identifier "param_2") (<= "<=") (binary_expression "uVar12 + 5" (identifier "uVar12") (+ "+") (number_literal "5"))) () ")")) (goto_statement "goto code_r0x0002019d;" (goto "goto") (statement_identifier "code_r0x0002019d") (; ";"))) (expression_statement "uVar12 = 4;" (assignment_expression "uVar12 = 4" (identifier "uVar12") (= "=") (number_literal "4")) (; ";")) (labeled_statement "code_r0x000201b9:\n      (*DAT_00073aec)(uVar1,uVar12);" (statement_identifier "code_r0x000201b9") (: ":") (expression_statement "(*DAT_00073aec)(uVar1,uVar12);" (call_expression "(*DAT_00073aec)(uVar1,uVar12)" (parenthesized_expression "(*DAT_00073aec)" (( "(") (pointer_expression "*DAT_00073aec" (* "*") (identifier "DAT_00073aec")) () ")")) (argument_list "(uVar1,uVar12)" (( "(") (identifier "uVar1") (, ",") (identifier "uVar12") () ")"))) (; ";"))) (} "}")))) (expression_statement "FUN_0001b1d0();" (call_expression "FUN_0001b1d0()" (identifier "FUN_0001b1d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar5 = (char *)dcgettext(0,"(base address)\n",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"(base address)\n",5)" (identifier "pcVar5") (= "=") (cast_expression "(char *)dcgettext(0,"(base address)\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"(base address)\n",5)" (identifier "dcgettext") (argument_list "(0,"(base address)\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""(base address)\n"" (" """) (string_content "(base address)") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar5);" (call_expression "printf(pcVar5)" (identifier "printf") (argument_list "(pcVar5)" (( "(") (identifier "pcVar5") () ")"))) (; ";")) (expression_statement "uVar12 = param_3 + uVar1;" (assignment_expression "uVar12 = param_3 + uVar1" (identifier "uVar12") (= "=") (binary_expression "param_3 + uVar1" (identifier "param_3") (+ "+") (identifier "uVar1"))) (; ";")) (goto_statement "goto code_r0x0001fe30;" (goto "goto") (statement_identifier "code_r0x0001fe30") (; ";"))) (case_statement "case 6:\n    uVar11 = param_3 + uVar1;\n    uVar10 = uVar4;\n    if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }\ncode_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }\n    uVar12 = uVar11 + param_3;\n    break;" (case "case") (number_literal "6") (: ":") (expression_statement "uVar11 = param_3 + uVar1;" (assignment_expression "uVar11 = param_3 + uVar1" (identifier "uVar11") (= "=") (binary_expression "param_3 + uVar1" (identifier "param_3") (+ "+") (identifier "uVar1"))) (; ";")) (expression_statement "uVar10 = uVar4;" (assignment_expression "uVar10 = uVar4" (identifier "uVar10") (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (param_3 < 9) {\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }" (if "if") (parenthesized_expression "(param_3 < 9)" (( "(") (binary_expression "param_3 < 9" (identifier "param_3") (< "<") (number_literal "9")) () ")")) (compound_statement "{\n      if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }\n    }" ({ "{") (if_statement "if (uVar11 < param_2) {\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }\n      else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }" (if "if") (parenthesized_expression "(uVar11 < param_2)" (( "(") (binary_expression "uVar11 < param_2" (identifier "uVar11") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n        uVar12 = param_3;\n        uVar10 = param_3;\n        if (param_3 - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n      }" ({ "{") (expression_statement "uVar12 = param_3;" (assignment_expression "uVar12 = param_3" (identifier "uVar12") (= "=") (identifier "param_3")) (; ";")) (expression_statement "uVar10 = param_3;" (assignment_expression "uVar10 = param_3" (identifier "uVar10") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (param_3 - 1 < 8) goto code_r0x0001ff31;" (if "if") (parenthesized_expression "(param_3 - 1 < 8)" (( "(") (binary_expression "param_3 - 1 < 8" (binary_expression "param_3 - 1" (identifier "param_3") (- "-") (number_literal "1")) (< "<") (number_literal "8")) () ")")) (goto_statement "goto code_r0x0001ff31;" (goto "goto") (statement_identifier "code_r0x0001ff31") (; ";"))) (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" (identifier "lVar13") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }" (else "else") (if_statement "if (uVar1 < param_2) {\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }\n      else {\n        lVar13 = 0;\n      }" (if "if") (parenthesized_expression "(uVar1 < param_2)" (( "(") (binary_expression "uVar1 < param_2" (identifier "uVar1") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\ncode_r0x000202aa:\n        uVar12 = param_2 - uVar1;\n        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;\n        lVar13 = 0;\n        lVar14 = 0;\n        if (8 < param_3) goto code_r0x000202ec;\n      }" ({ "{") (labeled_statement "code_r0x000202aa:\n        uVar12 = param_2 - uVar1;" (statement_identifier "code_r0x000202aa") (: ":") (expression_statement "uVar12 = param_2 - uVar1;" (assignment_expression "uVar12 = param_2 - uVar1" (identifier "uVar12") (= "=") (binary_expression "param_2 - uVar1" (identifier "param_2") (- "-") (identifier "uVar1"))) (; ";"))) (if_statement "if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;" (if "if") (parenthesized_expression "((param_2 - uVar1) - 1 < 8)" (( "(") (binary_expression "(param_2 - uVar1) - 1 < 8" (binary_expression "(param_2 - uVar1) - 1" (parenthesized_expression "(param_2 - uVar1)" (( "(") (binary_expression "param_2 - uVar1" (identifier "param_2") (- "-") (identifier "uVar1")) () ")")) (- "-") (number_literal "1")) (< "<") (number_literal "8")) () ")")) (goto_statement "goto code_r0x0001ff31;" (goto "goto") (statement_identifier "code_r0x0001ff31") (; ";"))) (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" (identifier "lVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" (identifier "lVar14") (= "=") (number_literal "0")) (; ";")) (if_statement "if (8 < param_3) goto code_r0x000202ec;" (if "if") (parenthesized_expression "(8 < param_3)" (( "(") (binary_expression "8 < param_3" (number_literal "8") (< "<") (identifier "param_3")) () ")")) (goto_statement "goto code_r0x000202ec;" (goto "goto") (statement_identifier "code_r0x000202ec") (; ";"))) (} "}")) (else_clause "else {\n        lVar13 = 0;\n      }" (else "else") (compound_statement "{\n        lVar13 = 0;\n      }" ({ "{") (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" (identifier "lVar13") (= "=") (number_literal "0")) (; ";")) (} "}")))))) (} "}")) (else_clause "else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }" (else "else") (compound_statement "{\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }\ncode_r0x000202ec:\n      lVar13 = lVar14;\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n    }" ({ "{") (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (identifier "uVar6") (= "=") (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (identifier "dcngettext") (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (( "(") (number_literal "0") (, ",") (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" (" """) (string_content "internal error: attempt to read %d byte of data in to %d sized variable") (" """)) (, ",") (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" (" """) (string_content "internal error: attempt to read %d bytes of data in to %d sized variable") (" """)) (, ",") (identifier "param_3") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar6,param_3,8);" (call_expression "error(uVar6,param_3,8)" (identifier "error") (argument_list "(uVar6,param_3,8)" (( "(") (identifier "uVar6") (, ",") (identifier "param_3") (, ",") (number_literal "8") () ")"))) (; ";")) (if_statement "if (uVar12 + 9 < param_2) {\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }\n      else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }" (if "if") (parenthesized_expression "(uVar12 + 9 < param_2)" (( "(") (binary_expression "uVar12 + 9 < param_2" (binary_expression "uVar12 + 9" (identifier "uVar12") (+ "+") (number_literal "9")) (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n        uVar12 = 8;\n        uVar10 = 8;\ncode_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n        lVar14 = lVar13;\n        if (param_3 < 9) goto code_r0x0001ff52;\n      }" ({ "{") (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" (identifier "uVar12") (= "=") (number_literal "8")) (; ";")) (expression_statement "uVar10 = 8;" (assignment_expression "uVar10 = 8" (identifier "uVar10") (= "=") (number_literal "8")) (; ";")) (labeled_statement "code_r0x0001ff31:\n        lVar13 = (*DAT_00073aec)(uVar1,uVar12);" (statement_identifier "code_r0x0001ff31") (: ":") (expression_statement "lVar13 = (*DAT_00073aec)(uVar1,uVar12);" (assignment_expression "lVar13 = (*DAT_00073aec)(uVar1,uVar12)" (identifier "lVar13") (= "=") (call_expression "(*DAT_00073aec)(uVar1,uVar12)" (parenthesized_expression "(*DAT_00073aec)" (( "(") (pointer_expression "*DAT_00073aec" (* "*") (identifier "DAT_00073aec")) () ")")) (argument_list "(uVar1,uVar12)" (( "(") (identifier "uVar1") (, ",") (identifier "uVar12") () ")")))) (; ";"))) (expression_statement "lVar14 = lVar13;" (assignment_expression "lVar14 = lVar13" (identifier "lVar14") (= "=") (identifier "lVar13")) (; ";")) (if_statement "if (param_3 < 9) goto code_r0x0001ff52;" (if "if") (parenthesized_expression "(param_3 < 9)" (( "(") (binary_expression "param_3 < 9" (identifier "param_3") (< "<") (number_literal "9")) () ")")) (goto_statement "goto code_r0x0001ff52;" (goto "goto") (statement_identifier "code_r0x0001ff52") (; ";"))) (} "}")) (else_clause "else {\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }" (else "else") (compound_statement "{\n        if (uVar1 < param_2) goto code_r0x000202aa;\n        lVar14 = 0;\n      }" ({ "{") (if_statement "if (uVar1 < param_2) goto code_r0x000202aa;" (if "if") (parenthesized_expression "(uVar1 < param_2)" (( "(") (binary_expression "uVar1 < param_2" (identifier "uVar1") (< "<") (identifier "param_2")) () ")")) (goto_statement "goto code_r0x000202aa;" (goto "goto") (statement_identifier "code_r0x000202aa") (; ";"))) (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" (identifier "lVar14") (= "=") (number_literal "0")) (; ";")) (} "}")))) (labeled_statement "code_r0x000202ec:\n      lVar13 = lVar14;" (statement_identifier "code_r0x000202ec") (: ":") (expression_statement "lVar13 = lVar14;" (assignment_expression "lVar13 = lVar14" (identifier "lVar13") (= "=") (identifier "lVar14")) (; ";"))) (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (identifier "uVar6") (= "=") (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (identifier "dcngettext") (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (( "(") (number_literal "0") (, ",") (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" (" """) (string_content "internal error: attempt to read %d byte of data in to %d sized variable") (" """)) (, ",") (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" (" """) (string_content "internal error: attempt to read %d bytes of data in to %d sized variable") (" """)) (, ",") (identifier "param_3") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar6,param_3,8);" (call_expression "error(uVar6,param_3,8)" (identifier "error") (argument_list "(uVar6,param_3,8)" (( "(") (identifier "uVar6") (, ",") (identifier "param_3") (, ",") (number_literal "8") () ")"))) (; ";")) (} "}")))) (labeled_statement "code_r0x0001ff52:\n    if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" (statement_identifier "code_r0x0001ff52") (: ":") (if_statement "if (uVar11 + uVar10 < param_2) {\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }\n    else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" (if "if") (parenthesized_expression "(uVar11 + uVar10 < param_2)" (( "(") (binary_expression "uVar11 + uVar10 < param_2" (binary_expression "uVar11 + uVar10" (identifier "uVar11") (+ "+") (identifier "uVar10")) (< "<") (identifier "param_2")) () ")")) (compound_statement "{\ncode_r0x0001ff77:\n      lVar14 = 0;\n      if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }\n    }" ({ "{") (labeled_statement "code_r0x0001ff77:\n      lVar14 = 0;" (statement_identifier "code_r0x0001ff77") (: ":") (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" (identifier "lVar14") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (uVar10 - 1 < 8) {\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }" (if "if") (parenthesized_expression "(uVar10 - 1 < 8)" (( "(") (binary_expression "uVar10 - 1 < 8" (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) (< "<") (number_literal "8")) () ")")) (compound_statement "{\n        lVar14 = (*DAT_00073aec)(uVar11,uVar10);\n      }" ({ "{") (expression_statement "lVar14 = (*DAT_00073aec)(uVar11,uVar10);" (assignment_expression "lVar14 = (*DAT_00073aec)(uVar11,uVar10)" (identifier "lVar14") (= "=") (call_expression "(*DAT_00073aec)(uVar11,uVar10)" (parenthesized_expression "(*DAT_00073aec)" (( "(") (pointer_expression "*DAT_00073aec" (* "*") (identifier "DAT_00073aec")) () ")")) (argument_list "(uVar11,uVar10)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar10") () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" (else "else") (compound_statement "{\n      lVar14 = 0;\n      if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }\n    }" ({ "{") (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" (identifier "lVar14") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar11 < param_2) {\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }" (if "if") (parenthesized_expression "(uVar11 < param_2)" (( "(") (binary_expression "uVar11 < param_2" (identifier "uVar11") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n        uVar10 = param_2 - uVar11;\n        goto code_r0x0001ff77;\n      }" ({ "{") (expression_statement "uVar10 = param_2 - uVar11;" (assignment_expression "uVar10 = param_2 - uVar11" (identifier "uVar10") (= "=") (binary_expression "param_2 - uVar11" (identifier "param_2") (- "-") (identifier "uVar11"))) (; ";")) (goto_statement "goto code_r0x0001ff77;" (goto "goto") (statement_identifier "code_r0x0001ff77") (; ";")) (} "}"))) (} "}"))))) (expression_statement "uVar12 = uVar11 + param_3;" (assignment_expression "uVar12 = uVar11 + param_3" (identifier "uVar12") (= "=") (binary_expression "uVar11 + param_3" (identifier "uVar11") (+ "+") (identifier "param_3"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 7:\n    uVar10 = param_3 + uVar1;\n    if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }\n    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);\n    uVar12 = uVar10 + aiStack_20[0];\n    lVar14 = lVar13 + lVar14;" (case "case") (number_literal "7") (: ":") (expression_statement "uVar10 = param_3 + uVar1;" (assignment_expression "uVar10 = param_3 + uVar1" (identifier "uVar10") (= "=") (binary_expression "param_3 + uVar1" (identifier "param_3") (+ "+") (identifier "uVar1"))) (; ";")) (if_statement "if (param_3 < 9) {\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }\n    else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }" (if "if") (parenthesized_expression "(param_3 < 9)" (( "(") (binary_expression "param_3 < 9" (identifier "param_3") (< "<") (number_literal "9")) () ")")) (compound_statement "{\n      if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }\n      lVar13 = 0;\n    }" ({ "{") (if_statement "if (uVar10 < param_2) {\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }\n      else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }" (if "if") (parenthesized_expression "(uVar10 < param_2)" (( "(") (binary_expression "uVar10 < param_2" (identifier "uVar10") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n        uVar11 = param_3 - 1;\n        uVar12 = param_3;\njoined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;\n      }" ({ "{") (expression_statement "uVar11 = param_3 - 1;" (assignment_expression "uVar11 = param_3 - 1" (identifier "uVar11") (= "=") (binary_expression "param_3 - 1" (identifier "param_3") (- "-") (number_literal "1"))) (; ";")) (expression_statement "uVar12 = param_3;" (assignment_expression "uVar12 = param_3" (identifier "uVar12") (= "=") (identifier "param_3")) (; ";")) (labeled_statement "joined_r0x00020253:\n        if (uVar11 < 8) goto code_r0x00020259;" (statement_identifier "joined_r0x00020253") (: ":") (if_statement "if (uVar11 < 8) goto code_r0x00020259;" (if "if") (parenthesized_expression "(uVar11 < 8)" (( "(") (binary_expression "uVar11 < 8" (identifier "uVar11") (< "<") (number_literal "8")) () ")")) (goto_statement "goto code_r0x00020259;" (goto "goto") (statement_identifier "code_r0x00020259") (; ";")))) (} "}")) (else_clause "else {\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }" (else "else") (compound_statement "{\ncode_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }\n      }" ({ "{") (labeled_statement "code_r0x0002023d:\n        if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }" (statement_identifier "code_r0x0002023d") (: ":") (if_statement "if (uVar1 < param_2) {\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }" (if "if") (parenthesized_expression "(uVar1 < param_2)" (( "(") (binary_expression "uVar1 < param_2" (identifier "uVar1") (< "<") (identifier "param_2")) () ")")) (compound_statement "{\n          uVar11 = (param_2 - uVar1) - 1;\n          uVar12 = param_2 - uVar1;\n          goto joined_r0x00020253;\n        }" ({ "{") (expression_statement "uVar11 = (param_2 - uVar1) - 1;" (assignment_expression "uVar11 = (param_2 - uVar1) - 1" (identifier "uVar11") (= "=") (binary_expression "(param_2 - uVar1) - 1" (parenthesized_expression "(param_2 - uVar1)" (( "(") (binary_expression "param_2 - uVar1" (identifier "param_2") (- "-") (identifier "uVar1")) () ")")) (- "-") (number_literal "1"))) (; ";")) (expression_statement "uVar12 = param_2 - uVar1;" (assignment_expression "uVar12 = param_2 - uVar1" (identifier "uVar12") (= "=") (binary_expression "param_2 - uVar1" (identifier "param_2") (- "-") (identifier "uVar1"))) (; ";")) (goto_statement "goto joined_r0x00020253;" (goto "goto") (statement_identifier "joined_r0x00020253") (; ";")) (} "}")))) (} "}")))) (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" (identifier "lVar13") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }" (else "else") (compound_statement "{\n      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);\n      error(uVar6,param_3,8);\n      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;\n      uVar12 = 8;\ncode_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);\n    }" ({ "{") (expression_statement "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5);" (assignment_expression "uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (identifier "uVar6") (= "=") (call_expression "dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (identifier "dcngettext") (argument_list "(0,"internal error: attempt to read %d byte of data in to %d sized variable"\n                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"\n                         ,param_3,5)" (( "(") (number_literal "0") (, ",") (string_literal ""internal error: attempt to read %d byte of data in to %d sized variable"" (" """) (string_content "internal error: attempt to read %d byte of data in to %d sized variable") (" """)) (, ",") (string_literal ""internal error: attempt to read %d bytes of data in to %d sized variable"" (" """) (string_content "internal error: attempt to read %d bytes of data in to %d sized variable") (" """)) (, ",") (identifier "param_3") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "error(uVar6,param_3,8);" (call_expression "error(uVar6,param_3,8)" (identifier "error") (argument_list "(uVar6,param_3,8)" (( "(") (identifier "uVar6") (, ",") (identifier "param_3") (, ",") (number_literal "8") () ")"))) (; ";")) (if_statement "if (param_2 <= uVar12 + 9) goto code_r0x0002023d;" (if "if") (parenthesized_expression "(param_2 <= uVar12 + 9)" (( "(") (binary_expression "param_2 <= uVar12 + 9" (identifier "param_2") (<= "<=") (binary_expression "uVar12 + 9" (identifier "uVar12") (+ "+") (number_literal "9"))) () ")")) (goto_statement "goto code_r0x0002023d;" (goto "goto") (statement_identifier "code_r0x0002023d") (; ";"))) (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" (identifier "uVar12") (= "=") (number_literal "8")) (; ";")) (labeled_statement "code_r0x00020259:\n      lVar13 = (*DAT_00073aec)(uVar1,uVar12);" (statement_identifier "code_r0x00020259") (: ":") (expression_statement "lVar13 = (*DAT_00073aec)(uVar1,uVar12);" (assignment_expression "lVar13 = (*DAT_00073aec)(uVar1,uVar12)" (identifier "lVar13") (= "=") (call_expression "(*DAT_00073aec)(uVar1,uVar12)" (parenthesized_expression "(*DAT_00073aec)" (( "(") (pointer_expression "*DAT_00073aec" (* "*") (identifier "DAT_00073aec")) () ")")) (argument_list "(uVar1,uVar12)" (( "(") (identifier "uVar1") (, ",") (identifier "uVar12") () ")")))) (; ";"))) (} "}")))) (expression_statement "lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);" (assignment_expression "lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2)" (identifier "lVar14") (= "=") (call_expression "FUN_0001dca0(uVar10,aiStack_20,0,param_2)" (identifier "FUN_0001dca0") (argument_list "(uVar10,aiStack_20,0,param_2)" (( "(") (identifier "uVar10") (, ",") (identifier "aiStack_20") (, ",") (number_literal "0") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "uVar12 = uVar10 + aiStack_20[0];" (assignment_expression "uVar12 = uVar10 + aiStack_20[0]" (identifier "uVar12") (= "=") (binary_expression "uVar10 + aiStack_20[0]" (identifier "uVar10") (+ "+") (subscript_expression "aiStack_20[0]" (identifier "aiStack_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "lVar14 = lVar13 + lVar14;" (assignment_expression "lVar14 = lVar13 + lVar14" (identifier "lVar14") (= "=") (binary_expression "lVar13 + lVar14" (identifier "lVar13") (+ "+") (identifier "lVar14"))) (; ";"))) (} "}"))) (expression_statement "uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);" (assignment_expression "uStack_40 = (uint)((ulonglong)lVar14 >> 0x20)" (identifier "uStack_40") (= "=") (call_expression "(uint)((ulonglong)lVar14 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar14 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar14 >> 0x20" (cast_expression "(ulonglong)lVar14" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar14")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uStack_44 = (uint)lVar14;" (assignment_expression "uStack_44 = (uint)lVar14" (identifier "uStack_44") (= "=") (cast_expression "(uint)lVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar14"))) (; ";")) (expression_statement "uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);" (assignment_expression "uStack_48 = (uint)((ulonglong)lVar13 >> 0x20)" (identifier "uStack_48") (= "=") (call_expression "(uint)((ulonglong)lVar13 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar13 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar13 >> 0x20" (cast_expression "(ulonglong)lVar13" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar13")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uStack_4c = (uint)lVar13;" (assignment_expression "uStack_4c = (uint)lVar13" (identifier "uStack_4c") (= "=") (cast_expression "(uint)lVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar13"))) (; ";")) (expression_statement "FUN_0001b1d0();" (call_expression "FUN_0001b1d0()" (identifier "FUN_0001b1d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_0001b1d0();" (call_expression "FUN_0001b1d0()" (identifier "FUN_0001b1d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar3 = PTR_stdout_0006ffdc;" (assignment_expression "puVar3 = PTR_stdout_0006ffdc" (identifier "puVar3") (= "=") (identifier "PTR_stdout_0006ffdc")) (; ";")) (if_statement "if (lVar13 == lVar14) {\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }\n  else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }" (if "if") (parenthesized_expression "(lVar13 == lVar14)" (( "(") (binary_expression "lVar13 == lVar14" (identifier "lVar13") (== "==") (identifier "lVar14")) () ")")) (compound_statement "{\n    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;\n    pcVar5 = (char *)dcgettext(0,"(start == end)",5);\n    fputs(pcVar5,pFVar9);\n    pFVar9 = *(FILE **)puVar3;\n  }" ({ "{") (expression_statement "pFVar9 = *(FILE **)PTR_stdout_0006ffdc;" (assignment_expression "pFVar9 = *(FILE **)PTR_stdout_0006ffdc" (identifier "pFVar9") (= "=") (pointer_expression "*(FILE **)PTR_stdout_0006ffdc" (* "*") (cast_expression "(FILE **)PTR_stdout_0006ffdc" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_0006ffdc")))) (; ";")) (expression_statement "pcVar5 = (char *)dcgettext(0,"(start == end)",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"(start == end)",5)" (identifier "pcVar5") (= "=") (cast_expression "(char *)dcgettext(0,"(start == end)",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"(start == end)",5)" (identifier "dcgettext") (argument_list "(0,"(start == end)",5)" (( "(") (number_literal "0") (, ",") (string_literal ""(start == end)"" (" """) (string_content "(start == end)") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fputs(pcVar5,pFVar9);" (call_expression "fputs(pcVar5,pFVar9)" (identifier "fputs") (argument_list "(pcVar5,pFVar9)" (( "(") (identifier "pcVar5") (, ",") (identifier "pFVar9") () ")"))) (; ";")) (expression_statement "pFVar9 = *(FILE **)puVar3;" (assignment_expression "pFVar9 = *(FILE **)puVar3" (identifier "pFVar9") (= "=") (pointer_expression "*(FILE **)puVar3" (* "*") (cast_expression "(FILE **)puVar3" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar3")))) (; ";")) (} "}")) (else_clause "else {\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }" (else "else") (compound_statement "{\n    pFVar9 = *(FILE **)puVar2;\n    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }\n  }" ({ "{") (expression_statement "pFVar9 = *(FILE **)puVar2;" (assignment_expression "pFVar9 = *(FILE **)puVar2" (identifier "pFVar9") (= "=") (pointer_expression "*(FILE **)puVar2" (* "*") (cast_expression "(FILE **)puVar2" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar2")))) (; ";")) (if_statement "if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }" (if "if") (parenthesized_expression "(uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c))" (( "(") (binary_expression "uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)" (binary_expression "uStack_40 < uStack_48" (identifier "uStack_40") (< "<") (identifier "uStack_48")) (|| "||") (binary_expression "uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)" (binary_expression "uStack_40 - uStack_48" (identifier "uStack_40") (- "-") (identifier "uStack_48")) (< "<") (call_expression "(uint)(uStack_44 < uStack_4c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uStack_44 < uStack_4c)" (( "(") (binary_expression "uStack_44 < uStack_4c" (identifier "uStack_44") (< "<") (identifier "uStack_4c")) () ")"))))) () ")")) (compound_statement "{\n      pcVar5 = (char *)dcgettext(0,"(start > end)",5);\n      fputs(pcVar5,pFVar9);\n      pFVar9 = *(FILE **)puVar2;\n    }" ({ "{") (expression_statement "pcVar5 = (char *)dcgettext(0,"(start > end)",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"(start > end)",5)" (identifier "pcVar5") (= "=") (cast_expression "(char *)dcgettext(0,"(start > end)",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"(start > end)",5)" (identifier "dcgettext") (argument_list "(0,"(start > end)",5)" (( "(") (number_literal "0") (, ",") (string_literal ""(start > end)"" (" """) (string_content "(start > end)") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "fputs(pcVar5,pFVar9);" (call_expression "fputs(pcVar5,pFVar9)" (identifier "fputs") (argument_list "(pcVar5,pFVar9)" (( "(") (identifier "pcVar5") (, ",") (identifier "pFVar9") () ")"))) (; ";")) (expression_statement "pFVar9 = *(FILE **)puVar2;" (assignment_expression "pFVar9 = *(FILE **)puVar2" (identifier "pFVar9") (= "=") (pointer_expression "*(FILE **)puVar2" (* "*") (cast_expression "(FILE **)puVar2" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar2")))) (; ";")) (} "}"))) (} "}")))) (expression_statement "putc(10,pFVar9);" (call_expression "putc(10,pFVar9)" (identifier "putc") (argument_list "(10,pFVar9)" (( "(") (number_literal "10") (, ",") (identifier "pFVar9") () ")"))) (; ";")) (goto_statement "goto code_r0x0001fe30;" (goto "goto") (statement_identifier "code_r0x0001fe30") (; ";")) (} "}")))

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

void function_1
               (type_1 *start,type_1 *var_3,type_2 var_1,type_3 var_8,type_3 var_19)

{
  type_4 *puVar1;
  type_4 *puVar2;
  type_2 uVar3;
  char *pcVar4;
  type_2 var_12;
  char *message;
  type_2 var_16;
  type_5 eVar11;
  type_1 *var_4;
  type_6 *pFVar8;
  type_1 *var_15;
  type_1 *var_2;
  type_7 var_18;
  type_8 var_17;
  type_2 var_11;
  type_9 uStack_14;
  
  puVar1 = PTR_stdout_0006ffdc;
  uStack_14 = 0x1fdfe;
  var_2 = start;
  uVar3 = 8;
  if (var_1 < 9) {
    uVar3 = var_1;
  }
LAB_0001fe30:
  var_4 = var_2 + 1;
  if (var_3 < var_4) {
    pcVar4 = (char *)var_5(0,"Range list starting at offset 0x%lx is not terminated.\n",5);
    var_6(pcVar4,var_8);
    return;
  }
  var_7("    %8.8lx ",var_2 + (var_8 - (int)start));
  if ((var_4 == var_3) && (var_3 <= var_2)) {
_L935:
    pcVar4 = (char *)var_5(0,"<End of list>\n",5);
    var_7(pcVar4);
    return;
  }
  eVar11._0_4_ = (*byte_get)(var_2,1);
  switch((type_9)(type_5)eVar11) {
  case 0:
    goto _L935;
  default:
    pcVar4 = (char *)var_5(0,"Invalid range list entry type %d\n",5);
    var_9(pcVar4,(type_9)(type_5)eVar11);
    return;
  case 4:
    var_18 = var_10(var_4,&var_11,0,var_3);
    var_4 = var_4 + var_11;
    var_17 = var_10(var_4,&var_11,0,var_3);
    var_2 = var_4 + var_11;
    break;
  case 5:
    if (var_1 < 5) {
      if (var_4 + var_1 < var_3) {
        var_12 = var_1 - 1;
        var_16 = var_1;
joined_r0x000201b3:
        if (var_12 < 8) goto LAB_000201b9;
      }
      else {
LAB_0002019d:
        if (var_4 < var_3) {
          var_12 = ((int)var_3 - (int)var_4) - 1;
          var_16 = (int)var_3 - (int)var_4;
          goto joined_r0x000201b3;
        }
      }
      var_19 = 0;
    }
    else {
      pcVar4 = (char *)var_13(0,
                                  "internal error: attempt to read %d byte of data in to %d sized variable"
                                  ,
                                  "internal error: attempt to read %d bytes of data in to %d sized variable"
                                  ,var_1,5);
      var_9(pcVar4,var_1,4);
      if (var_3 <= var_2 + 5) goto LAB_0002019d;
      var_16 = 4;
LAB_000201b9:
      var_19 = (type_3)(*byte_get)(var_4,var_16);
    }
    var_14(var_18,var_19);
    pcVar4 = (char *)var_5(0,"(base address)\n",5);
    var_7(pcVar4);
    var_2 = var_4 + var_1;
    goto LAB_0001fe30;
  case 6:
    var_15 = var_4 + var_1;
    var_16 = uVar3;
    if (var_1 < 9) {
      if (var_15 < var_3) {
        var_12 = var_1;
        var_16 = var_1;
        if (var_1 - 1 < 8) goto LAB_0001ff31;
        var_18 = 0;
      }
      else if (var_4 < var_3) {
LAB_000202aa:
        var_12 = (int)var_3 - (int)var_4;
        if (((int)var_3 - (int)var_4) - 1U < 8) goto LAB_0001ff31;
        var_18 = 0;
        if (8 < var_1) goto LAB_000202e0;
      }
      else {
        var_18 = 0;
      }
    }
    else {
      pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";
      message = (char *)var_13(0,
                                   "internal error: attempt to read %d byte of data in to %d sized variable"
                                   ,
                                   "internal error: attempt to read %d bytes of data in to %d sized variable"
                                   ,var_1,5);
      var_9(message,var_1,8);
      if (var_2 + 9 < var_3) {
        var_12 = 8;
        var_16 = 8;
LAB_0001ff31:
        var_18 = (*byte_get)(var_4,var_12);
        if (var_1 < 9) goto LAB_0001ff52;
LAB_000202e0:
        pcVar4 = "internal error: attempt to read %d byte of data in to %d sized variable";
      }
      else {
        if (var_4 < var_3) goto LAB_000202aa;
        var_18 = 0;
      }
      pcVar4 = (char *)var_13(0,pcVar4,
                                  "internal error: attempt to read %d bytes of data in to %d sized variable"
                                  ,var_1,5);
      var_9(pcVar4,var_1,8);
    }
LAB_0001ff52:
    if (var_15 + var_16 < var_3) {
LAB_0001ff77:
      var_17 = 0;
      if (var_16 - 1 < 8) {
        var_17 = (*byte_get)(var_15,var_16);
      }
    }
    else {
      var_17 = 0;
      if (var_15 < var_3) {
        var_16 = (int)var_3 - (int)var_15;
        goto LAB_0001ff77;
      }
    }
    var_2 = var_15 + var_1;
    break;
  case 7:
    var_15 = var_4 + var_1;
    if (var_1 < 9) {
      if (var_15 < var_3) {
        var_12 = var_1 - 1;
        var_16 = var_1;
joined_r0x00020253:
        if (var_12 < 8) goto LAB_00020259;
      }
      else {
LAB_0002023d:
        if (var_4 < var_3) {
          var_12 = ((int)var_3 - (int)var_4) - 1;
          var_16 = (int)var_3 - (int)var_4;
          goto joined_r0x00020253;
        }
      }
      var_18 = 0;
    }
    else {
      pcVar4 = (char *)var_13(0,
                                  "internal error: attempt to read %d byte of data in to %d sized variable"
                                  ,
                                  "internal error: attempt to read %d bytes of data in to %d sized variable"
                                  ,var_1,5);
      var_9(pcVar4,var_1,8);
      if (var_3 <= var_2 + 9) goto LAB_0002023d;
      var_16 = 8;
LAB_00020259:
      var_18 = (*byte_get)(var_4,var_16);
    }
    var_17 = var_10(var_15,&var_11,0,var_3);
    var_2 = var_15 + var_11;
    var_17 = var_17 + var_18;
  }
  var_14(var_18,(int)var_18 + var_19);
  var_14(var_18,var_19 + (type_2)var_17);
  puVar2 = PTR_stdout_0006ffdc;
  var_16 = (type_2)(var_18 >> 0x20);
  if (var_16 == var_17._4_4_ && (type_2)var_18 == (type_2)var_17) {
    pFVar8 = *(type_6 **)PTR_stdout_0006ffdc;
    pcVar4 = (char *)var_5(0,"(start == end)",5);
    var_20(pcVar4,pFVar8);
    pFVar8 = *(type_6 **)puVar2;
  }
  else {
    pFVar8 = *(type_6 **)puVar1;
    if (var_17._4_4_ < var_16 ||
        var_17._4_4_ - var_16 < (type_2)((type_2)var_17 < (type_2)var_18)) {
      pcVar4 = (char *)var_5(0,"(start > end)",5);
      var_20(pcVar4,pFVar8);
      pFVar8 = *(type_6 **)puVar1;
    }
  }
  var_21(10,pFVar8);
  goto LAB_0001fe30;
}


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

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

void MASKED(uint param_1,uint param_2,uint param_3,int param_4)

{
  uint uVar1;
  undefined *puVar2;
  undefined *puVar3;
  uint uVar4;
  char *pcVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  int iVar8;
  FILE *pFVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  longlong lVar13;
  longlong lVar14;
  uint uStack_4c;
  uint uStack_48;
  uint uStack_44;
  uint uStack_40;
  int aiStack_20 [3];
  undefined4 uStack_14;
  
  puVar2 = PTR_stdout_0006ffdc;
  uStack_14 = 0x1fdfe;
  uVar12 = param_1;
  uVar4 = 8;
  if (param_3 < 9) {
    uVar4 = param_3;
  }
code_r0x0001fe30:
  uVar1 = uVar12 + 1;
  if (param_2 < uVar1) {
    uVar6 = dcgettext(0,"Range list starting at offset 0x%lx is not terminated.\n",5);
    warn(uVar6,param_4);
    return;
  }
  printf("    %8.8lx ",(uVar12 - param_1) + param_4);
  if ((uVar1 == param_2) && (param_2 <= uVar12)) {
code_r0x0001fe66:
    pcVar5 = (char *)dcgettext(0,"<End of list>\n",5);
    printf(pcVar5);
    return;
  }
  uVar6 = (*DAT_00073aec)(uVar12,1);
  switch(uVar6) {
  case 0:
    goto code_r0x0001fe66;
  default:
    uVar7 = dcgettext(0,"Invalid range list entry type %d\n",5);
    error(uVar7,uVar6);
    return;
  case 4:
    lVar13 = FUN_0001dca0(uVar1,aiStack_20,0,param_2);
    iVar8 = uVar1 + aiStack_20[0];
    lVar14 = FUN_0001dca0(iVar8,aiStack_20,0,param_2);
    uVar12 = iVar8 + aiStack_20[0];
    break;
  case 5:
    if (param_3 < 5) {
      if (param_3 + uVar1 < param_2) {
        uVar10 = param_3 - 1;
        uVar12 = param_3;
joined_r0x000201b3:
        if (uVar10 < 8) goto code_r0x000201b9;
      }
      else {
code_r0x0002019d:
        if (uVar1 < param_2) {
          uVar10 = (param_2 - uVar1) - 1;
          uVar12 = param_2 - uVar1;
          goto joined_r0x000201b3;
        }
      }
    }
    else {
      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"
                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"
                         ,param_3,5);
      error(uVar6,param_3,4);
      if (param_2 <= uVar12 + 5) goto code_r0x0002019d;
      uVar12 = 4;
code_r0x000201b9:
      (*DAT_00073aec)(uVar1,uVar12);
    }
    FUN_0001b1d0();
    pcVar5 = (char *)dcgettext(0,"(base address)\n",5);
    printf(pcVar5);
    uVar12 = param_3 + uVar1;
    goto code_r0x0001fe30;
  case 6:
    uVar11 = param_3 + uVar1;
    uVar10 = uVar4;
    if (param_3 < 9) {
      if (uVar11 < param_2) {
        uVar12 = param_3;
        uVar10 = param_3;
        if (param_3 - 1 < 8) goto code_r0x0001ff31;
        lVar13 = 0;
      }
      else if (uVar1 < param_2) {
code_r0x000202aa:
        uVar12 = param_2 - uVar1;
        if ((param_2 - uVar1) - 1 < 8) goto code_r0x0001ff31;
        lVar13 = 0;
        lVar14 = 0;
        if (8 < param_3) goto code_r0x000202ec;
      }
      else {
        lVar13 = 0;
      }
    }
    else {
      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"
                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"
                         ,param_3,5);
      error(uVar6,param_3,8);
      if (uVar12 + 9 < param_2) {
        uVar12 = 8;
        uVar10 = 8;
code_r0x0001ff31:
        lVar13 = (*DAT_00073aec)(uVar1,uVar12);
        lVar14 = lVar13;
        if (param_3 < 9) goto code_r0x0001ff52;
      }
      else {
        if (uVar1 < param_2) goto code_r0x000202aa;
        lVar14 = 0;
      }
code_r0x000202ec:
      lVar13 = lVar14;
      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"
                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"
                         ,param_3,5);
      error(uVar6,param_3,8);
    }
code_r0x0001ff52:
    if (uVar11 + uVar10 < param_2) {
code_r0x0001ff77:
      lVar14 = 0;
      if (uVar10 - 1 < 8) {
        lVar14 = (*DAT_00073aec)(uVar11,uVar10);
      }
    }
    else {
      lVar14 = 0;
      if (uVar11 < param_2) {
        uVar10 = param_2 - uVar11;
        goto code_r0x0001ff77;
      }
    }
    uVar12 = uVar11 + param_3;
    break;
  case 7:
    uVar10 = param_3 + uVar1;
    if (param_3 < 9) {
      if (uVar10 < param_2) {
        uVar11 = param_3 - 1;
        uVar12 = param_3;
joined_r0x00020253:
        if (uVar11 < 8) goto code_r0x00020259;
      }
      else {
code_r0x0002023d:
        if (uVar1 < param_2) {
          uVar11 = (param_2 - uVar1) - 1;
          uVar12 = param_2 - uVar1;
          goto joined_r0x00020253;
        }
      }
      lVar13 = 0;
    }
    else {
      uVar6 = dcngettext(0,"internal error: attempt to read %d byte of data in to %d sized variable"
                         ,"internal error: attempt to read %d bytes of data in to %d sized variable"
                         ,param_3,5);
      error(uVar6,param_3,8);
      if (param_2 <= uVar12 + 9) goto code_r0x0002023d;
      uVar12 = 8;
code_r0x00020259:
      lVar13 = (*DAT_00073aec)(uVar1,uVar12);
    }
    lVar14 = FUN_0001dca0(uVar10,aiStack_20,0,param_2);
    uVar12 = uVar10 + aiStack_20[0];
    lVar14 = lVar13 + lVar14;
  }
  uStack_40 = (uint)((ulonglong)lVar14 >> 0x20);
  uStack_44 = (uint)lVar14;
  uStack_48 = (uint)((ulonglong)lVar13 >> 0x20);
  uStack_4c = (uint)lVar13;
  FUN_0001b1d0();
  FUN_0001b1d0();
  puVar3 = PTR_stdout_0006ffdc;
  if (lVar13 == lVar14) {
    pFVar9 = *(FILE **)PTR_stdout_0006ffdc;
    pcVar5 = (char *)dcgettext(0,"(start == end)",5);
    fputs(pcVar5,pFVar9);
    pFVar9 = *(FILE **)puVar3;
  }
  else {
    pFVar9 = *(FILE **)puVar2;
    if (uStack_40 < uStack_48 || uStack_40 - uStack_48 < (uint)(uStack_44 < uStack_4c)) {
      pcVar5 = (char *)dcgettext(0,"(start > end)",5);
      fputs(pcVar5,pFVar9);
      pFVar9 = *(FILE **)puVar2;
    }
  }
  putc(10,pFVar9);
  goto code_r0x0001fe30;
}

