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

int __regparm3 process_extended_line_op(uchar *data,int is_stmt,uchar *end)

{
  byte bVar1;
  uint uVar2;
  char *pcVar3;
  int iVar4;
  char *pcVar5;
  size_t sVar6;
  byte *pbVar7;
  uint uVar8;
  int iVar9;
  byte *pbVar10;
  byte *pbVar11;
  dwarf_vma dVar12;
  uint *puVar13;
  uint *length_return;
  uint bytes_read;
  undefined4 uStack_14;
  
  uStack_14 = 0x523dd;
  length_return = &bytes_read;
  dVar12 = read_leb128(data,length_return,0,end);
  uVar2 = (uint)dVar12;
  pbVar7 = data + bytes_read;
  if (((uVar2 == 0) || (end == pbVar7)) || ((uint)((int)end - (int)pbVar7) < uVar2)) {
    pcVar3 = (char *)dcgettext(0,"Badly formed extended line op encountered!\n",5);
    warn(pcVar3);
    return bytes_read;
  }
  iVar4 = uVar2 + bytes_read;
  pbVar10 = pbVar7 + 1;
  bVar1 = *pbVar7;
  pcVar3 = (char *)dcgettext(0,"  Extended opcode %d: ",5);
  uVar2 = (uint)bVar1;
  printf(pcVar3);
  switch((uint)bVar1) {
  default:
    iVar9 = ~bytes_read + iVar4;
    if ((char)bVar1 < '\0') {
      pcVar3 = "user defined: ";
    }
    else {
      pcVar3 = "UNKNOWN: ";
    }
    pcVar3 = (char *)dcgettext(0,pcVar3,5);
    printf(pcVar3);
    pcVar3 = (char *)dcgettext(0,"length %d [",5);
    printf(pcVar3,iVar9);
    if (iVar9 != 0) {
      do {
        pbVar11 = pbVar10 + 1;
        printf(" %02x",(uint)*pbVar10);
        pbVar10 = pbVar11;
      } while (pbVar7 + iVar9 + 1 != pbVar11);
    }
    puts("]");
    break;
  case 1:
    pcVar3 = (char *)dcgettext(0,"End of Sequence\n\n",5);
    printf(pcVar3);
    state_machine_regs.op_index = '\0';
    state_machine_regs.end_sequence = '\0';
    state_machine_regs.address = 0;
    state_machine_regs.view = 0;
    state_machine_regs.file = 1;
    state_machine_regs.line = 1;
    state_machine_regs.column = 0;
    state_machine_regs.basic_block = 0;
    state_machine_regs.last_file_entry = 0;
    state_machine_regs.is_stmt = is_stmt;
    break;
  case 2:
    uVar8 = (iVar4 - bytes_read) - 1;
    if (uVar8 < 9) {
      if (end <= pbVar7 + (iVar4 - bytes_read)) {
        dVar12 = 0;
        if (end <= pbVar10) goto LAB_00052616;
        uVar8 = (int)end - (int)pbVar10;
      }
      dVar12 = 0;
      if (uVar8 - 1 < 8) {
        dVar12 = (*byte_get)(pbVar10,uVar8);
        uVar2 = uVar8;
      }
    }
    else {
      pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);
      warn(pcVar3);
      dVar12 = 0;
      uVar2 = uVar8;
    }
LAB_00052616:
    pcVar3 = dwarf_vmatoa_1("x",(ulonglong)uVar2 << 0x20,(uint)dVar12);
    pcVar5 = (char *)dcgettext(0,"set Address to 0x%s\n",5);
    printf(pcVar5,pcVar3);
    state_machine_regs.view = 0;
    state_machine_regs._32_2_ = state_machine_regs._32_2_ & 0xff00;
    state_machine_regs.address = dVar12;
    break;
  case 3:
    pcVar3 = (char *)dcgettext(0,"define new File Table entry\n",5);
    printf(pcVar3);
    pcVar3 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);
    printf(pcVar3);
    state_machine_regs.last_file_entry = state_machine_regs.last_file_entry + 1;
    printf("   %d\t",state_machine_regs.last_file_entry);
    sVar6 = strnlen((char *)pbVar10,(int)end - (int)pbVar10);
    pbVar7 = pbVar7 + iVar4 + 2;
    puVar13 = length_return;
    dVar12 = read_leb128(pbVar7,length_return,0,end);
    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);
    printf("%s\t");
    pbVar7 = pbVar7 + bytes_read;
    dVar12 = read_leb128(pbVar7,length_return,0,end);
    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);
    printf("%s\t");
    pbVar7 = pbVar7 + bytes_read;
    dVar12 = read_leb128(pbVar7,length_return,0,end);
    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);
    printf("%s\t",pcVar3);
    printf("%.*s\n\n",sVar6,pbVar10);
    if (((int)(pbVar7 + bytes_read) - (int)data != iVar4) || (end == pbVar7 + bytes_read)) {
      pcVar3 = (char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);
      warn(pcVar3);
    }
    break;
  case 4:
    dVar12 = read_leb128(pbVar10,length_return,0,end);
    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(length_return) << 0x20,(uint)dVar12);
    pcVar5 = "set Discriminator to %s\n";
LAB_00052519:
    pcVar5 = (char *)dcgettext(0,pcVar5,5);
    printf(pcVar5,pcVar3);
    break;
  case 0x11:
    puts("DW_LNE_HP_negate_is_UV_update");
    break;
  case 0x12:
    puts("DW_LNE_HP_push_context");
    break;
  case 0x13:
    puts("DW_LNE_HP_pop_context");
    break;
  case 0x14:
    puts("DW_LNE_HP_set_file_line_column");
    break;
  case 0x15:
    puts("DW_LNE_HP_set_routine_name");
    break;
  case 0x16:
    puts("DW_LNE_HP_set_sequence");
    break;
  case 0x17:
    puts("DW_LNE_HP_negate_post_semantics");
    break;
  case 0x18:
    puts("DW_LNE_HP_negate_function_exit");
    break;
  case 0x19:
    puts("DW_LNE_HP_negate_front_end_logical");
    break;
  case 0x20:
    puts("DW_LNE_HP_define_proc");
    break;
  case 0x80:
    pbVar7 = pbVar7 + (iVar4 - bytes_read);
    puts("DW_LNE_HP_source_file_correlation");
    while (pbVar10 < pbVar7) {
      puVar13 = length_return;
      dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);
      pcVar3 = (char *)dVar12;
      pbVar10 = pbVar10 + bytes_read;
      if (pcVar3 == (char *)0x2) {
        puVar13 = length_return;
        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);
        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);
        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);
        pbVar10 = pbVar10 + bytes_read;
      }
      else if (pcVar3 == (char *)0x3) {
        printf("    DW_LNE_HP_SFC_associate ");
        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);
        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);
        printf("(%s");
        pbVar10 = pbVar10 + bytes_read;
        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);
        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);
        printf(",%s");
        pbVar10 = pbVar10 + bytes_read;
        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);
        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);
        printf(",%s)\n",pcVar3);
        pbVar10 = pbVar10 + bytes_read;
      }
      else {
        if (pcVar3 != (char *)0x1) {
          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";
          goto LAB_00052519;
        }
        puts("    DW_LNE_HP_SFC_formfeed");
      }
    }
  }
  return iVar4;
}



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

uint __regparm3 FUN_000523d0(int param_1,undefined4 param_2,byte *param_3)

{
  byte bVar1;
  uint uVar2;
  undefined4 uVar3;
  char *pcVar4;
  size_t sVar5;
  byte *pbVar6;
  uint uVar7;
  int iVar8;
  byte *pbVar9;
  byte *pbVar10;
  undefined8 uVar11;
  uint local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x523dd;
  uVar2 = FUN_0004f990(param_1,local_20,0,param_3);
  pbVar6 = (byte *)(param_1 + local_20[0]);
  if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {
    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);
    warn(uVar3);
    return local_20[0];
  }
  uVar2 = uVar2 + local_20[0];
  pbVar9 = pbVar6 + 1;
  bVar1 = *pbVar6;
  pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);
  printf(pcVar4,(uint)bVar1);
  switch((uint)bVar1) {
  default:
    iVar8 = ~local_20[0] + uVar2;
    if ((char)bVar1 < '\0') {
      pcVar4 = "user defined: ";
    }
    else {
      pcVar4 = "UNKNOWN: ";
    }
    pcVar4 = (char *)dcgettext(0,pcVar4,5);
    printf(pcVar4);
    pcVar4 = (char *)dcgettext(0,"length %d [",5);
    printf(pcVar4,iVar8);
    if (iVar8 != 0) {
      do {
        pbVar10 = pbVar9 + 1;
        printf(" %02x",(uint)*pbVar9);
        pbVar9 = pbVar10;
      } while (pbVar6 + iVar8 + 1 != pbVar10);
    }
    puts("]");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 1:
    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);
    printf(pcVar4);
    DAT_000b9d20 = 0;
    uVar11 = 0;
    DAT_000b9d08 = 0;
    DAT_000b9d0c = 1;
    DAT_000b9d10 = 1;
    DAT_000b9d14 = 0;
    DAT_000b9d1c = 0;
    DAT_000b9d24 = 0;
    DAT_000b9d18 = param_2;
    break;
  case 2:
    uVar7 = (uVar2 - local_20[0]) - 1;
    if (uVar7 < 9) {
      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {
        uVar11 = 0;
        if (param_3 <= pbVar9) goto code_r0x00052616;
        uVar7 = (int)param_3 - (int)pbVar9;
      }
      uVar11 = 0;
      if (uVar7 - 1 < 8) {
        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);
      }
    }
    else {
      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);
      warn(uVar3,uVar7);
      uVar11 = 0;
    }
code_r0x00052616:
    uVar3 = FUN_0004cb50(0);
    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);
    printf(pcVar4,uVar3);
    DAT_000b9d08 = 0;
    DAT_000b9d20 = DAT_000b9d20 & 0xff00;
    break;
  case 3:
    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);
    printf(pcVar4);
    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);
    printf(pcVar4);
    DAT_000b9d24 = DAT_000b9d24 + 1;
    printf("   %d\t",DAT_000b9d24);
    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);
    pbVar6 = pbVar6 + uVar2 + 2;
    FUN_0004f990(pbVar6,local_20,0,param_3);
    uVar3 = FUN_0004cb50(0);
    printf("%s\t",uVar3);
    pbVar6 = pbVar6 + local_20[0];
    FUN_0004f990(pbVar6,local_20,0,param_3);
    uVar3 = FUN_0004cb50(0);
    printf("%s\t",uVar3);
    pbVar6 = pbVar6 + local_20[0];
    FUN_0004f990(pbVar6,local_20,0,param_3);
    uVar3 = FUN_0004cb50(0);
    printf("%s\t",uVar3);
    printf("%.*s\n\n",sVar5,pbVar9);
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {
      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);
      warn(uVar3);
      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    }
    break;
  case 4:
    FUN_0004f990(pbVar9,local_20,0,param_3);
    iVar8 = FUN_0004cb50(0);
    pcVar4 = "set Discriminator to %s\n";
code_r0x00052519:
    pcVar4 = (char *)dcgettext(0,pcVar4,5);
    printf(pcVar4,iVar8);
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x11:
    puts("DW_LNE_HP_negate_is_UV_update");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x12:
    puts("DW_LNE_HP_push_context");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x13:
    puts("DW_LNE_HP_pop_context");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x14:
    puts("DW_LNE_HP_set_file_line_column");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x15:
    puts("DW_LNE_HP_set_routine_name");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x16:
    puts("DW_LNE_HP_set_sequence");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x17:
    puts("DW_LNE_HP_negate_post_semantics");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x18:
    puts("DW_LNE_HP_negate_function_exit");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x19:
    puts("DW_LNE_HP_negate_front_end_logical");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x20:
    puts("DW_LNE_HP_define_proc");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x80:
    pbVar6 = pbVar6 + (uVar2 - local_20[0]);
    puts("DW_LNE_HP_source_file_correlation");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    while (pbVar9 < pbVar6) {
      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);
      pbVar9 = pbVar9 + local_20[0];
      if (iVar8 == 2) {
        FUN_0004f990(pbVar9,local_20,0,pbVar6);
        uVar3 = FUN_0004cb50(0);
        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);
        pbVar9 = pbVar9 + local_20[0];
      }
      else if (iVar8 == 3) {
        printf("    DW_LNE_HP_SFC_associate ");
        FUN_0004f990(pbVar9,local_20,0,pbVar6);
        uVar3 = FUN_0004cb50(0);
        printf("(%s",uVar3);
        pbVar9 = pbVar9 + local_20[0];
        FUN_0004f990(pbVar9,local_20,0,pbVar6);
        uVar3 = FUN_0004cb50(0);
        printf(",%s",uVar3);
        pbVar9 = pbVar9 + local_20[0];
        FUN_0004f990(pbVar9,local_20,0,pbVar6);
        uVar3 = FUN_0004cb50(0);
        printf(",%s)\n",uVar3);
        pbVar9 = pbVar9 + local_20[0];
      }
      else {
        if (iVar8 != 1) {
          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";
          goto code_r0x00052519;
        }
        puts("    DW_LNE_HP_SFC_formfeed");
      }
      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    }
  }
  DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);
  DAT_000b9d00 = (undefined4)uVar11;
  return uVar2;
}


PUSH EBP
MOV EBP,ECX
PUSH EDI
PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x00013f70
ADD EBX,0x61c23
SUB ESP,0x3c
MOV dword ptr [ESP + 0x10],EDX
PUSH ECX
PUSH 0x0
LEA EAX,[ESP + 0x34]
MOV dword ptr [ESP + 0x14],EAX
PUSH EAX
PUSH ESI
CALL 0x0004f990
MOV ECX,dword ptr [ESP + 0x3c]
ADD ESP,0x10
LEA EDX,[ESI + ECX*0x1]
TEST EAX,EAX
JZ 0x00052416
CMP EBP,EDX
JZ 0x00052416
MOV EDI,EBP
SUB EDI,EDX
CMP EDI,EAX
JNC 0x00052440
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdb850]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00066db0
MOV EAX,dword ptr [ESP + 0x3c]
ADD ESP,0x10
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
ADD EAX,ECX
MOV dword ptr [ESP + 0x18],EDX
SUB ESP,0x4
LEA EDI,[EDX + 0x1]
MOV dword ptr [ESP + 0x18],EAX
MOVZX EAX,byte ptr [EDX]
MOV byte ptr [ESP + 0xc],AL
LEA EAX,[EBX + 0xfffded29]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
MOVZX ECX,byte ptr [ESP + 0x10]
PUSH ECX
MOV dword ptr [ESP + 0x28],ECX
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x18]
CMP byte ptr [ESP + 0x8],0x80
JA 0x00052960
MOV ECX,dword ptr [ESP + 0x1c]
MOV EAX,EBX
ADD EAX,dword ptr [EBX + ECX*0x4 + 0xfffe0b8c]
JMP EAX
MOV EAX,dword ptr [ESP + 0x14]
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV ESI,dword ptr [ESP + 0x2c]
NOT ESI
ADD ESI,dword ptr [ESP + 0x14]
CMP byte ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0x8],EDX
JS 0x00052afe
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdeeaf]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0xfffdeeb9]
MOV dword ptr [ESP + 0x8],EDX
SUB ESP,0x4
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
TEST ESI,ESI
JZ 0x000529e8
MOV EDX,dword ptr [ESP + 0x8]
LEA EBP,[EDX + ESI*0x1 + 0x1]
LEA ESI,[EBX + 0xfffde422]
ADD EDI,0x1
MOVZX EAX,byte ptr [EDI + -0x1]
SUB ESP,0x8
PUSH EAX
PUSH ESI
CALL 0x00013060
ADD ESP,0x10
CMP EBP,EDI
JNZ 0x000529d0
SUB ESP,0xc
LEA EAX,[EBX + 0xfffe1df9]
PUSH EAX
CALL 0x000131d0
ADD ESP,0x10
JMP 0x0005252d
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdeea0]
PUSH 0x5
JMP 0x00052984
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint __regparm3 FUN_000523d0(int param_1,undefined4 param_2,byte *param_3)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  size_t sVar5;\n  byte *pbVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined8 uVar11;\n  uint local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x523dd;\n  uVar2 = FUN_0004f990(param_1,local_20,0,param_3);\n  pbVar6 = (byte *)(param_1 + local_20[0]);\n  if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }\n  uVar2 = uVar2 + local_20[0];\n  pbVar9 = pbVar6 + 1;\n  bVar1 = *pbVar6;\n  pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);\n  printf(pcVar4,(uint)bVar1);\n  switch((uint)bVar1) {\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }\n  DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);\n  DAT_000b9d00 = (undefined4)uVar11;\n  return uVar2;\n}\n\n" comment (function_definition "uint __regparm3 FUN_000523d0(int param_1,undefined4 param_2,byte *param_3)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  size_t sVar5;\n  byte *pbVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined8 uVar11;\n  uint local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x523dd;\n  uVar2 = FUN_0004f990(param_1,local_20,0,param_3);\n  pbVar6 = (byte *)(param_1 + local_20[0]);\n  if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }\n  uVar2 = uVar2 + local_20[0];\n  pbVar9 = pbVar6 + 1;\n  bVar1 = *pbVar6;\n  pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);\n  printf(pcVar4,(uint)bVar1);\n  switch((uint)bVar1) {\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }\n  DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);\n  DAT_000b9d00 = (undefined4)uVar11;\n  return uVar2;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_000523d0(int param_1,undefined4 param_2,byte *param_3)" identifier (parameter_list "(int param_1,undefined4 param_2,byte *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "byte *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  size_t sVar5;\n  byte *pbVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined8 uVar11;\n  uint local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x523dd;\n  uVar2 = FUN_0004f990(param_1,local_20,0,param_3);\n  pbVar6 = (byte *)(param_1 + local_20[0]);\n  if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }\n  uVar2 = uVar2 + local_20[0];\n  pbVar9 = pbVar6 + 1;\n  bVar1 = *pbVar6;\n  pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);\n  printf(pcVar4,(uint)bVar1);\n  switch((uint)bVar1) {\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }\n  DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);\n  DAT_000b9d00 = (undefined4)uVar11;\n  return uVar2;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "uint local_20 [3];" type_identifier (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x523dd;" (assignment_expression "uStack_14 = 0x523dd" identifier = number_literal) ;) (expression_statement "uVar2 = FUN_0004f990(param_1,local_20,0,param_3);" (assignment_expression "uVar2 = FUN_0004f990(param_1,local_20,0,param_3)" identifier = (call_expression "FUN_0004f990(param_1,local_20,0,param_3)" identifier (argument_list "(param_1,local_20,0,param_3)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pbVar6 = (byte *)(param_1 + local_20[0]);" (assignment_expression "pbVar6 = (byte *)(param_1 + local_20[0])" identifier = (cast_expression "(byte *)(param_1 + local_20[0])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + local_20[0])" ( (binary_expression "param_1 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ])) )))) ;) (if_statement "if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }" if (parenthesized_expression "(((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2))" ( (binary_expression "((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)" (parenthesized_expression "((uVar2 == 0) || (param_3 == pbVar6))" ( (binary_expression "(uVar2 == 0) || (param_3 == pbVar6)" (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) || (parenthesized_expression "(param_3 == pbVar6)" ( (binary_expression "param_3 == pbVar6" identifier == identifier) ))) )) || (parenthesized_expression "((uint)((int)param_3 - (int)pbVar6) < uVar2)" ( (binary_expression "(uint)((int)param_3 - (int)pbVar6) < uVar2" (call_expression "(uint)((int)param_3 - (int)pbVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)param_3 - (int)pbVar6)" ( (binary_expression "(int)param_3 - (int)pbVar6" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < identifier) ))) )) (compound_statement "{\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }" { (expression_statement "uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);" (assignment_expression "uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5)" identifier = (call_expression "dcgettext(0,"Badly formed extended line op encountered!\n",5)" identifier (argument_list "(0,"Badly formed extended line op encountered!\n",5)" ( number_literal , (string_literal ""Badly formed extended line op encountered!\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar3);" (call_expression "warn(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return local_20[0];" return (subscript_expression "local_20[0]" identifier [ number_literal ]) ;) })) (expression_statement "uVar2 = uVar2 + local_20[0];" (assignment_expression "uVar2 = uVar2 + local_20[0]" identifier = (binary_expression "uVar2 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "pbVar9 = pbVar6 + 1;" (assignment_expression "pbVar9 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Extended opcode %d: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Extended opcode %d: ",5)" identifier (argument_list "(0,"  Extended opcode %d: ",5)" ( number_literal , (string_literal ""  Extended opcode %d: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,(uint)bVar1);" (call_expression "printf(pcVar4,(uint)bVar1)" identifier (argument_list "(pcVar4,(uint)bVar1)" ( identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (switch_statement "switch((uint)bVar1) {\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }" switch (parenthesized_expression "((uint)bVar1)" ( (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )) (compound_statement "{\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }" { (case_statement "default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" default : (expression_statement "iVar8 = ~local_20[0] + uVar2;" (assignment_expression "iVar8 = ~local_20[0] + uVar2" identifier = (binary_expression "~local_20[0] + uVar2" (unary_expression "~local_20[0]" ~ (subscript_expression "local_20[0]" identifier [ number_literal ])) + identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar4 = "user defined: ";\n    }" { (expression_statement "pcVar4 = "user defined: ";" (assignment_expression "pcVar4 = "user defined: "" identifier = (string_literal ""user defined: "" " string_content ")) ;) }) (else_clause "else {\n      pcVar4 = "UNKNOWN: ";\n    }" else (compound_statement "{\n      pcVar4 = "UNKNOWN: ";\n    }" { (expression_statement "pcVar4 = "UNKNOWN: ";" (assignment_expression "pcVar4 = "UNKNOWN: "" identifier = (string_literal ""UNKNOWN: "" " string_content ")) ;) }))) (expression_statement "pcVar4 = (char *)dcgettext(0,pcVar4,5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,pcVar4,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar4,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar4,5)" identifier (argument_list "(0,pcVar4,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"length %d [",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"length %d [",5)" identifier = (cast_expression "(char *)dcgettext(0,"length %d [",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"length %d [",5)" identifier (argument_list "(0,"length %d [",5)" ( number_literal , (string_literal ""length %d ["" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,iVar8);" (call_expression "printf(pcVar4,iVar8)" identifier (argument_list "(pcVar4,iVar8)" ( identifier , identifier ))) ;) (if_statement "if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }" { (do_statement "do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);" do (compound_statement "{\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      }" { (expression_statement "pbVar10 = pbVar9 + 1;" (assignment_expression "pbVar10 = pbVar9 + 1" identifier = (binary_expression "pbVar9 + 1" identifier + number_literal)) ;) (expression_statement "printf(" %02x",(uint)*pbVar9);" (call_expression "printf(" %02x",(uint)*pbVar9)" identifier (argument_list "(" %02x",(uint)*pbVar9)" ( (string_literal "" %02x"" " string_content ") , (binary_expression "(uint)*pbVar9" (parenthesized_expression "(uint)" ( identifier )) * identifier) ))) ;) (expression_statement "pbVar9 = pbVar10;" (assignment_expression "pbVar9 = pbVar10" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar6 + iVar8 + 1 != pbVar10)" ( (binary_expression "pbVar6 + iVar8 + 1 != pbVar10" (binary_expression "pbVar6 + iVar8 + 1" (binary_expression "pbVar6 + iVar8" identifier + identifier) + number_literal) != identifier) )) ;) })) (expression_statement "puts("]");" (call_expression "puts("]")" identifier (argument_list "("]")" ( (string_literal ""]"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;" case number_literal : (expression_statement "pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"End of Sequence\n\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"End of Sequence\n\n",5)" identifier (argument_list "(0,"End of Sequence\n\n",5)" ( number_literal , (string_literal ""End of Sequence\n\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "DAT_000b9d20 = 0;" (assignment_expression "DAT_000b9d20 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d08 = 0;" (assignment_expression "DAT_000b9d08 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d0c = 1;" (assignment_expression "DAT_000b9d0c = 1" identifier = number_literal) ;) (expression_statement "DAT_000b9d10 = 1;" (assignment_expression "DAT_000b9d10 = 1" identifier = number_literal) ;) (expression_statement "DAT_000b9d14 = 0;" (assignment_expression "DAT_000b9d14 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d1c = 0;" (assignment_expression "DAT_000b9d1c = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d24 = 0;" (assignment_expression "DAT_000b9d24 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d18 = param_2;" (assignment_expression "DAT_000b9d18 = param_2" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;" case number_literal : (expression_statement "uVar7 = (uVar2 - local_20[0]) - 1;" (assignment_expression "uVar7 = (uVar2 - local_20[0]) - 1" identifier = (binary_expression "(uVar2 - local_20[0]) - 1" (parenthesized_expression "(uVar2 - local_20[0])" ( (binary_expression "uVar2 - local_20[0]" identifier - (subscript_expression "local_20[0]" identifier [ number_literal ])) )) - number_literal)) ;) (if_statement "if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }" if (parenthesized_expression "(uVar7 < 9)" ( (binary_expression "uVar7 < 9" identifier < number_literal) )) (compound_statement "{\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }" { (if_statement "if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }" if (parenthesized_expression "(param_3 <= pbVar6 + (uVar2 - local_20[0]))" ( (binary_expression "param_3 <= pbVar6 + (uVar2 - local_20[0])" identifier <= (binary_expression "pbVar6 + (uVar2 - local_20[0])" identifier + (parenthesized_expression "(uVar2 - local_20[0])" ( (binary_expression "uVar2 - local_20[0]" identifier - (subscript_expression "local_20[0]" identifier [ number_literal ])) )))) )) (compound_statement "{\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if (param_3 <= pbVar9) goto code_r0x00052616;" if (parenthesized_expression "(param_3 <= pbVar9)" ( (binary_expression "param_3 <= pbVar9" identifier <= identifier) )) (goto_statement "goto code_r0x00052616;" goto statement_identifier ;)) (expression_statement "uVar7 = (int)param_3 - (int)pbVar9;" (assignment_expression "uVar7 = (int)param_3 - (int)pbVar9" identifier = (binary_expression "(int)param_3 - (int)pbVar9" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar9" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }" if (parenthesized_expression "(uVar7 - 1 < 8)" ( (binary_expression "uVar7 - 1 < 8" (binary_expression "uVar7 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }" { (expression_statement "uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);" (assignment_expression "uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pbVar9,uVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pbVar9,uVar7)" ( identifier , identifier )))) ;) })) }) (else_clause "else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }" else (compound_statement "{\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }" { (expression_statement "uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);" (assignment_expression "uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" identifier = (call_expression "dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" identifier (argument_list "(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" ( number_literal , (string_literal ""Length (%d) of DW_LNE_set_address op is too long\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar3,uVar7);" (call_expression "warn(uVar3,uVar7)" identifier (argument_list "(uVar3,uVar7)" ( identifier , identifier ))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) }))) (labeled_statement "code_r0x00052616:\n    uVar3 = FUN_0004cb50(0);" statement_identifier : (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;)) (expression_statement "pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"set Address to 0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"set Address to 0x%s\n",5)" identifier (argument_list "(0,"set Address to 0x%s\n",5)" ( number_literal , (string_literal ""set Address to 0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,uVar3);" (call_expression "printf(pcVar4,uVar3)" identifier (argument_list "(pcVar4,uVar3)" ( identifier , identifier ))) ;) (expression_statement "DAT_000b9d08 = 0;" (assignment_expression "DAT_000b9d08 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d20 = DAT_000b9d20 & 0xff00;" (assignment_expression "DAT_000b9d20 = DAT_000b9d20 & 0xff00" identifier = (binary_expression "DAT_000b9d20 & 0xff00" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;" case number_literal : (expression_statement "pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"define new File Table entry\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"define new File Table entry\n",5)" identifier (argument_list "(0,"define new File Table entry\n",5)" ( number_literal , (string_literal ""define new File Table entry\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" identifier (argument_list "(0,"  Entry\tDir\tTime\tSize\tName\n",5)" ( number_literal , (string_literal ""  Entry\tDir\tTime\tSize\tName\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "DAT_000b9d24 = DAT_000b9d24 + 1;" (assignment_expression "DAT_000b9d24 = DAT_000b9d24 + 1" identifier = (binary_expression "DAT_000b9d24 + 1" identifier + number_literal)) ;) (expression_statement "printf("   %d\t",DAT_000b9d24);" (call_expression "printf("   %d\t",DAT_000b9d24)" identifier (argument_list "("   %d\t",DAT_000b9d24)" ( (string_literal ""   %d\t"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);" (assignment_expression "sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9)" identifier = (call_expression "strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9)" identifier (argument_list "((char *)pbVar9,(int)param_3 - (int)pbVar9)" ( (cast_expression "(char *)pbVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)param_3 - (int)pbVar9" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar6 = pbVar6 + uVar2 + 2;" (assignment_expression "pbVar6 = pbVar6 + uVar2 + 2" identifier = (binary_expression "pbVar6 + uVar2 + 2" (binary_expression "pbVar6 + uVar2" identifier + identifier) + number_literal)) ;) (expression_statement "FUN_0004f990(pbVar6,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar6,local_20,0,param_3)" identifier (argument_list "(pbVar6,local_20,0,param_3)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf("%s\t",uVar3);" (call_expression "printf("%s\t",uVar3)" identifier (argument_list "("%s\t",uVar3)" ( (string_literal ""%s\t"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pbVar6 = pbVar6 + local_20[0];" (assignment_expression "pbVar6 = pbVar6 + local_20[0]" identifier = (binary_expression "pbVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004f990(pbVar6,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar6,local_20,0,param_3)" identifier (argument_list "(pbVar6,local_20,0,param_3)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf("%s\t",uVar3);" (call_expression "printf("%s\t",uVar3)" identifier (argument_list "("%s\t",uVar3)" ( (string_literal ""%s\t"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pbVar6 = pbVar6 + local_20[0];" (assignment_expression "pbVar6 = pbVar6 + local_20[0]" identifier = (binary_expression "pbVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004f990(pbVar6,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar6,local_20,0,param_3)" identifier (argument_list "(pbVar6,local_20,0,param_3)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf("%s\t",uVar3);" (call_expression "printf("%s\t",uVar3)" identifier (argument_list "("%s\t",uVar3)" ( (string_literal ""%s\t"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "printf("%.*s\n\n",sVar5,pbVar9);" (call_expression "printf("%.*s\n\n",sVar5,pbVar9)" identifier (argument_list "("%.*s\n\n",sVar5,pbVar9)" ( (string_literal ""%.*s\n\n"" " string_content escape_sequence escape_sequence ") , identifier , identifier ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (if_statement "if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" if (parenthesized_expression "(((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0]))" ( (binary_expression "((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])" (parenthesized_expression "((int)(pbVar6 + local_20[0]) - param_1 != uVar2)" ( (binary_expression "(int)(pbVar6 + local_20[0]) - param_1 != uVar2" (binary_expression "(int)(pbVar6 + local_20[0]) - param_1" (cast_expression "(int)(pbVar6 + local_20[0])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar6 + local_20[0])" ( (binary_expression "pbVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ])) ))) - identifier) != identifier) )) || (parenthesized_expression "(param_3 == pbVar6 + local_20[0])" ( (binary_expression "param_3 == pbVar6 + local_20[0]" identifier == (binary_expression "pbVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" { (expression_statement "uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);" (assignment_expression "uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5)" identifier = (call_expression "dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5)" identifier (argument_list "(0,"DW_LNE_define_file: Bad opcode length\n",5)" ( number_literal , (string_literal ""DW_LNE_define_file: Bad opcode length\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar3);" (call_expression "warn(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "FUN_0004f990(pbVar9,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar9,local_20,0,param_3)" identifier (argument_list "(pbVar9,local_20,0,param_3)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar8 = FUN_0004cb50(0);" (assignment_expression "iVar8 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar4 = "set Discriminator to %s\n";" (assignment_expression "pcVar4 = "set Discriminator to %s\n"" identifier = (string_literal ""set Discriminator to %s\n"" " string_content escape_sequence ")) ;) (labeled_statement "code_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);" statement_identifier : (expression_statement "pcVar4 = (char *)dcgettext(0,pcVar4,5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,pcVar4,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar4,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar4,5)" identifier (argument_list "(0,pcVar4,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar4,iVar8);" (call_expression "printf(pcVar4,iVar8)" identifier (argument_list "(pcVar4,iVar8)" ( identifier , identifier ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_is_UV_update");" (call_expression "puts("DW_LNE_HP_negate_is_UV_update")" identifier (argument_list "("DW_LNE_HP_negate_is_UV_update")" ( (string_literal ""DW_LNE_HP_negate_is_UV_update"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_push_context");" (call_expression "puts("DW_LNE_HP_push_context")" identifier (argument_list "("DW_LNE_HP_push_context")" ( (string_literal ""DW_LNE_HP_push_context"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_pop_context");" (call_expression "puts("DW_LNE_HP_pop_context")" identifier (argument_list "("DW_LNE_HP_pop_context")" ( (string_literal ""DW_LNE_HP_pop_context"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_set_file_line_column");" (call_expression "puts("DW_LNE_HP_set_file_line_column")" identifier (argument_list "("DW_LNE_HP_set_file_line_column")" ( (string_literal ""DW_LNE_HP_set_file_line_column"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_set_routine_name");" (call_expression "puts("DW_LNE_HP_set_routine_name")" identifier (argument_list "("DW_LNE_HP_set_routine_name")" ( (string_literal ""DW_LNE_HP_set_routine_name"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_set_sequence");" (call_expression "puts("DW_LNE_HP_set_sequence")" identifier (argument_list "("DW_LNE_HP_set_sequence")" ( (string_literal ""DW_LNE_HP_set_sequence"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_post_semantics");" (call_expression "puts("DW_LNE_HP_negate_post_semantics")" identifier (argument_list "("DW_LNE_HP_negate_post_semantics")" ( (string_literal ""DW_LNE_HP_negate_post_semantics"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_function_exit");" (call_expression "puts("DW_LNE_HP_negate_function_exit")" identifier (argument_list "("DW_LNE_HP_negate_function_exit")" ( (string_literal ""DW_LNE_HP_negate_function_exit"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_front_end_logical");" (call_expression "puts("DW_LNE_HP_negate_front_end_logical")" identifier (argument_list "("DW_LNE_HP_negate_front_end_logical")" ( (string_literal ""DW_LNE_HP_negate_front_end_logical"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_define_proc");" (call_expression "puts("DW_LNE_HP_define_proc")" identifier (argument_list "("DW_LNE_HP_define_proc")" ( (string_literal ""DW_LNE_HP_define_proc"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" case number_literal : (expression_statement "pbVar6 = pbVar6 + (uVar2 - local_20[0]);" (assignment_expression "pbVar6 = pbVar6 + (uVar2 - local_20[0])" identifier = (binary_expression "pbVar6 + (uVar2 - local_20[0])" identifier + (parenthesized_expression "(uVar2 - local_20[0])" ( (binary_expression "uVar2 - local_20[0]" identifier - (subscript_expression "local_20[0]" identifier [ number_literal ])) )))) ;) (expression_statement "puts("DW_LNE_HP_source_file_correlation");" (call_expression "puts("DW_LNE_HP_source_file_correlation")" identifier (argument_list "("DW_LNE_HP_source_file_correlation")" ( (string_literal ""DW_LNE_HP_source_file_correlation"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (while_statement "while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" while (parenthesized_expression "(pbVar9 < pbVar6)" ( (binary_expression "pbVar9 < pbVar6" identifier < identifier) )) (compound_statement "{\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" { (expression_statement "iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);" (assignment_expression "iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier = (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier (argument_list "(pbVar9,local_20,0,pbVar6)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" identifier = (binary_expression "pbVar9 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (if_statement "if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" if (parenthesized_expression "(iVar8 == 2)" ( (binary_expression "iVar8 == 2" identifier == number_literal) )) (compound_statement "{\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }" { (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier (argument_list "(pbVar9,local_20,0,pbVar6)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);" (call_expression "printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3)" identifier (argument_list "("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3)" ( (string_literal ""    DW_LNE_HP_SFC_set_listing_line (%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" identifier = (binary_expression "pbVar9 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) }) (else_clause "else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" else (if_statement "if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" if (parenthesized_expression "(iVar8 == 3)" ( (binary_expression "iVar8 == 3" identifier == number_literal) )) (compound_statement "{\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }" { (expression_statement "printf("    DW_LNE_HP_SFC_associate ");" (call_expression "printf("    DW_LNE_HP_SFC_associate ")" identifier (argument_list "("    DW_LNE_HP_SFC_associate ")" ( (string_literal ""    DW_LNE_HP_SFC_associate "" " string_content ") ))) ;) (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier (argument_list "(pbVar9,local_20,0,pbVar6)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf("(%s",uVar3);" (call_expression "printf("(%s",uVar3)" identifier (argument_list "("(%s",uVar3)" ( (string_literal ""(%s"" " string_content ") , identifier ))) ;) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" identifier = (binary_expression "pbVar9 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier (argument_list "(pbVar9,local_20,0,pbVar6)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf(",%s",uVar3);" (call_expression "printf(",%s",uVar3)" identifier (argument_list "(",%s",uVar3)" ( (string_literal "",%s"" " string_content ") , identifier ))) ;) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" identifier = (binary_expression "pbVar9 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier (argument_list "(pbVar9,local_20,0,pbVar6)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf(",%s)\n",uVar3);" (call_expression "printf(",%s)\n",uVar3)" identifier (argument_list "(",%s)\n",uVar3)" ( (string_literal "",%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" identifier = (binary_expression "pbVar9 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" else (compound_statement "{\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" { (if_statement "if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (compound_statement "{\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }" { (expression_statement "pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";" (assignment_expression "pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n"" identifier = (string_literal ""    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n"" " string_content escape_sequence ")) ;) (goto_statement "goto code_r0x00052519;" goto statement_identifier ;) })) (expression_statement "puts("    DW_LNE_HP_SFC_formfeed");" (call_expression "puts("    DW_LNE_HP_SFC_formfeed")" identifier (argument_list "("    DW_LNE_HP_SFC_formfeed")" ( (string_literal ""    DW_LNE_HP_SFC_formfeed"" " string_content ") ))) ;) }))))) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) }))) })) (expression_statement "DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);" (assignment_expression "DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_000b9d00 = (undefined4)uVar11;" (assignment_expression "DAT_000b9d00 = (undefined4)uVar11" identifier = (cast_expression "(undefined4)uVar11" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3 process_extended_line_op(uchar *data,int is_stmt,uchar *end)\n\n{\n  byte bVar1;\n  uint uVar2;\n  char *pcVar3;\n  int iVar4;\n  char *pcVar5;\n  size_t sVar6;\n  byte *pbVar7;\n  uint uVar8;\n  int iVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  dwarf_vma dVar12;\n  uint *puVar13;\n  uint *length_return;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x523dd;\n  length_return = &bytes_read;\n  dVar12 = read_leb128(data,length_return,0,end);\n  uVar2 = (uint)dVar12;\n  pbVar7 = data + bytes_read;\n  if (((uVar2 == 0) || (end == pbVar7)) || ((uint)((int)end - (int)pbVar7) < uVar2)) {\n    pcVar3 = (char *)dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(pcVar3);\n    return bytes_read;\n  }\n  iVar4 = uVar2 + bytes_read;\n  pbVar10 = pbVar7 + 1;\n  bVar1 = *pbVar7;\n  pcVar3 = (char *)dcgettext(0,"  Extended opcode %d: ",5);\n  uVar2 = (uint)bVar1;\n  printf(pcVar3);\n  switch((uint)bVar1) {\n  default:\n    iVar9 = ~bytes_read + iVar4;\n    if ((char)bVar1 < '\0') {\n      pcVar3 = "user defined: ";\n    }\n    else {\n      pcVar3 = "UNKNOWN: ";\n    }\n    pcVar3 = (char *)dcgettext(0,pcVar3,5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar3,iVar9);\n    if (iVar9 != 0) {\n      do {\n        pbVar11 = pbVar10 + 1;\n        printf(" %02x",(uint)*pbVar10);\n        pbVar10 = pbVar11;\n      } while (pbVar7 + iVar9 + 1 != pbVar11);\n    }\n    puts("]");\n    break;\n  case 1:\n    pcVar3 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar3);\n    state_machine_regs.op_index = '\0';\n    state_machine_regs.end_sequence = '\0';\n    state_machine_regs.address = 0;\n    state_machine_regs.view = 0;\n    state_machine_regs.file = 1;\n    state_machine_regs.line = 1;\n    state_machine_regs.column = 0;\n    state_machine_regs.basic_block = 0;\n    state_machine_regs.last_file_entry = 0;\n    state_machine_regs.is_stmt = is_stmt;\n    break;\n  case 2:\n    uVar8 = (iVar4 - bytes_read) - 1;\n    if (uVar8 < 9) {\n      if (end <= pbVar7 + (iVar4 - bytes_read)) {\n        dVar12 = 0;\n        if (end <= pbVar10) goto LAB_00052616;\n        uVar8 = (int)end - (int)pbVar10;\n      }\n      dVar12 = 0;\n      if (uVar8 - 1 < 8) {\n        dVar12 = (*byte_get)(pbVar10,uVar8);\n        uVar2 = uVar8;\n      }\n    }\n    else {\n      pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(pcVar3);\n      dVar12 = 0;\n      uVar2 = uVar8;\n    }\nLAB_00052616:\n    pcVar3 = dwarf_vmatoa_1("x",(ulonglong)uVar2 << 0x20,(uint)dVar12);\n    pcVar5 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar5,pcVar3);\n    state_machine_regs.view = 0;\n    state_machine_regs._32_2_ = state_machine_regs._32_2_ & 0xff00;\n    state_machine_regs.address = dVar12;\n    break;\n  case 3:\n    pcVar3 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar3);\n    state_machine_regs.last_file_entry = state_machine_regs.last_file_entry + 1;\n    printf("   %d\t",state_machine_regs.last_file_entry);\n    sVar6 = strnlen((char *)pbVar10,(int)end - (int)pbVar10);\n    pbVar7 = pbVar7 + iVar4 + 2;\n    puVar13 = length_return;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t",pcVar3);\n    printf("%.*s\n\n",sVar6,pbVar10);\n    if (((int)(pbVar7 + bytes_read) - (int)data != iVar4) || (end == pbVar7 + bytes_read)) {\n      pcVar3 = (char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(pcVar3);\n    }\n    break;\n  case 4:\n    dVar12 = read_leb128(pbVar10,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(length_return) << 0x20,(uint)dVar12);\n    pcVar5 = "set Discriminator to %s\n";\nLAB_00052519:\n    pcVar5 = (char *)dcgettext(0,pcVar5,5);\n    printf(pcVar5,pcVar3);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    break;\n  case 0x80:\n    pbVar7 = pbVar7 + (iVar4 - bytes_read);\n    puts("DW_LNE_HP_source_file_correlation");\n    while (pbVar10 < pbVar7) {\n      puVar13 = length_return;\n      dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n      pcVar3 = (char *)dVar12;\n      pbVar10 = pbVar10 + bytes_read;\n      if (pcVar3 == (char *)0x2) {\n        puVar13 = length_return;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else if (pcVar3 == (char *)0x3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n    }\n  }\n  return iVar4;\n}\n\n" comment (function_definition "int __regparm3 process_extended_line_op(uchar *data,int is_stmt,uchar *end)\n\n{\n  byte bVar1;\n  uint uVar2;\n  char *pcVar3;\n  int iVar4;\n  char *pcVar5;\n  size_t sVar6;\n  byte *pbVar7;\n  uint uVar8;\n  int iVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  dwarf_vma dVar12;\n  uint *puVar13;\n  uint *length_return;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x523dd;\n  length_return = &bytes_read;\n  dVar12 = read_leb128(data,length_return,0,end);\n  uVar2 = (uint)dVar12;\n  pbVar7 = data + bytes_read;\n  if (((uVar2 == 0) || (end == pbVar7)) || ((uint)((int)end - (int)pbVar7) < uVar2)) {\n    pcVar3 = (char *)dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(pcVar3);\n    return bytes_read;\n  }\n  iVar4 = uVar2 + bytes_read;\n  pbVar10 = pbVar7 + 1;\n  bVar1 = *pbVar7;\n  pcVar3 = (char *)dcgettext(0,"  Extended opcode %d: ",5);\n  uVar2 = (uint)bVar1;\n  printf(pcVar3);\n  switch((uint)bVar1) {\n  default:\n    iVar9 = ~bytes_read + iVar4;\n    if ((char)bVar1 < '\0') {\n      pcVar3 = "user defined: ";\n    }\n    else {\n      pcVar3 = "UNKNOWN: ";\n    }\n    pcVar3 = (char *)dcgettext(0,pcVar3,5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar3,iVar9);\n    if (iVar9 != 0) {\n      do {\n        pbVar11 = pbVar10 + 1;\n        printf(" %02x",(uint)*pbVar10);\n        pbVar10 = pbVar11;\n      } while (pbVar7 + iVar9 + 1 != pbVar11);\n    }\n    puts("]");\n    break;\n  case 1:\n    pcVar3 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar3);\n    state_machine_regs.op_index = '\0';\n    state_machine_regs.end_sequence = '\0';\n    state_machine_regs.address = 0;\n    state_machine_regs.view = 0;\n    state_machine_regs.file = 1;\n    state_machine_regs.line = 1;\n    state_machine_regs.column = 0;\n    state_machine_regs.basic_block = 0;\n    state_machine_regs.last_file_entry = 0;\n    state_machine_regs.is_stmt = is_stmt;\n    break;\n  case 2:\n    uVar8 = (iVar4 - bytes_read) - 1;\n    if (uVar8 < 9) {\n      if (end <= pbVar7 + (iVar4 - bytes_read)) {\n        dVar12 = 0;\n        if (end <= pbVar10) goto LAB_00052616;\n        uVar8 = (int)end - (int)pbVar10;\n      }\n      dVar12 = 0;\n      if (uVar8 - 1 < 8) {\n        dVar12 = (*byte_get)(pbVar10,uVar8);\n        uVar2 = uVar8;\n      }\n    }\n    else {\n      pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(pcVar3);\n      dVar12 = 0;\n      uVar2 = uVar8;\n    }\nLAB_00052616:\n    pcVar3 = dwarf_vmatoa_1("x",(ulonglong)uVar2 << 0x20,(uint)dVar12);\n    pcVar5 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar5,pcVar3);\n    state_machine_regs.view = 0;\n    state_machine_regs._32_2_ = state_machine_regs._32_2_ & 0xff00;\n    state_machine_regs.address = dVar12;\n    break;\n  case 3:\n    pcVar3 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar3);\n    state_machine_regs.last_file_entry = state_machine_regs.last_file_entry + 1;\n    printf("   %d\t",state_machine_regs.last_file_entry);\n    sVar6 = strnlen((char *)pbVar10,(int)end - (int)pbVar10);\n    pbVar7 = pbVar7 + iVar4 + 2;\n    puVar13 = length_return;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t",pcVar3);\n    printf("%.*s\n\n",sVar6,pbVar10);\n    if (((int)(pbVar7 + bytes_read) - (int)data != iVar4) || (end == pbVar7 + bytes_read)) {\n      pcVar3 = (char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(pcVar3);\n    }\n    break;\n  case 4:\n    dVar12 = read_leb128(pbVar10,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(length_return) << 0x20,(uint)dVar12);\n    pcVar5 = "set Discriminator to %s\n";\nLAB_00052519:\n    pcVar5 = (char *)dcgettext(0,pcVar5,5);\n    printf(pcVar5,pcVar3);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    break;\n  case 0x80:\n    pbVar7 = pbVar7 + (iVar4 - bytes_read);\n    puts("DW_LNE_HP_source_file_correlation");\n    while (pbVar10 < pbVar7) {\n      puVar13 = length_return;\n      dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n      pcVar3 = (char *)dVar12;\n      pbVar10 = pbVar10 + bytes_read;\n      if (pcVar3 == (char *)0x2) {\n        puVar13 = length_return;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else if (pcVar3 == (char *)0x3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n    }\n  }\n  return iVar4;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "process_extended_line_op(uchar *data,int is_stmt,uchar *end)" identifier (parameter_list "(uchar *data,int is_stmt,uchar *end)" ( (parameter_declaration "uchar *data" type_identifier (pointer_declarator "*data" * identifier)) , (parameter_declaration "int is_stmt" primitive_type identifier) , (parameter_declaration "uchar *end" type_identifier (pointer_declarator "*end" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  uint uVar2;\n  char *pcVar3;\n  int iVar4;\n  char *pcVar5;\n  size_t sVar6;\n  byte *pbVar7;\n  uint uVar8;\n  int iVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  dwarf_vma dVar12;\n  uint *puVar13;\n  uint *length_return;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x523dd;\n  length_return = &bytes_read;\n  dVar12 = read_leb128(data,length_return,0,end);\n  uVar2 = (uint)dVar12;\n  pbVar7 = data + bytes_read;\n  if (((uVar2 == 0) || (end == pbVar7)) || ((uint)((int)end - (int)pbVar7) < uVar2)) {\n    pcVar3 = (char *)dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(pcVar3);\n    return bytes_read;\n  }\n  iVar4 = uVar2 + bytes_read;\n  pbVar10 = pbVar7 + 1;\n  bVar1 = *pbVar7;\n  pcVar3 = (char *)dcgettext(0,"  Extended opcode %d: ",5);\n  uVar2 = (uint)bVar1;\n  printf(pcVar3);\n  switch((uint)bVar1) {\n  default:\n    iVar9 = ~bytes_read + iVar4;\n    if ((char)bVar1 < '\0') {\n      pcVar3 = "user defined: ";\n    }\n    else {\n      pcVar3 = "UNKNOWN: ";\n    }\n    pcVar3 = (char *)dcgettext(0,pcVar3,5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar3,iVar9);\n    if (iVar9 != 0) {\n      do {\n        pbVar11 = pbVar10 + 1;\n        printf(" %02x",(uint)*pbVar10);\n        pbVar10 = pbVar11;\n      } while (pbVar7 + iVar9 + 1 != pbVar11);\n    }\n    puts("]");\n    break;\n  case 1:\n    pcVar3 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar3);\n    state_machine_regs.op_index = '\0';\n    state_machine_regs.end_sequence = '\0';\n    state_machine_regs.address = 0;\n    state_machine_regs.view = 0;\n    state_machine_regs.file = 1;\n    state_machine_regs.line = 1;\n    state_machine_regs.column = 0;\n    state_machine_regs.basic_block = 0;\n    state_machine_regs.last_file_entry = 0;\n    state_machine_regs.is_stmt = is_stmt;\n    break;\n  case 2:\n    uVar8 = (iVar4 - bytes_read) - 1;\n    if (uVar8 < 9) {\n      if (end <= pbVar7 + (iVar4 - bytes_read)) {\n        dVar12 = 0;\n        if (end <= pbVar10) goto LAB_00052616;\n        uVar8 = (int)end - (int)pbVar10;\n      }\n      dVar12 = 0;\n      if (uVar8 - 1 < 8) {\n        dVar12 = (*byte_get)(pbVar10,uVar8);\n        uVar2 = uVar8;\n      }\n    }\n    else {\n      pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(pcVar3);\n      dVar12 = 0;\n      uVar2 = uVar8;\n    }\nLAB_00052616:\n    pcVar3 = dwarf_vmatoa_1("x",(ulonglong)uVar2 << 0x20,(uint)dVar12);\n    pcVar5 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar5,pcVar3);\n    state_machine_regs.view = 0;\n    state_machine_regs._32_2_ = state_machine_regs._32_2_ & 0xff00;\n    state_machine_regs.address = dVar12;\n    break;\n  case 3:\n    pcVar3 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar3);\n    state_machine_regs.last_file_entry = state_machine_regs.last_file_entry + 1;\n    printf("   %d\t",state_machine_regs.last_file_entry);\n    sVar6 = strnlen((char *)pbVar10,(int)end - (int)pbVar10);\n    pbVar7 = pbVar7 + iVar4 + 2;\n    puVar13 = length_return;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t",pcVar3);\n    printf("%.*s\n\n",sVar6,pbVar10);\n    if (((int)(pbVar7 + bytes_read) - (int)data != iVar4) || (end == pbVar7 + bytes_read)) {\n      pcVar3 = (char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(pcVar3);\n    }\n    break;\n  case 4:\n    dVar12 = read_leb128(pbVar10,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(length_return) << 0x20,(uint)dVar12);\n    pcVar5 = "set Discriminator to %s\n";\nLAB_00052519:\n    pcVar5 = (char *)dcgettext(0,pcVar5,5);\n    printf(pcVar5,pcVar3);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    break;\n  case 0x80:\n    pbVar7 = pbVar7 + (iVar4 - bytes_read);\n    puts("DW_LNE_HP_source_file_correlation");\n    while (pbVar10 < pbVar7) {\n      puVar13 = length_return;\n      dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n      pcVar3 = (char *)dVar12;\n      pbVar10 = pbVar10 + bytes_read;\n      if (pcVar3 == (char *)0x2) {\n        puVar13 = length_return;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else if (pcVar3 == (char *)0x3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n    }\n  }\n  return iVar4;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "byte *pbVar7;" type_identifier (pointer_declarator "*pbVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "dwarf_vma dVar12;" type_identifier identifier ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "uint *length_return;" type_identifier (pointer_declarator "*length_return" * identifier) ;) (declaration "uint bytes_read;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x523dd;" (assignment_expression "uStack_14 = 0x523dd" identifier = number_literal) ;) (expression_statement "length_return = &bytes_read;" (assignment_expression "length_return = &bytes_read" identifier = (pointer_expression "&bytes_read" & identifier)) ;) (expression_statement "dVar12 = read_leb128(data,length_return,0,end);" (assignment_expression "dVar12 = read_leb128(data,length_return,0,end)" identifier = (call_expression "read_leb128(data,length_return,0,end)" identifier (argument_list "(data,length_return,0,end)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "uVar2 = (uint)dVar12;" (assignment_expression "uVar2 = (uint)dVar12" identifier = (cast_expression "(uint)dVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pbVar7 = data + bytes_read;" (assignment_expression "pbVar7 = data + bytes_read" identifier = (binary_expression "data + bytes_read" identifier + identifier)) ;) (if_statement "if (((uVar2 == 0) || (end == pbVar7)) || ((uint)((int)end - (int)pbVar7) < uVar2)) {\n    pcVar3 = (char *)dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(pcVar3);\n    return bytes_read;\n  }" if (parenthesized_expression "(((uVar2 == 0) || (end == pbVar7)) || ((uint)((int)end - (int)pbVar7) < uVar2))" ( (binary_expression "((uVar2 == 0) || (end == pbVar7)) || ((uint)((int)end - (int)pbVar7) < uVar2)" (parenthesized_expression "((uVar2 == 0) || (end == pbVar7))" ( (binary_expression "(uVar2 == 0) || (end == pbVar7)" (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) || (parenthesized_expression "(end == pbVar7)" ( (binary_expression "end == pbVar7" identifier == identifier) ))) )) || (parenthesized_expression "((uint)((int)end - (int)pbVar7) < uVar2)" ( (binary_expression "(uint)((int)end - (int)pbVar7) < uVar2" (call_expression "(uint)((int)end - (int)pbVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)end - (int)pbVar7)" ( (binary_expression "(int)end - (int)pbVar7" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < identifier) ))) )) (compound_statement "{\n    pcVar3 = (char *)dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(pcVar3);\n    return bytes_read;\n  }" { (expression_statement "pcVar3 = (char *)dcgettext(0,"Badly formed extended line op encountered!\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"Badly formed extended line op encountered!\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Badly formed extended line op encountered!\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Badly formed extended line op encountered!\n",5)" identifier (argument_list "(0,"Badly formed extended line op encountered!\n",5)" ( number_literal , (string_literal ""Badly formed extended line op encountered!\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar3);" (call_expression "warn(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (return_statement "return bytes_read;" return identifier ;) })) (expression_statement "iVar4 = uVar2 + bytes_read;" (assignment_expression "iVar4 = uVar2 + bytes_read" identifier = (binary_expression "uVar2 + bytes_read" identifier + identifier)) ;) (expression_statement "pbVar10 = pbVar7 + 1;" (assignment_expression "pbVar10 = pbVar7 + 1" identifier = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar7;" (assignment_expression "bVar1 = *pbVar7" identifier = (pointer_expression "*pbVar7" * identifier)) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Extended opcode %d: ",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Extended opcode %d: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Extended opcode %d: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Extended opcode %d: ",5)" identifier (argument_list "(0,"  Extended opcode %d: ",5)" ( number_literal , (string_literal ""  Extended opcode %d: "" " string_content ") , number_literal ))))) ;) (expression_statement "uVar2 = (uint)bVar1;" (assignment_expression "uVar2 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (switch_statement "switch((uint)bVar1) {\n  default:\n    iVar9 = ~bytes_read + iVar4;\n    if ((char)bVar1 < '\0') {\n      pcVar3 = "user defined: ";\n    }\n    else {\n      pcVar3 = "UNKNOWN: ";\n    }\n    pcVar3 = (char *)dcgettext(0,pcVar3,5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar3,iVar9);\n    if (iVar9 != 0) {\n      do {\n        pbVar11 = pbVar10 + 1;\n        printf(" %02x",(uint)*pbVar10);\n        pbVar10 = pbVar11;\n      } while (pbVar7 + iVar9 + 1 != pbVar11);\n    }\n    puts("]");\n    break;\n  case 1:\n    pcVar3 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar3);\n    state_machine_regs.op_index = '\0';\n    state_machine_regs.end_sequence = '\0';\n    state_machine_regs.address = 0;\n    state_machine_regs.view = 0;\n    state_machine_regs.file = 1;\n    state_machine_regs.line = 1;\n    state_machine_regs.column = 0;\n    state_machine_regs.basic_block = 0;\n    state_machine_regs.last_file_entry = 0;\n    state_machine_regs.is_stmt = is_stmt;\n    break;\n  case 2:\n    uVar8 = (iVar4 - bytes_read) - 1;\n    if (uVar8 < 9) {\n      if (end <= pbVar7 + (iVar4 - bytes_read)) {\n        dVar12 = 0;\n        if (end <= pbVar10) goto LAB_00052616;\n        uVar8 = (int)end - (int)pbVar10;\n      }\n      dVar12 = 0;\n      if (uVar8 - 1 < 8) {\n        dVar12 = (*byte_get)(pbVar10,uVar8);\n        uVar2 = uVar8;\n      }\n    }\n    else {\n      pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(pcVar3);\n      dVar12 = 0;\n      uVar2 = uVar8;\n    }\nLAB_00052616:\n    pcVar3 = dwarf_vmatoa_1("x",(ulonglong)uVar2 << 0x20,(uint)dVar12);\n    pcVar5 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar5,pcVar3);\n    state_machine_regs.view = 0;\n    state_machine_regs._32_2_ = state_machine_regs._32_2_ & 0xff00;\n    state_machine_regs.address = dVar12;\n    break;\n  case 3:\n    pcVar3 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar3);\n    state_machine_regs.last_file_entry = state_machine_regs.last_file_entry + 1;\n    printf("   %d\t",state_machine_regs.last_file_entry);\n    sVar6 = strnlen((char *)pbVar10,(int)end - (int)pbVar10);\n    pbVar7 = pbVar7 + iVar4 + 2;\n    puVar13 = length_return;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t",pcVar3);\n    printf("%.*s\n\n",sVar6,pbVar10);\n    if (((int)(pbVar7 + bytes_read) - (int)data != iVar4) || (end == pbVar7 + bytes_read)) {\n      pcVar3 = (char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(pcVar3);\n    }\n    break;\n  case 4:\n    dVar12 = read_leb128(pbVar10,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(length_return) << 0x20,(uint)dVar12);\n    pcVar5 = "set Discriminator to %s\n";\nLAB_00052519:\n    pcVar5 = (char *)dcgettext(0,pcVar5,5);\n    printf(pcVar5,pcVar3);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    break;\n  case 0x80:\n    pbVar7 = pbVar7 + (iVar4 - bytes_read);\n    puts("DW_LNE_HP_source_file_correlation");\n    while (pbVar10 < pbVar7) {\n      puVar13 = length_return;\n      dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n      pcVar3 = (char *)dVar12;\n      pbVar10 = pbVar10 + bytes_read;\n      if (pcVar3 == (char *)0x2) {\n        puVar13 = length_return;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else if (pcVar3 == (char *)0x3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n    }\n  }" switch (parenthesized_expression "((uint)bVar1)" ( (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )) (compound_statement "{\n  default:\n    iVar9 = ~bytes_read + iVar4;\n    if ((char)bVar1 < '\0') {\n      pcVar3 = "user defined: ";\n    }\n    else {\n      pcVar3 = "UNKNOWN: ";\n    }\n    pcVar3 = (char *)dcgettext(0,pcVar3,5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar3,iVar9);\n    if (iVar9 != 0) {\n      do {\n        pbVar11 = pbVar10 + 1;\n        printf(" %02x",(uint)*pbVar10);\n        pbVar10 = pbVar11;\n      } while (pbVar7 + iVar9 + 1 != pbVar11);\n    }\n    puts("]");\n    break;\n  case 1:\n    pcVar3 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar3);\n    state_machine_regs.op_index = '\0';\n    state_machine_regs.end_sequence = '\0';\n    state_machine_regs.address = 0;\n    state_machine_regs.view = 0;\n    state_machine_regs.file = 1;\n    state_machine_regs.line = 1;\n    state_machine_regs.column = 0;\n    state_machine_regs.basic_block = 0;\n    state_machine_regs.last_file_entry = 0;\n    state_machine_regs.is_stmt = is_stmt;\n    break;\n  case 2:\n    uVar8 = (iVar4 - bytes_read) - 1;\n    if (uVar8 < 9) {\n      if (end <= pbVar7 + (iVar4 - bytes_read)) {\n        dVar12 = 0;\n        if (end <= pbVar10) goto LAB_00052616;\n        uVar8 = (int)end - (int)pbVar10;\n      }\n      dVar12 = 0;\n      if (uVar8 - 1 < 8) {\n        dVar12 = (*byte_get)(pbVar10,uVar8);\n        uVar2 = uVar8;\n      }\n    }\n    else {\n      pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(pcVar3);\n      dVar12 = 0;\n      uVar2 = uVar8;\n    }\nLAB_00052616:\n    pcVar3 = dwarf_vmatoa_1("x",(ulonglong)uVar2 << 0x20,(uint)dVar12);\n    pcVar5 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar5,pcVar3);\n    state_machine_regs.view = 0;\n    state_machine_regs._32_2_ = state_machine_regs._32_2_ & 0xff00;\n    state_machine_regs.address = dVar12;\n    break;\n  case 3:\n    pcVar3 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar3);\n    state_machine_regs.last_file_entry = state_machine_regs.last_file_entry + 1;\n    printf("   %d\t",state_machine_regs.last_file_entry);\n    sVar6 = strnlen((char *)pbVar10,(int)end - (int)pbVar10);\n    pbVar7 = pbVar7 + iVar4 + 2;\n    puVar13 = length_return;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t",pcVar3);\n    printf("%.*s\n\n",sVar6,pbVar10);\n    if (((int)(pbVar7 + bytes_read) - (int)data != iVar4) || (end == pbVar7 + bytes_read)) {\n      pcVar3 = (char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(pcVar3);\n    }\n    break;\n  case 4:\n    dVar12 = read_leb128(pbVar10,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(length_return) << 0x20,(uint)dVar12);\n    pcVar5 = "set Discriminator to %s\n";\nLAB_00052519:\n    pcVar5 = (char *)dcgettext(0,pcVar5,5);\n    printf(pcVar5,pcVar3);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    break;\n  case 0x80:\n    pbVar7 = pbVar7 + (iVar4 - bytes_read);\n    puts("DW_LNE_HP_source_file_correlation");\n    while (pbVar10 < pbVar7) {\n      puVar13 = length_return;\n      dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n      pcVar3 = (char *)dVar12;\n      pbVar10 = pbVar10 + bytes_read;\n      if (pcVar3 == (char *)0x2) {\n        puVar13 = length_return;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else if (pcVar3 == (char *)0x3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n    }\n  }" { (case_statement "default:\n    iVar9 = ~bytes_read + iVar4;\n    if ((char)bVar1 < '\0') {\n      pcVar3 = "user defined: ";\n    }\n    else {\n      pcVar3 = "UNKNOWN: ";\n    }\n    pcVar3 = (char *)dcgettext(0,pcVar3,5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar3,iVar9);\n    if (iVar9 != 0) {\n      do {\n        pbVar11 = pbVar10 + 1;\n        printf(" %02x",(uint)*pbVar10);\n        pbVar10 = pbVar11;\n      } while (pbVar7 + iVar9 + 1 != pbVar11);\n    }\n    puts("]");\n    break;" default : (expression_statement "iVar9 = ~bytes_read + iVar4;" (assignment_expression "iVar9 = ~bytes_read + iVar4" identifier = (binary_expression "~bytes_read + iVar4" (unary_expression "~bytes_read" ~ identifier) + identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n      pcVar3 = "user defined: ";\n    }\n    else {\n      pcVar3 = "UNKNOWN: ";\n    }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar3 = "user defined: ";\n    }" { (expression_statement "pcVar3 = "user defined: ";" (assignment_expression "pcVar3 = "user defined: "" identifier = (string_literal ""user defined: "" " string_content ")) ;) }) (else_clause "else {\n      pcVar3 = "UNKNOWN: ";\n    }" else (compound_statement "{\n      pcVar3 = "UNKNOWN: ";\n    }" { (expression_statement "pcVar3 = "UNKNOWN: ";" (assignment_expression "pcVar3 = "UNKNOWN: "" identifier = (string_literal ""UNKNOWN: "" " string_content ")) ;) }))) (expression_statement "pcVar3 = (char *)dcgettext(0,pcVar3,5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,pcVar3,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar3,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar3,5)" identifier (argument_list "(0,pcVar3,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"length %d [",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"length %d [",5)" identifier = (cast_expression "(char *)dcgettext(0,"length %d [",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"length %d [",5)" identifier (argument_list "(0,"length %d [",5)" ( number_literal , (string_literal ""length %d ["" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar3,iVar9);" (call_expression "printf(pcVar3,iVar9)" identifier (argument_list "(pcVar3,iVar9)" ( identifier , identifier ))) ;) (if_statement "if (iVar9 != 0) {\n      do {\n        pbVar11 = pbVar10 + 1;\n        printf(" %02x",(uint)*pbVar10);\n        pbVar10 = pbVar11;\n      } while (pbVar7 + iVar9 + 1 != pbVar11);\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        pbVar11 = pbVar10 + 1;\n        printf(" %02x",(uint)*pbVar10);\n        pbVar10 = pbVar11;\n      } while (pbVar7 + iVar9 + 1 != pbVar11);\n    }" { (do_statement "do {\n        pbVar11 = pbVar10 + 1;\n        printf(" %02x",(uint)*pbVar10);\n        pbVar10 = pbVar11;\n      } while (pbVar7 + iVar9 + 1 != pbVar11);" do (compound_statement "{\n        pbVar11 = pbVar10 + 1;\n        printf(" %02x",(uint)*pbVar10);\n        pbVar10 = pbVar11;\n      }" { (expression_statement "pbVar11 = pbVar10 + 1;" (assignment_expression "pbVar11 = pbVar10 + 1" identifier = (binary_expression "pbVar10 + 1" identifier + number_literal)) ;) (expression_statement "printf(" %02x",(uint)*pbVar10);" (call_expression "printf(" %02x",(uint)*pbVar10)" identifier (argument_list "(" %02x",(uint)*pbVar10)" ( (string_literal "" %02x"" " string_content ") , (binary_expression "(uint)*pbVar10" (parenthesized_expression "(uint)" ( identifier )) * identifier) ))) ;) (expression_statement "pbVar10 = pbVar11;" (assignment_expression "pbVar10 = pbVar11" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar7 + iVar9 + 1 != pbVar11)" ( (binary_expression "pbVar7 + iVar9 + 1 != pbVar11" (binary_expression "pbVar7 + iVar9 + 1" (binary_expression "pbVar7 + iVar9" identifier + identifier) + number_literal) != identifier) )) ;) })) (expression_statement "puts("]");" (call_expression "puts("]")" identifier (argument_list "("]")" ( (string_literal ""]"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n    pcVar3 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar3);\n    state_machine_regs.op_index = '\0';\n    state_machine_regs.end_sequence = '\0';\n    state_machine_regs.address = 0;\n    state_machine_regs.view = 0;\n    state_machine_regs.file = 1;\n    state_machine_regs.line = 1;\n    state_machine_regs.column = 0;\n    state_machine_regs.basic_block = 0;\n    state_machine_regs.last_file_entry = 0;\n    state_machine_regs.is_stmt = is_stmt;\n    break;" case number_literal : (expression_statement "pcVar3 = (char *)dcgettext(0,"End of Sequence\n\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"End of Sequence\n\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"End of Sequence\n\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"End of Sequence\n\n",5)" identifier (argument_list "(0,"End of Sequence\n\n",5)" ( number_literal , (string_literal ""End of Sequence\n\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (expression_statement "state_machine_regs.op_index = '\0';" (assignment_expression "state_machine_regs.op_index = '\0'" (field_expression "state_machine_regs.op_index" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "state_machine_regs.end_sequence = '\0';" (assignment_expression "state_machine_regs.end_sequence = '\0'" (field_expression "state_machine_regs.end_sequence" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "state_machine_regs.address = 0;" (assignment_expression "state_machine_regs.address = 0" (field_expression "state_machine_regs.address" identifier . field_identifier) = number_literal) ;) (expression_statement "state_machine_regs.view = 0;" (assignment_expression "state_machine_regs.view = 0" (field_expression "state_machine_regs.view" identifier . field_identifier) = number_literal) ;) (expression_statement "state_machine_regs.file = 1;" (assignment_expression "state_machine_regs.file = 1" (field_expression "state_machine_regs.file" identifier . field_identifier) = number_literal) ;) (expression_statement "state_machine_regs.line = 1;" (assignment_expression "state_machine_regs.line = 1" (field_expression "state_machine_regs.line" identifier . field_identifier) = number_literal) ;) (expression_statement "state_machine_regs.column = 0;" (assignment_expression "state_machine_regs.column = 0" (field_expression "state_machine_regs.column" identifier . field_identifier) = number_literal) ;) (expression_statement "state_machine_regs.basic_block = 0;" (assignment_expression "state_machine_regs.basic_block = 0" (field_expression "state_machine_regs.basic_block" identifier . field_identifier) = number_literal) ;) (expression_statement "state_machine_regs.last_file_entry = 0;" (assignment_expression "state_machine_regs.last_file_entry = 0" (field_expression "state_machine_regs.last_file_entry" identifier . field_identifier) = number_literal) ;) (expression_statement "state_machine_regs.is_stmt = is_stmt;" (assignment_expression "state_machine_regs.is_stmt = is_stmt" (field_expression "state_machine_regs.is_stmt" identifier . field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n    uVar8 = (iVar4 - bytes_read) - 1;\n    if (uVar8 < 9) {\n      if (end <= pbVar7 + (iVar4 - bytes_read)) {\n        dVar12 = 0;\n        if (end <= pbVar10) goto LAB_00052616;\n        uVar8 = (int)end - (int)pbVar10;\n      }\n      dVar12 = 0;\n      if (uVar8 - 1 < 8) {\n        dVar12 = (*byte_get)(pbVar10,uVar8);\n        uVar2 = uVar8;\n      }\n    }\n    else {\n      pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(pcVar3);\n      dVar12 = 0;\n      uVar2 = uVar8;\n    }\nLAB_00052616:\n    pcVar3 = dwarf_vmatoa_1("x",(ulonglong)uVar2 << 0x20,(uint)dVar12);\n    pcVar5 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar5,pcVar3);\n    state_machine_regs.view = 0;\n    state_machine_regs._32_2_ = state_machine_regs._32_2_ & 0xff00;\n    state_machine_regs.address = dVar12;\n    break;" case number_literal : (expression_statement "uVar8 = (iVar4 - bytes_read) - 1;" (assignment_expression "uVar8 = (iVar4 - bytes_read) - 1" identifier = (binary_expression "(iVar4 - bytes_read) - 1" (parenthesized_expression "(iVar4 - bytes_read)" ( (binary_expression "iVar4 - bytes_read" identifier - identifier) )) - number_literal)) ;) (if_statement "if (uVar8 < 9) {\n      if (end <= pbVar7 + (iVar4 - bytes_read)) {\n        dVar12 = 0;\n        if (end <= pbVar10) goto LAB_00052616;\n        uVar8 = (int)end - (int)pbVar10;\n      }\n      dVar12 = 0;\n      if (uVar8 - 1 < 8) {\n        dVar12 = (*byte_get)(pbVar10,uVar8);\n        uVar2 = uVar8;\n      }\n    }\n    else {\n      pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(pcVar3);\n      dVar12 = 0;\n      uVar2 = uVar8;\n    }" if (parenthesized_expression "(uVar8 < 9)" ( (binary_expression "uVar8 < 9" identifier < number_literal) )) (compound_statement "{\n      if (end <= pbVar7 + (iVar4 - bytes_read)) {\n        dVar12 = 0;\n        if (end <= pbVar10) goto LAB_00052616;\n        uVar8 = (int)end - (int)pbVar10;\n      }\n      dVar12 = 0;\n      if (uVar8 - 1 < 8) {\n        dVar12 = (*byte_get)(pbVar10,uVar8);\n        uVar2 = uVar8;\n      }\n    }" { (if_statement "if (end <= pbVar7 + (iVar4 - bytes_read)) {\n        dVar12 = 0;\n        if (end <= pbVar10) goto LAB_00052616;\n        uVar8 = (int)end - (int)pbVar10;\n      }" if (parenthesized_expression "(end <= pbVar7 + (iVar4 - bytes_read))" ( (binary_expression "end <= pbVar7 + (iVar4 - bytes_read)" identifier <= (binary_expression "pbVar7 + (iVar4 - bytes_read)" identifier + (parenthesized_expression "(iVar4 - bytes_read)" ( (binary_expression "iVar4 - bytes_read" identifier - identifier) )))) )) (compound_statement "{\n        dVar12 = 0;\n        if (end <= pbVar10) goto LAB_00052616;\n        uVar8 = (int)end - (int)pbVar10;\n      }" { (expression_statement "dVar12 = 0;" (assignment_expression "dVar12 = 0" identifier = number_literal) ;) (if_statement "if (end <= pbVar10) goto LAB_00052616;" if (parenthesized_expression "(end <= pbVar10)" ( (binary_expression "end <= pbVar10" identifier <= identifier) )) (goto_statement "goto LAB_00052616;" goto statement_identifier ;)) (expression_statement "uVar8 = (int)end - (int)pbVar10;" (assignment_expression "uVar8 = (int)end - (int)pbVar10" identifier = (binary_expression "(int)end - (int)pbVar10" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "dVar12 = 0;" (assignment_expression "dVar12 = 0" identifier = number_literal) ;) (if_statement "if (uVar8 - 1 < 8) {\n        dVar12 = (*byte_get)(pbVar10,uVar8);\n        uVar2 = uVar8;\n      }" if (parenthesized_expression "(uVar8 - 1 < 8)" ( (binary_expression "uVar8 - 1 < 8" (binary_expression "uVar8 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n        dVar12 = (*byte_get)(pbVar10,uVar8);\n        uVar2 = uVar8;\n      }" { (expression_statement "dVar12 = (*byte_get)(pbVar10,uVar8);" (assignment_expression "dVar12 = (*byte_get)(pbVar10,uVar8)" identifier = (call_expression "(*byte_get)(pbVar10,uVar8)" (parenthesized_expression "(*byte_get)" ( (pointer_expression "*byte_get" * identifier) )) (argument_list "(pbVar10,uVar8)" ( identifier , identifier )))) ;) (expression_statement "uVar2 = uVar8;" (assignment_expression "uVar2 = uVar8" identifier = identifier) ;) })) }) (else_clause "else {\n      pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(pcVar3);\n      dVar12 = 0;\n      uVar2 = uVar8;\n    }" else (compound_statement "{\n      pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(pcVar3);\n      dVar12 = 0;\n      uVar2 = uVar8;\n    }" { (expression_statement "pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" identifier (argument_list "(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" ( number_literal , (string_literal ""Length (%d) of DW_LNE_set_address op is too long\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar3);" (call_expression "warn(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (expression_statement "dVar12 = 0;" (assignment_expression "dVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = uVar8;" (assignment_expression "uVar2 = uVar8" identifier = identifier) ;) }))) (labeled_statement "LAB_00052616:\n    pcVar3 = dwarf_vmatoa_1("x",(ulonglong)uVar2 << 0x20,(uint)dVar12);" statement_identifier : (expression_statement "pcVar3 = dwarf_vmatoa_1("x",(ulonglong)uVar2 << 0x20,(uint)dVar12);" (assignment_expression "pcVar3 = dwarf_vmatoa_1("x",(ulonglong)uVar2 << 0x20,(uint)dVar12)" identifier = (call_expression "dwarf_vmatoa_1("x",(ulonglong)uVar2 << 0x20,(uint)dVar12)" identifier (argument_list "("x",(ulonglong)uVar2 << 0x20,(uint)dVar12)" ( (string_literal ""x"" " string_content ") , (binary_expression "(ulonglong)uVar2 << 0x20" (cast_expression "(ulonglong)uVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) << number_literal) , (cast_expression "(uint)dVar12" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;)) (expression_statement "pcVar5 = (char *)dcgettext(0,"set Address to 0x%s\n",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"set Address to 0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"set Address to 0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"set Address to 0x%s\n",5)" identifier (argument_list "(0,"set Address to 0x%s\n",5)" ( number_literal , (string_literal ""set Address to 0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar5,pcVar3);" (call_expression "printf(pcVar5,pcVar3)" identifier (argument_list "(pcVar5,pcVar3)" ( identifier , identifier ))) ;) (expression_statement "state_machine_regs.view = 0;" (assignment_expression "state_machine_regs.view = 0" (field_expression "state_machine_regs.view" identifier . field_identifier) = number_literal) ;) (expression_statement "state_machine_regs._32_2_ = state_machine_regs._32_2_ & 0xff00;" (assignment_expression "state_machine_regs._32_2_ = state_machine_regs._32_2_ & 0xff00" (field_expression "state_machine_regs._32_2_" identifier . field_identifier) = (binary_expression "state_machine_regs._32_2_ & 0xff00" (field_expression "state_machine_regs._32_2_" identifier . field_identifier) & number_literal)) ;) (expression_statement "state_machine_regs.address = dVar12;" (assignment_expression "state_machine_regs.address = dVar12" (field_expression "state_machine_regs.address" identifier . field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n    pcVar3 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar3);\n    pcVar3 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar3);\n    state_machine_regs.last_file_entry = state_machine_regs.last_file_entry + 1;\n    printf("   %d\t",state_machine_regs.last_file_entry);\n    sVar6 = strnlen((char *)pbVar10,(int)end - (int)pbVar10);\n    pbVar7 = pbVar7 + iVar4 + 2;\n    puVar13 = length_return;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t");\n    pbVar7 = pbVar7 + bytes_read;\n    dVar12 = read_leb128(pbVar7,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n    printf("%s\t",pcVar3);\n    printf("%.*s\n\n",sVar6,pbVar10);\n    if (((int)(pbVar7 + bytes_read) - (int)data != iVar4) || (end == pbVar7 + bytes_read)) {\n      pcVar3 = (char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(pcVar3);\n    }\n    break;" case number_literal : (expression_statement "pcVar3 = (char *)dcgettext(0,"define new File Table entry\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"define new File Table entry\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"define new File Table entry\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"define new File Table entry\n",5)" identifier (argument_list "(0,"define new File Table entry\n",5)" ( number_literal , (string_literal ""define new File Table entry\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (expression_statement "pcVar3 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" identifier (argument_list "(0,"  Entry\tDir\tTime\tSize\tName\n",5)" ( number_literal , (string_literal ""  Entry\tDir\tTime\tSize\tName\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) (expression_statement "state_machine_regs.last_file_entry = state_machine_regs.last_file_entry + 1;" (assignment_expression "state_machine_regs.last_file_entry = state_machine_regs.last_file_entry + 1" (field_expression "state_machine_regs.last_file_entry" identifier . field_identifier) = (binary_expression "state_machine_regs.last_file_entry + 1" (field_expression "state_machine_regs.last_file_entry" identifier . field_identifier) + number_literal)) ;) (expression_statement "printf("   %d\t",state_machine_regs.last_file_entry);" (call_expression "printf("   %d\t",state_machine_regs.last_file_entry)" identifier (argument_list "("   %d\t",state_machine_regs.last_file_entry)" ( (string_literal ""   %d\t"" " string_content escape_sequence ") , (field_expression "state_machine_regs.last_file_entry" identifier . field_identifier) ))) ;) (expression_statement "sVar6 = strnlen((char *)pbVar10,(int)end - (int)pbVar10);" (assignment_expression "sVar6 = strnlen((char *)pbVar10,(int)end - (int)pbVar10)" identifier = (call_expression "strnlen((char *)pbVar10,(int)end - (int)pbVar10)" identifier (argument_list "((char *)pbVar10,(int)end - (int)pbVar10)" ( (cast_expression "(char *)pbVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)end - (int)pbVar10" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar10" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar7 = pbVar7 + iVar4 + 2;" (assignment_expression "pbVar7 = pbVar7 + iVar4 + 2" identifier = (binary_expression "pbVar7 + iVar4 + 2" (binary_expression "pbVar7 + iVar4" identifier + identifier) + number_literal)) ;) (expression_statement "puVar13 = length_return;" (assignment_expression "puVar13 = length_return" identifier = identifier) ;) (expression_statement "dVar12 = read_leb128(pbVar7,length_return,0,end);" (assignment_expression "dVar12 = read_leb128(pbVar7,length_return,0,end)" identifier = (call_expression "read_leb128(pbVar7,length_return,0,end)" identifier (argument_list "(pbVar7,length_return,0,end)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);" (assignment_expression "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12)" identifier = (call_expression "dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12)" identifier (argument_list "("u",ZEXT48(puVar13) << 0x20,(uint)dVar12)" ( (string_literal ""u"" " string_content ") , (binary_expression "ZEXT48(puVar13) << 0x20" (call_expression "ZEXT48(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) << number_literal) , (cast_expression "(uint)dVar12" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "printf("%s\t");" (call_expression "printf("%s\t")" identifier (argument_list "("%s\t")" ( (string_literal ""%s\t"" " string_content escape_sequence ") ))) ;) (expression_statement "pbVar7 = pbVar7 + bytes_read;" (assignment_expression "pbVar7 = pbVar7 + bytes_read" identifier = (binary_expression "pbVar7 + bytes_read" identifier + identifier)) ;) (expression_statement "dVar12 = read_leb128(pbVar7,length_return,0,end);" (assignment_expression "dVar12 = read_leb128(pbVar7,length_return,0,end)" identifier = (call_expression "read_leb128(pbVar7,length_return,0,end)" identifier (argument_list "(pbVar7,length_return,0,end)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);" (assignment_expression "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" identifier = (call_expression "dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" identifier (argument_list "("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" ( (string_literal ""u"" " string_content ") , (binary_expression "ZEXT48(pcVar3) << 0x20" (call_expression "ZEXT48(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) << number_literal) , (cast_expression "(uint)dVar12" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "printf("%s\t");" (call_expression "printf("%s\t")" identifier (argument_list "("%s\t")" ( (string_literal ""%s\t"" " string_content escape_sequence ") ))) ;) (expression_statement "pbVar7 = pbVar7 + bytes_read;" (assignment_expression "pbVar7 = pbVar7 + bytes_read" identifier = (binary_expression "pbVar7 + bytes_read" identifier + identifier)) ;) (expression_statement "dVar12 = read_leb128(pbVar7,length_return,0,end);" (assignment_expression "dVar12 = read_leb128(pbVar7,length_return,0,end)" identifier = (call_expression "read_leb128(pbVar7,length_return,0,end)" identifier (argument_list "(pbVar7,length_return,0,end)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);" (assignment_expression "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" identifier = (call_expression "dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" identifier (argument_list "("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" ( (string_literal ""u"" " string_content ") , (binary_expression "ZEXT48(pcVar3) << 0x20" (call_expression "ZEXT48(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) << number_literal) , (cast_expression "(uint)dVar12" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "printf("%s\t",pcVar3);" (call_expression "printf("%s\t",pcVar3)" identifier (argument_list "("%s\t",pcVar3)" ( (string_literal ""%s\t"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "printf("%.*s\n\n",sVar6,pbVar10);" (call_expression "printf("%.*s\n\n",sVar6,pbVar10)" identifier (argument_list "("%.*s\n\n",sVar6,pbVar10)" ( (string_literal ""%.*s\n\n"" " string_content escape_sequence escape_sequence ") , identifier , identifier ))) ;) (if_statement "if (((int)(pbVar7 + bytes_read) - (int)data != iVar4) || (end == pbVar7 + bytes_read)) {\n      pcVar3 = (char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(pcVar3);\n    }" if (parenthesized_expression "(((int)(pbVar7 + bytes_read) - (int)data != iVar4) || (end == pbVar7 + bytes_read))" ( (binary_expression "((int)(pbVar7 + bytes_read) - (int)data != iVar4) || (end == pbVar7 + bytes_read)" (parenthesized_expression "((int)(pbVar7 + bytes_read) - (int)data != iVar4)" ( (binary_expression "(int)(pbVar7 + bytes_read) - (int)data != iVar4" (binary_expression "(int)(pbVar7 + bytes_read) - (int)data" (cast_expression "(int)(pbVar7 + bytes_read)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar7 + bytes_read)" ( (binary_expression "pbVar7 + bytes_read" identifier + identifier) ))) - (cast_expression "(int)data" ( (type_descriptor "int" primitive_type) ) identifier)) != identifier) )) || (parenthesized_expression "(end == pbVar7 + bytes_read)" ( (binary_expression "end == pbVar7 + bytes_read" identifier == (binary_expression "pbVar7 + bytes_read" identifier + identifier)) ))) )) (compound_statement "{\n      pcVar3 = (char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(pcVar3);\n    }" { (expression_statement "pcVar3 = (char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5)" identifier (argument_list "(0,"DW_LNE_define_file: Bad opcode length\n",5)" ( number_literal , (string_literal ""DW_LNE_define_file: Bad opcode length\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "warn(pcVar3);" (call_expression "warn(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) })) (break_statement "break;" break ;)) (case_statement "case 4:\n    dVar12 = read_leb128(pbVar10,length_return,0,end);\n    pcVar3 = dwarf_vmatoa_1("u",ZEXT48(length_return) << 0x20,(uint)dVar12);\n    pcVar5 = "set Discriminator to %s\n";\nLAB_00052519:\n    pcVar5 = (char *)dcgettext(0,pcVar5,5);\n    printf(pcVar5,pcVar3);\n    break;" case number_literal : (expression_statement "dVar12 = read_leb128(pbVar10,length_return,0,end);" (assignment_expression "dVar12 = read_leb128(pbVar10,length_return,0,end)" identifier = (call_expression "read_leb128(pbVar10,length_return,0,end)" identifier (argument_list "(pbVar10,length_return,0,end)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(length_return) << 0x20,(uint)dVar12);" (assignment_expression "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(length_return) << 0x20,(uint)dVar12)" identifier = (call_expression "dwarf_vmatoa_1("u",ZEXT48(length_return) << 0x20,(uint)dVar12)" identifier (argument_list "("u",ZEXT48(length_return) << 0x20,(uint)dVar12)" ( (string_literal ""u"" " string_content ") , (binary_expression "ZEXT48(length_return) << 0x20" (call_expression "ZEXT48(length_return)" identifier (argument_list "(length_return)" ( identifier ))) << number_literal) , (cast_expression "(uint)dVar12" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "pcVar5 = "set Discriminator to %s\n";" (assignment_expression "pcVar5 = "set Discriminator to %s\n"" identifier = (string_literal ""set Discriminator to %s\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_00052519:\n    pcVar5 = (char *)dcgettext(0,pcVar5,5);" statement_identifier : (expression_statement "pcVar5 = (char *)dcgettext(0,pcVar5,5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,pcVar5,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar5,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar5,5)" identifier (argument_list "(0,pcVar5,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar5,pcVar3);" (call_expression "printf(pcVar5,pcVar3)" identifier (argument_list "(pcVar5,pcVar3)" ( identifier , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_is_UV_update");" (call_expression "puts("DW_LNE_HP_negate_is_UV_update")" identifier (argument_list "("DW_LNE_HP_negate_is_UV_update")" ( (string_literal ""DW_LNE_HP_negate_is_UV_update"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x12:\n    puts("DW_LNE_HP_push_context");\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_push_context");" (call_expression "puts("DW_LNE_HP_push_context")" identifier (argument_list "("DW_LNE_HP_push_context")" ( (string_literal ""DW_LNE_HP_push_context"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_pop_context");" (call_expression "puts("DW_LNE_HP_pop_context")" identifier (argument_list "("DW_LNE_HP_pop_context")" ( (string_literal ""DW_LNE_HP_pop_context"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_set_file_line_column");" (call_expression "puts("DW_LNE_HP_set_file_line_column")" identifier (argument_list "("DW_LNE_HP_set_file_line_column")" ( (string_literal ""DW_LNE_HP_set_file_line_column"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_set_routine_name");" (call_expression "puts("DW_LNE_HP_set_routine_name")" identifier (argument_list "("DW_LNE_HP_set_routine_name")" ( (string_literal ""DW_LNE_HP_set_routine_name"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_set_sequence");" (call_expression "puts("DW_LNE_HP_set_sequence")" identifier (argument_list "("DW_LNE_HP_set_sequence")" ( (string_literal ""DW_LNE_HP_set_sequence"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_post_semantics");" (call_expression "puts("DW_LNE_HP_negate_post_semantics")" identifier (argument_list "("DW_LNE_HP_negate_post_semantics")" ( (string_literal ""DW_LNE_HP_negate_post_semantics"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_function_exit");" (call_expression "puts("DW_LNE_HP_negate_function_exit")" identifier (argument_list "("DW_LNE_HP_negate_function_exit")" ( (string_literal ""DW_LNE_HP_negate_function_exit"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_front_end_logical");" (call_expression "puts("DW_LNE_HP_negate_front_end_logical")" identifier (argument_list "("DW_LNE_HP_negate_front_end_logical")" ( (string_literal ""DW_LNE_HP_negate_front_end_logical"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_define_proc");" (call_expression "puts("DW_LNE_HP_define_proc")" identifier (argument_list "("DW_LNE_HP_define_proc")" ( (string_literal ""DW_LNE_HP_define_proc"" " string_content ") ))) ;) (break_statement "break;" break ;)) (case_statement "case 0x80:\n    pbVar7 = pbVar7 + (iVar4 - bytes_read);\n    puts("DW_LNE_HP_source_file_correlation");\n    while (pbVar10 < pbVar7) {\n      puVar13 = length_return;\n      dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n      pcVar3 = (char *)dVar12;\n      pbVar10 = pbVar10 + bytes_read;\n      if (pcVar3 == (char *)0x2) {\n        puVar13 = length_return;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else if (pcVar3 == (char *)0x3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n    }" case number_literal : (expression_statement "pbVar7 = pbVar7 + (iVar4 - bytes_read);" (assignment_expression "pbVar7 = pbVar7 + (iVar4 - bytes_read)" identifier = (binary_expression "pbVar7 + (iVar4 - bytes_read)" identifier + (parenthesized_expression "(iVar4 - bytes_read)" ( (binary_expression "iVar4 - bytes_read" identifier - identifier) )))) ;) (expression_statement "puts("DW_LNE_HP_source_file_correlation");" (call_expression "puts("DW_LNE_HP_source_file_correlation")" identifier (argument_list "("DW_LNE_HP_source_file_correlation")" ( (string_literal ""DW_LNE_HP_source_file_correlation"" " string_content ") ))) ;) (while_statement "while (pbVar10 < pbVar7) {\n      puVar13 = length_return;\n      dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n      pcVar3 = (char *)dVar12;\n      pbVar10 = pbVar10 + bytes_read;\n      if (pcVar3 == (char *)0x2) {\n        puVar13 = length_return;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else if (pcVar3 == (char *)0x3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n    }" while (parenthesized_expression "(pbVar10 < pbVar7)" ( (binary_expression "pbVar10 < pbVar7" identifier < identifier) )) (compound_statement "{\n      puVar13 = length_return;\n      dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n      pcVar3 = (char *)dVar12;\n      pbVar10 = pbVar10 + bytes_read;\n      if (pcVar3 == (char *)0x2) {\n        puVar13 = length_return;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else if (pcVar3 == (char *)0x3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n    }" { (expression_statement "puVar13 = length_return;" (assignment_expression "puVar13 = length_return" identifier = identifier) ;) (expression_statement "dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);" (assignment_expression "dVar12 = read_leb128(pbVar10,length_return,0,pbVar7)" identifier = (call_expression "read_leb128(pbVar10,length_return,0,pbVar7)" identifier (argument_list "(pbVar10,length_return,0,pbVar7)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar3 = (char *)dVar12;" (assignment_expression "pcVar3 = (char *)dVar12" identifier = (cast_expression "(char *)dVar12" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar10 = pbVar10 + bytes_read;" (assignment_expression "pbVar10 = pbVar10 + bytes_read" identifier = (binary_expression "pbVar10 + bytes_read" identifier + identifier)) ;) (if_statement "if (pcVar3 == (char *)0x2) {\n        puVar13 = length_return;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else if (pcVar3 == (char *)0x3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" if (parenthesized_expression "(pcVar3 == (char *)0x2)" ( (binary_expression "pcVar3 == (char *)0x2" identifier == (cast_expression "(char *)0x2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar13 = length_return;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }" { (expression_statement "puVar13 = length_return;" (assignment_expression "puVar13 = length_return" identifier = identifier) ;) (expression_statement "dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);" (assignment_expression "dVar12 = read_leb128(pbVar10,length_return,0,pbVar7)" identifier = (call_expression "read_leb128(pbVar10,length_return,0,pbVar7)" identifier (argument_list "(pbVar10,length_return,0,pbVar7)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);" (assignment_expression "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12)" identifier = (call_expression "dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12)" identifier (argument_list "("u",ZEXT48(puVar13) << 0x20,(uint)dVar12)" ( (string_literal ""u"" " string_content ") , (binary_expression "ZEXT48(puVar13) << 0x20" (call_expression "ZEXT48(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) << number_literal) , (cast_expression "(uint)dVar12" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3);" (call_expression "printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3)" identifier (argument_list "("    DW_LNE_HP_SFC_set_listing_line (%s)\n",pcVar3)" ( (string_literal ""    DW_LNE_HP_SFC_set_listing_line (%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pbVar10 = pbVar10 + bytes_read;" (assignment_expression "pbVar10 = pbVar10 + bytes_read" identifier = (binary_expression "pbVar10 + bytes_read" identifier + identifier)) ;) }) (else_clause "else if (pcVar3 == (char *)0x3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" else (if_statement "if (pcVar3 == (char *)0x3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }\n      else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" if (parenthesized_expression "(pcVar3 == (char *)0x3)" ( (binary_expression "pcVar3 == (char *)0x3" identifier == (cast_expression "(char *)0x3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        printf("    DW_LNE_HP_SFC_associate ");\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);\n        printf("(%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s");\n        pbVar10 = pbVar10 + bytes_read;\n        dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);\n        pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);\n        printf(",%s)\n",pcVar3);\n        pbVar10 = pbVar10 + bytes_read;\n      }" { (expression_statement "printf("    DW_LNE_HP_SFC_associate ");" (call_expression "printf("    DW_LNE_HP_SFC_associate ")" identifier (argument_list "("    DW_LNE_HP_SFC_associate ")" ( (string_literal ""    DW_LNE_HP_SFC_associate "" " string_content ") ))) ;) (expression_statement "dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);" (assignment_expression "dVar12 = read_leb128(pbVar10,length_return,0,pbVar7)" identifier = (call_expression "read_leb128(pbVar10,length_return,0,pbVar7)" identifier (argument_list "(pbVar10,length_return,0,pbVar7)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12);" (assignment_expression "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12)" identifier = (call_expression "dwarf_vmatoa_1("u",ZEXT48(puVar13) << 0x20,(uint)dVar12)" identifier (argument_list "("u",ZEXT48(puVar13) << 0x20,(uint)dVar12)" ( (string_literal ""u"" " string_content ") , (binary_expression "ZEXT48(puVar13) << 0x20" (call_expression "ZEXT48(puVar13)" identifier (argument_list "(puVar13)" ( identifier ))) << number_literal) , (cast_expression "(uint)dVar12" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "printf("(%s");" (call_expression "printf("(%s")" identifier (argument_list "("(%s")" ( (string_literal ""(%s"" " string_content ") ))) ;) (expression_statement "pbVar10 = pbVar10 + bytes_read;" (assignment_expression "pbVar10 = pbVar10 + bytes_read" identifier = (binary_expression "pbVar10 + bytes_read" identifier + identifier)) ;) (expression_statement "dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);" (assignment_expression "dVar12 = read_leb128(pbVar10,length_return,0,pbVar7)" identifier = (call_expression "read_leb128(pbVar10,length_return,0,pbVar7)" identifier (argument_list "(pbVar10,length_return,0,pbVar7)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);" (assignment_expression "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" identifier = (call_expression "dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" identifier (argument_list "("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" ( (string_literal ""u"" " string_content ") , (binary_expression "ZEXT48(pcVar3) << 0x20" (call_expression "ZEXT48(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) << number_literal) , (cast_expression "(uint)dVar12" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "printf(",%s");" (call_expression "printf(",%s")" identifier (argument_list "(",%s")" ( (string_literal "",%s"" " string_content ") ))) ;) (expression_statement "pbVar10 = pbVar10 + bytes_read;" (assignment_expression "pbVar10 = pbVar10 + bytes_read" identifier = (binary_expression "pbVar10 + bytes_read" identifier + identifier)) ;) (expression_statement "dVar12 = read_leb128(pbVar10,length_return,0,pbVar7);" (assignment_expression "dVar12 = read_leb128(pbVar10,length_return,0,pbVar7)" identifier = (call_expression "read_leb128(pbVar10,length_return,0,pbVar7)" identifier (argument_list "(pbVar10,length_return,0,pbVar7)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12);" (assignment_expression "pcVar3 = dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" identifier = (call_expression "dwarf_vmatoa_1("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" identifier (argument_list "("u",ZEXT48(pcVar3) << 0x20,(uint)dVar12)" ( (string_literal ""u"" " string_content ") , (binary_expression "ZEXT48(pcVar3) << 0x20" (call_expression "ZEXT48(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) << number_literal) , (cast_expression "(uint)dVar12" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (expression_statement "printf(",%s)\n",pcVar3);" (call_expression "printf(",%s)\n",pcVar3)" identifier (argument_list "(",%s)\n",pcVar3)" ( (string_literal "",%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pbVar10 = pbVar10 + bytes_read;" (assignment_expression "pbVar10 = pbVar10 + bytes_read" identifier = (binary_expression "pbVar10 + bytes_read" identifier + identifier)) ;) }) (else_clause "else {\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" else (compound_statement "{\n        if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" { (if_statement "if (pcVar3 != (char *)0x1) {\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }" if (parenthesized_expression "(pcVar3 != (char *)0x1)" ( (binary_expression "pcVar3 != (char *)0x1" identifier != (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto LAB_00052519;\n        }" { (expression_statement "pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";" (assignment_expression "pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n"" identifier = (string_literal ""    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_00052519;" goto statement_identifier ;) })) (expression_statement "puts("    DW_LNE_HP_SFC_formfeed");" (call_expression "puts("    DW_LNE_HP_SFC_formfeed")" identifier (argument_list "("    DW_LNE_HP_SFC_formfeed")" ( (string_literal ""    DW_LNE_HP_SFC_formfeed"" " string_content ") ))) ;) }))))) }))) })) (return_statement "return iVar4;" return identifier ;) })))
(translation_unit "uint __regparm3 FUN_000523d0(int param_1,undefined4 param_2,byte *param_3)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  size_t sVar5;\n  byte *pbVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined8 uVar11;\n  uint local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x523dd;\n  uVar2 = FUN_0004f990(param_1,local_20,0,param_3);\n  pbVar6 = (byte *)(param_1 + local_20[0]);\n  if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }\n  uVar2 = uVar2 + local_20[0];\n  pbVar9 = pbVar6 + 1;\n  bVar1 = *pbVar6;\n  pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);\n  printf(pcVar4,(uint)bVar1);\n  switch((uint)bVar1) {\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }\n  DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);\n  DAT_000b9d00 = (undefined4)uVar11;\n  return uVar2;\n}\n\n" (function_definition "uint __regparm3 FUN_000523d0(int param_1,undefined4 param_2,byte *param_3)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  size_t sVar5;\n  byte *pbVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined8 uVar11;\n  uint local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x523dd;\n  uVar2 = FUN_0004f990(param_1,local_20,0,param_3);\n  pbVar6 = (byte *)(param_1 + local_20[0]);\n  if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }\n  uVar2 = uVar2 + local_20[0];\n  pbVar9 = pbVar6 + 1;\n  bVar1 = *pbVar6;\n  pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);\n  printf(pcVar4,(uint)bVar1);\n  switch((uint)bVar1) {\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }\n  DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);\n  DAT_000b9d00 = (undefined4)uVar11;\n  return uVar2;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_000523d0(int param_1,undefined4 param_2,byte *param_3)" identifier (parameter_list "(int param_1,undefined4 param_2,byte *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "byte *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  size_t sVar5;\n  byte *pbVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined8 uVar11;\n  uint local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x523dd;\n  uVar2 = FUN_0004f990(param_1,local_20,0,param_3);\n  pbVar6 = (byte *)(param_1 + local_20[0]);\n  if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }\n  uVar2 = uVar2 + local_20[0];\n  pbVar9 = pbVar6 + 1;\n  bVar1 = *pbVar6;\n  pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);\n  printf(pcVar4,(uint)bVar1);\n  switch((uint)bVar1) {\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }\n  DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);\n  DAT_000b9d00 = (undefined4)uVar11;\n  return uVar2;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "uint local_20 [3];" type_identifier (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x523dd;" (assignment_expression "uStack_14 = 0x523dd" identifier = number_literal) ;) (expression_statement "uVar2 = FUN_0004f990(param_1,local_20,0,param_3);" (assignment_expression "uVar2 = FUN_0004f990(param_1,local_20,0,param_3)" identifier = (call_expression "FUN_0004f990(param_1,local_20,0,param_3)" identifier (argument_list "(param_1,local_20,0,param_3)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pbVar6 = (byte *)(param_1 + local_20[0]);" (assignment_expression "pbVar6 = (byte *)(param_1 + local_20[0])" identifier = (cast_expression "(byte *)(param_1 + local_20[0])" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + local_20[0])" ( (binary_expression "param_1 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ])) )))) ;) (if_statement "if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }" if (parenthesized_expression "(((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2))" ( (binary_expression "((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)" (parenthesized_expression "((uVar2 == 0) || (param_3 == pbVar6))" ( (binary_expression "(uVar2 == 0) || (param_3 == pbVar6)" (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) || (parenthesized_expression "(param_3 == pbVar6)" ( (binary_expression "param_3 == pbVar6" identifier == identifier) ))) )) || (parenthesized_expression "((uint)((int)param_3 - (int)pbVar6) < uVar2)" ( (binary_expression "(uint)((int)param_3 - (int)pbVar6) < uVar2" (call_expression "(uint)((int)param_3 - (int)pbVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)param_3 - (int)pbVar6)" ( (binary_expression "(int)param_3 - (int)pbVar6" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < identifier) ))) )) (compound_statement "{\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }" { (expression_statement "uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);" (assignment_expression "uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5)" identifier = (call_expression "dcgettext(0,"Badly formed extended line op encountered!\n",5)" identifier (argument_list "(0,"Badly formed extended line op encountered!\n",5)" ( number_literal , (string_literal ""Badly formed extended line op encountered!\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar3);" (call_expression "warn(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return local_20[0];" return (subscript_expression "local_20[0]" identifier [ number_literal ]) ;) })) (expression_statement "uVar2 = uVar2 + local_20[0];" (assignment_expression "uVar2 = uVar2 + local_20[0]" identifier = (binary_expression "uVar2 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "pbVar9 = pbVar6 + 1;" (assignment_expression "pbVar9 = pbVar6 + 1" identifier = (binary_expression "pbVar6 + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" identifier = (pointer_expression "*pbVar6" * identifier)) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Extended opcode %d: ",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Extended opcode %d: ",5)" identifier (argument_list "(0,"  Extended opcode %d: ",5)" ( number_literal , (string_literal ""  Extended opcode %d: "" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,(uint)bVar1);" (call_expression "printf(pcVar4,(uint)bVar1)" identifier (argument_list "(pcVar4,(uint)bVar1)" ( identifier , (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) ))) ;) (switch_statement "switch((uint)bVar1) {\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }" switch (parenthesized_expression "((uint)bVar1)" ( (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) )) (compound_statement "{\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }" { (case_statement "default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" default : (expression_statement "iVar8 = ~local_20[0] + uVar2;" (assignment_expression "iVar8 = ~local_20[0] + uVar2" identifier = (binary_expression "~local_20[0] + uVar2" (unary_expression "~local_20[0]" ~ (subscript_expression "local_20[0]" identifier [ number_literal ])) + identifier)) ;) (if_statement "if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar4 = "user defined: ";\n    }" { (expression_statement "pcVar4 = "user defined: ";" (assignment_expression "pcVar4 = "user defined: "" identifier = (string_literal ""user defined: "" " string_content ")) ;) }) (else_clause "else {\n      pcVar4 = "UNKNOWN: ";\n    }" else (compound_statement "{\n      pcVar4 = "UNKNOWN: ";\n    }" { (expression_statement "pcVar4 = "UNKNOWN: ";" (assignment_expression "pcVar4 = "UNKNOWN: "" identifier = (string_literal ""UNKNOWN: "" " string_content ")) ;) }))) (expression_statement "pcVar4 = (char *)dcgettext(0,pcVar4,5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,pcVar4,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar4,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar4,5)" identifier (argument_list "(0,pcVar4,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"length %d [",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"length %d [",5)" identifier = (cast_expression "(char *)dcgettext(0,"length %d [",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"length %d [",5)" identifier (argument_list "(0,"length %d [",5)" ( number_literal , (string_literal ""length %d ["" " string_content ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,iVar8);" (call_expression "printf(pcVar4,iVar8)" identifier (argument_list "(pcVar4,iVar8)" ( identifier , identifier ))) ;) (if_statement "if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }" { (do_statement "do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);" do (compound_statement "{\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      }" { (expression_statement "pbVar10 = pbVar9 + 1;" (assignment_expression "pbVar10 = pbVar9 + 1" identifier = (binary_expression "pbVar9 + 1" identifier + number_literal)) ;) (expression_statement "printf(" %02x",(uint)*pbVar9);" (call_expression "printf(" %02x",(uint)*pbVar9)" identifier (argument_list "(" %02x",(uint)*pbVar9)" ( (string_literal "" %02x"" " string_content ") , (binary_expression "(uint)*pbVar9" (parenthesized_expression "(uint)" ( identifier )) * identifier) ))) ;) (expression_statement "pbVar9 = pbVar10;" (assignment_expression "pbVar9 = pbVar10" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar6 + iVar8 + 1 != pbVar10)" ( (binary_expression "pbVar6 + iVar8 + 1 != pbVar10" (binary_expression "pbVar6 + iVar8 + 1" (binary_expression "pbVar6 + iVar8" identifier + identifier) + number_literal) != identifier) )) ;) })) (expression_statement "puts("]");" (call_expression "puts("]")" identifier (argument_list "("]")" ( (string_literal ""]"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;" case number_literal : (expression_statement "pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"End of Sequence\n\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"End of Sequence\n\n",5)" identifier (argument_list "(0,"End of Sequence\n\n",5)" ( number_literal , (string_literal ""End of Sequence\n\n"" " string_content escape_sequence escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "DAT_000b9d20 = 0;" (assignment_expression "DAT_000b9d20 = 0" identifier = number_literal) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d08 = 0;" (assignment_expression "DAT_000b9d08 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d0c = 1;" (assignment_expression "DAT_000b9d0c = 1" identifier = number_literal) ;) (expression_statement "DAT_000b9d10 = 1;" (assignment_expression "DAT_000b9d10 = 1" identifier = number_literal) ;) (expression_statement "DAT_000b9d14 = 0;" (assignment_expression "DAT_000b9d14 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d1c = 0;" (assignment_expression "DAT_000b9d1c = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d24 = 0;" (assignment_expression "DAT_000b9d24 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d18 = param_2;" (assignment_expression "DAT_000b9d18 = param_2" identifier = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;" case number_literal : (expression_statement "uVar7 = (uVar2 - local_20[0]) - 1;" (assignment_expression "uVar7 = (uVar2 - local_20[0]) - 1" identifier = (binary_expression "(uVar2 - local_20[0]) - 1" (parenthesized_expression "(uVar2 - local_20[0])" ( (binary_expression "uVar2 - local_20[0]" identifier - (subscript_expression "local_20[0]" identifier [ number_literal ])) )) - number_literal)) ;) (if_statement "if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }" if (parenthesized_expression "(uVar7 < 9)" ( (binary_expression "uVar7 < 9" identifier < number_literal) )) (compound_statement "{\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }" { (if_statement "if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }" if (parenthesized_expression "(param_3 <= pbVar6 + (uVar2 - local_20[0]))" ( (binary_expression "param_3 <= pbVar6 + (uVar2 - local_20[0])" identifier <= (binary_expression "pbVar6 + (uVar2 - local_20[0])" identifier + (parenthesized_expression "(uVar2 - local_20[0])" ( (binary_expression "uVar2 - local_20[0]" identifier - (subscript_expression "local_20[0]" identifier [ number_literal ])) )))) )) (compound_statement "{\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if (param_3 <= pbVar9) goto code_r0x00052616;" if (parenthesized_expression "(param_3 <= pbVar9)" ( (binary_expression "param_3 <= pbVar9" identifier <= identifier) )) (goto_statement "goto code_r0x00052616;" goto statement_identifier ;)) (expression_statement "uVar7 = (int)param_3 - (int)pbVar9;" (assignment_expression "uVar7 = (int)param_3 - (int)pbVar9" identifier = (binary_expression "(int)param_3 - (int)pbVar9" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar9" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }" if (parenthesized_expression "(uVar7 - 1 < 8)" ( (binary_expression "uVar7 - 1 < 8" (binary_expression "uVar7 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }" { (expression_statement "uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);" (assignment_expression "uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7)" identifier = (call_expression "(*DAT_000b9dd8)(pbVar9,uVar7)" (parenthesized_expression "(*DAT_000b9dd8)" ( (pointer_expression "*DAT_000b9dd8" * identifier) )) (argument_list "(pbVar9,uVar7)" ( identifier , identifier )))) ;) })) }) (else_clause "else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }" else (compound_statement "{\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }" { (expression_statement "uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);" (assignment_expression "uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" identifier = (call_expression "dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" identifier (argument_list "(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" ( number_literal , (string_literal ""Length (%d) of DW_LNE_set_address op is too long\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar3,uVar7);" (call_expression "warn(uVar3,uVar7)" identifier (argument_list "(uVar3,uVar7)" ( identifier , identifier ))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) }))) (labeled_statement "code_r0x00052616:\n    uVar3 = FUN_0004cb50(0);" statement_identifier : (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;)) (expression_statement "pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"set Address to 0x%s\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"set Address to 0x%s\n",5)" identifier (argument_list "(0,"set Address to 0x%s\n",5)" ( number_literal , (string_literal ""set Address to 0x%s\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4,uVar3);" (call_expression "printf(pcVar4,uVar3)" identifier (argument_list "(pcVar4,uVar3)" ( identifier , identifier ))) ;) (expression_statement "DAT_000b9d08 = 0;" (assignment_expression "DAT_000b9d08 = 0" identifier = number_literal) ;) (expression_statement "DAT_000b9d20 = DAT_000b9d20 & 0xff00;" (assignment_expression "DAT_000b9d20 = DAT_000b9d20 & 0xff00" identifier = (binary_expression "DAT_000b9d20 & 0xff00" identifier & number_literal)) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;" case number_literal : (expression_statement "pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"define new File Table entry\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"define new File Table entry\n",5)" identifier (argument_list "(0,"define new File Table entry\n",5)" ( number_literal , (string_literal ""define new File Table entry\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" identifier (argument_list "(0,"  Entry\tDir\tTime\tSize\tName\n",5)" ( number_literal , (string_literal ""  Entry\tDir\tTime\tSize\tName\n"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "DAT_000b9d24 = DAT_000b9d24 + 1;" (assignment_expression "DAT_000b9d24 = DAT_000b9d24 + 1" identifier = (binary_expression "DAT_000b9d24 + 1" identifier + number_literal)) ;) (expression_statement "printf("   %d\t",DAT_000b9d24);" (call_expression "printf("   %d\t",DAT_000b9d24)" identifier (argument_list "("   %d\t",DAT_000b9d24)" ( (string_literal ""   %d\t"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);" (assignment_expression "sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9)" identifier = (call_expression "strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9)" identifier (argument_list "((char *)pbVar9,(int)param_3 - (int)pbVar9)" ( (cast_expression "(char *)pbVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)param_3 - (int)pbVar9" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar6 = pbVar6 + uVar2 + 2;" (assignment_expression "pbVar6 = pbVar6 + uVar2 + 2" identifier = (binary_expression "pbVar6 + uVar2 + 2" (binary_expression "pbVar6 + uVar2" identifier + identifier) + number_literal)) ;) (expression_statement "FUN_0004f990(pbVar6,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar6,local_20,0,param_3)" identifier (argument_list "(pbVar6,local_20,0,param_3)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf("%s\t",uVar3);" (call_expression "printf("%s\t",uVar3)" identifier (argument_list "("%s\t",uVar3)" ( (string_literal ""%s\t"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pbVar6 = pbVar6 + local_20[0];" (assignment_expression "pbVar6 = pbVar6 + local_20[0]" identifier = (binary_expression "pbVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004f990(pbVar6,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar6,local_20,0,param_3)" identifier (argument_list "(pbVar6,local_20,0,param_3)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf("%s\t",uVar3);" (call_expression "printf("%s\t",uVar3)" identifier (argument_list "("%s\t",uVar3)" ( (string_literal ""%s\t"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pbVar6 = pbVar6 + local_20[0];" (assignment_expression "pbVar6 = pbVar6 + local_20[0]" identifier = (binary_expression "pbVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004f990(pbVar6,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar6,local_20,0,param_3)" identifier (argument_list "(pbVar6,local_20,0,param_3)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf("%s\t",uVar3);" (call_expression "printf("%s\t",uVar3)" identifier (argument_list "("%s\t",uVar3)" ( (string_literal ""%s\t"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "printf("%.*s\n\n",sVar5,pbVar9);" (call_expression "printf("%.*s\n\n",sVar5,pbVar9)" identifier (argument_list "("%.*s\n\n",sVar5,pbVar9)" ( (string_literal ""%.*s\n\n"" " string_content escape_sequence escape_sequence ") , identifier , identifier ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (if_statement "if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" if (parenthesized_expression "(((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0]))" ( (binary_expression "((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])" (parenthesized_expression "((int)(pbVar6 + local_20[0]) - param_1 != uVar2)" ( (binary_expression "(int)(pbVar6 + local_20[0]) - param_1 != uVar2" (binary_expression "(int)(pbVar6 + local_20[0]) - param_1" (cast_expression "(int)(pbVar6 + local_20[0])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar6 + local_20[0])" ( (binary_expression "pbVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ])) ))) - identifier) != identifier) )) || (parenthesized_expression "(param_3 == pbVar6 + local_20[0])" ( (binary_expression "param_3 == pbVar6 + local_20[0]" identifier == (binary_expression "pbVar6 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" { (expression_statement "uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);" (assignment_expression "uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5)" identifier = (call_expression "dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5)" identifier (argument_list "(0,"DW_LNE_define_file: Bad opcode length\n",5)" ( number_literal , (string_literal ""DW_LNE_define_file: Bad opcode length\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "warn(uVar3);" (call_expression "warn(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "FUN_0004f990(pbVar9,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar9,local_20,0,param_3)" identifier (argument_list "(pbVar9,local_20,0,param_3)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar8 = FUN_0004cb50(0);" (assignment_expression "iVar8 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "pcVar4 = "set Discriminator to %s\n";" (assignment_expression "pcVar4 = "set Discriminator to %s\n"" identifier = (string_literal ""set Discriminator to %s\n"" " string_content escape_sequence ")) ;) (labeled_statement "code_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);" statement_identifier : (expression_statement "pcVar4 = (char *)dcgettext(0,pcVar4,5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,pcVar4,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar4,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar4,5)" identifier (argument_list "(0,pcVar4,5)" ( number_literal , identifier , number_literal ))))) ;)) (expression_statement "printf(pcVar4,iVar8);" (call_expression "printf(pcVar4,iVar8)" identifier (argument_list "(pcVar4,iVar8)" ( identifier , identifier ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_is_UV_update");" (call_expression "puts("DW_LNE_HP_negate_is_UV_update")" identifier (argument_list "("DW_LNE_HP_negate_is_UV_update")" ( (string_literal ""DW_LNE_HP_negate_is_UV_update"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_push_context");" (call_expression "puts("DW_LNE_HP_push_context")" identifier (argument_list "("DW_LNE_HP_push_context")" ( (string_literal ""DW_LNE_HP_push_context"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_pop_context");" (call_expression "puts("DW_LNE_HP_pop_context")" identifier (argument_list "("DW_LNE_HP_pop_context")" ( (string_literal ""DW_LNE_HP_pop_context"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_set_file_line_column");" (call_expression "puts("DW_LNE_HP_set_file_line_column")" identifier (argument_list "("DW_LNE_HP_set_file_line_column")" ( (string_literal ""DW_LNE_HP_set_file_line_column"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_set_routine_name");" (call_expression "puts("DW_LNE_HP_set_routine_name")" identifier (argument_list "("DW_LNE_HP_set_routine_name")" ( (string_literal ""DW_LNE_HP_set_routine_name"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_set_sequence");" (call_expression "puts("DW_LNE_HP_set_sequence")" identifier (argument_list "("DW_LNE_HP_set_sequence")" ( (string_literal ""DW_LNE_HP_set_sequence"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_post_semantics");" (call_expression "puts("DW_LNE_HP_negate_post_semantics")" identifier (argument_list "("DW_LNE_HP_negate_post_semantics")" ( (string_literal ""DW_LNE_HP_negate_post_semantics"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_function_exit");" (call_expression "puts("DW_LNE_HP_negate_function_exit")" identifier (argument_list "("DW_LNE_HP_negate_function_exit")" ( (string_literal ""DW_LNE_HP_negate_function_exit"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_negate_front_end_logical");" (call_expression "puts("DW_LNE_HP_negate_front_end_logical")" identifier (argument_list "("DW_LNE_HP_negate_front_end_logical")" ( (string_literal ""DW_LNE_HP_negate_front_end_logical"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" case number_literal : (expression_statement "puts("DW_LNE_HP_define_proc");" (call_expression "puts("DW_LNE_HP_define_proc")" identifier (argument_list "("DW_LNE_HP_define_proc")" ( (string_literal ""DW_LNE_HP_define_proc"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" case number_literal : (expression_statement "pbVar6 = pbVar6 + (uVar2 - local_20[0]);" (assignment_expression "pbVar6 = pbVar6 + (uVar2 - local_20[0])" identifier = (binary_expression "pbVar6 + (uVar2 - local_20[0])" identifier + (parenthesized_expression "(uVar2 - local_20[0])" ( (binary_expression "uVar2 - local_20[0]" identifier - (subscript_expression "local_20[0]" identifier [ number_literal ])) )))) ;) (expression_statement "puts("DW_LNE_HP_source_file_correlation");" (call_expression "puts("DW_LNE_HP_source_file_correlation")" identifier (argument_list "("DW_LNE_HP_source_file_correlation")" ( (string_literal ""DW_LNE_HP_source_file_correlation"" " string_content ") ))) ;) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) (while_statement "while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" while (parenthesized_expression "(pbVar9 < pbVar6)" ( (binary_expression "pbVar9 < pbVar6" identifier < identifier) )) (compound_statement "{\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" { (expression_statement "iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);" (assignment_expression "iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier = (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier (argument_list "(pbVar9,local_20,0,pbVar6)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" identifier = (binary_expression "pbVar9 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (if_statement "if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" if (parenthesized_expression "(iVar8 == 2)" ( (binary_expression "iVar8 == 2" identifier == number_literal) )) (compound_statement "{\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }" { (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier (argument_list "(pbVar9,local_20,0,pbVar6)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);" (call_expression "printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3)" identifier (argument_list "("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3)" ( (string_literal ""    DW_LNE_HP_SFC_set_listing_line (%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" identifier = (binary_expression "pbVar9 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) }) (else_clause "else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" else (if_statement "if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" if (parenthesized_expression "(iVar8 == 3)" ( (binary_expression "iVar8 == 3" identifier == number_literal) )) (compound_statement "{\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }" { (expression_statement "printf("    DW_LNE_HP_SFC_associate ");" (call_expression "printf("    DW_LNE_HP_SFC_associate ")" identifier (argument_list "("    DW_LNE_HP_SFC_associate ")" ( (string_literal ""    DW_LNE_HP_SFC_associate "" " string_content ") ))) ;) (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier (argument_list "(pbVar9,local_20,0,pbVar6)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf("(%s",uVar3);" (call_expression "printf("(%s",uVar3)" identifier (argument_list "("(%s",uVar3)" ( (string_literal ""(%s"" " string_content ") , identifier ))) ;) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" identifier = (binary_expression "pbVar9 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier (argument_list "(pbVar9,local_20,0,pbVar6)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf(",%s",uVar3);" (call_expression "printf(",%s",uVar3)" identifier (argument_list "(",%s",uVar3)" ( (string_literal "",%s"" " string_content ") , identifier ))) ;) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" identifier = (binary_expression "pbVar9 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" identifier (argument_list "(pbVar9,local_20,0,pbVar6)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" identifier = (call_expression "FUN_0004cb50(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "printf(",%s)\n",uVar3);" (call_expression "printf(",%s)\n",uVar3)" identifier (argument_list "(",%s)\n",uVar3)" ( (string_literal "",%s)\n"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" identifier = (binary_expression "pbVar9 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" else (compound_statement "{\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" { (if_statement "if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (compound_statement "{\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }" { (expression_statement "pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";" (assignment_expression "pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n"" identifier = (string_literal ""    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n"" " string_content escape_sequence ")) ;) (goto_statement "goto code_r0x00052519;" goto statement_identifier ;) })) (expression_statement "puts("    DW_LNE_HP_SFC_formfeed");" (call_expression "puts("    DW_LNE_HP_SFC_formfeed")" identifier (argument_list "("    DW_LNE_HP_SFC_formfeed")" ( (string_literal ""    DW_LNE_HP_SFC_formfeed"" " string_content ") ))) ;) }))))) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier = (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" identifier (argument_list "(DAT_000b9d04,DAT_000b9d00)" ( identifier , identifier )))) ;) }))) })) (expression_statement "DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);" (assignment_expression "DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar11 >> 0x20)" ( (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "DAT_000b9d00 = (undefined4)uVar11;" (assignment_expression "DAT_000b9d00 = (undefined4)uVar11" identifier = (cast_expression "(undefined4)uVar11" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) || (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) 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 ))) ;) (return_statement return (subscript_expression IDENT [ LIT ]) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (switch_statement switch (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression ~ (subscript_expression IDENT [ LIT ])) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( 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 ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (binary_expression (parenthesized_expression ( IDENT )) * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + LIT) != IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (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 escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) )) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (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 = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;)) (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 , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (break_statement break ;)) (case_statement case LIT : (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence escape_sequence ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (subscript_expression IDENT [ LIT ])) ))) - IDENT) != IDENT) )) || (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ))) )) (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 ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT , LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (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 ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) }))))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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)) ;) (return_statement return IDENT ;) })))
(function_definition "uint __regparm3 FUN_000523d0(int param_1,undefined4 param_2,byte *param_3)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  size_t sVar5;\n  byte *pbVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined8 uVar11;\n  uint local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x523dd;\n  uVar2 = FUN_0004f990(param_1,local_20,0,param_3);\n  pbVar6 = (byte *)(param_1 + local_20[0]);\n  if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }\n  uVar2 = uVar2 + local_20[0];\n  pbVar9 = pbVar6 + 1;\n  bVar1 = *pbVar6;\n  pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);\n  printf(pcVar4,(uint)bVar1);\n  switch((uint)bVar1) {\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }\n  DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);\n  DAT_000b9d00 = (undefined4)uVar11;\n  return uVar2;\n}" (type_identifier "uint") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000523d0(int param_1,undefined4 param_2,byte *param_3)" (identifier "FUN_000523d0") (parameter_list "(int param_1,undefined4 param_2,byte *param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "byte *param_3" (type_identifier "byte") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  char *pcVar4;\n  size_t sVar5;\n  byte *pbVar6;\n  uint uVar7;\n  int iVar8;\n  byte *pbVar9;\n  byte *pbVar10;\n  undefined8 uVar11;\n  uint local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x523dd;\n  uVar2 = FUN_0004f990(param_1,local_20,0,param_3);\n  pbVar6 = (byte *)(param_1 + local_20[0]);\n  if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }\n  uVar2 = uVar2 + local_20[0];\n  pbVar9 = pbVar6 + 1;\n  bVar1 = *pbVar6;\n  pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);\n  printf(pcVar4,(uint)bVar1);\n  switch((uint)bVar1) {\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }\n  DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);\n  DAT_000b9d00 = (undefined4)uVar11;\n  return uVar2;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "size_t sVar5;" (primitive_type "size_t") (identifier "sVar5") (; ";")) (declaration "byte *pbVar6;" (type_identifier "byte") (pointer_declarator "*pbVar6" (* "*") (identifier "pbVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "byte *pbVar10;" (type_identifier "byte") (pointer_declarator "*pbVar10" (* "*") (identifier "pbVar10")) (; ";")) (declaration "undefined8 uVar11;" (type_identifier "undefined8") (identifier "uVar11") (; ";")) (declaration "uint local_20 [3];" (type_identifier "uint") (array_declarator "local_20 [3]" (identifier "local_20") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x523dd;" (assignment_expression "uStack_14 = 0x523dd" (identifier "uStack_14") (= "=") (number_literal "0x523dd")) (; ";")) (expression_statement "uVar2 = FUN_0004f990(param_1,local_20,0,param_3);" (assignment_expression "uVar2 = FUN_0004f990(param_1,local_20,0,param_3)" (identifier "uVar2") (= "=") (call_expression "FUN_0004f990(param_1,local_20,0,param_3)" (identifier "FUN_0004f990") (argument_list "(param_1,local_20,0,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "pbVar6 = (byte *)(param_1 + local_20[0]);" (assignment_expression "pbVar6 = (byte *)(param_1 + local_20[0])" (identifier "pbVar6") (= "=") (cast_expression "(byte *)(param_1 + local_20[0])" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + local_20[0])" (( "(") (binary_expression "param_1 + local_20[0]" (identifier "param_1") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) () ")")))) (; ";")) (if_statement "if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }" (if "if") (parenthesized_expression "(((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2))" (( "(") (binary_expression "((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)" (parenthesized_expression "((uVar2 == 0) || (param_3 == pbVar6))" (( "(") (binary_expression "(uVar2 == 0) || (param_3 == pbVar6)" (parenthesized_expression "(uVar2 == 0)" (( "(") (binary_expression "uVar2 == 0" (identifier "uVar2") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(param_3 == pbVar6)" (( "(") (binary_expression "param_3 == pbVar6" (identifier "param_3") (== "==") (identifier "pbVar6")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((uint)((int)param_3 - (int)pbVar6) < uVar2)" (( "(") (binary_expression "(uint)((int)param_3 - (int)pbVar6) < uVar2" (call_expression "(uint)((int)param_3 - (int)pbVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)param_3 - (int)pbVar6)" (( "(") (binary_expression "(int)param_3 - (int)pbVar6" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (- "-") (cast_expression "(int)pbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar6"))) () ")"))) (< "<") (identifier "uVar2")) () ")"))) () ")")) (compound_statement "{\n    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);\n    warn(uVar3);\n    return local_20[0];\n  }" ({ "{") (expression_statement "uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);" (assignment_expression "uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"Badly formed extended line op encountered!\n",5)" (identifier "dcgettext") (argument_list "(0,"Badly formed extended line op encountered!\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Badly formed extended line op encountered!\n"" (" """) (string_content "Badly formed extended line op encountered!") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar3);" (call_expression "warn(uVar3)" (identifier "warn") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (return_statement "return local_20[0];" (return "return") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (; ";")) (} "}"))) (expression_statement "uVar2 = uVar2 + local_20[0];" (assignment_expression "uVar2 = uVar2 + local_20[0]" (identifier "uVar2") (= "=") (binary_expression "uVar2 + local_20[0]" (identifier "uVar2") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "pbVar9 = pbVar6 + 1;" (assignment_expression "pbVar9 = pbVar6 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar6 + 1" (identifier "pbVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar1 = *pbVar6;" (assignment_expression "bVar1 = *pbVar6" (identifier "bVar1") (= "=") (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6"))) (; ";")) (expression_statement "pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0,"  Extended opcode %d: ",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Extended opcode %d: ",5)" (identifier "dcgettext") (argument_list "(0,"  Extended opcode %d: ",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Extended opcode %d: "" (" """) (string_content "  Extended opcode %d: ") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar4,(uint)bVar1);" (call_expression "printf(pcVar4,(uint)bVar1)" (identifier "printf") (argument_list "(pcVar4,(uint)bVar1)" (( "(") (identifier "pcVar4") (, ",") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) () ")"))) (; ";")) (switch_statement "switch((uint)bVar1) {\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }" (switch "switch") (parenthesized_expression "((uint)bVar1)" (( "(") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) () ")")) (compound_statement "{\n  default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;\n  case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;\n  case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;\n  case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;\n  case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n  }" ({ "{") (case_statement "default:\n    iVar8 = ~local_20[0] + uVar2;\n    if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"length %d [",5);\n    printf(pcVar4,iVar8);\n    if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }\n    puts("]");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (default "default") (: ":") (expression_statement "iVar8 = ~local_20[0] + uVar2;" (assignment_expression "iVar8 = ~local_20[0] + uVar2" (identifier "iVar8") (= "=") (binary_expression "~local_20[0] + uVar2" (unary_expression "~local_20[0]" (~ "~") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (+ "+") (identifier "uVar2"))) (; ";")) (if_statement "if ((char)bVar1 < '\0') {\n      pcVar4 = "user defined: ";\n    }\n    else {\n      pcVar4 = "UNKNOWN: ";\n    }" (if "if") (parenthesized_expression "((char)bVar1 < '\0')" (( "(") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      pcVar4 = "user defined: ";\n    }" ({ "{") (expression_statement "pcVar4 = "user defined: ";" (assignment_expression "pcVar4 = "user defined: "" (identifier "pcVar4") (= "=") (string_literal ""user defined: "" (" """) (string_content "user defined: ") (" """))) (; ";")) (} "}")) (else_clause "else {\n      pcVar4 = "UNKNOWN: ";\n    }" (else "else") (compound_statement "{\n      pcVar4 = "UNKNOWN: ";\n    }" ({ "{") (expression_statement "pcVar4 = "UNKNOWN: ";" (assignment_expression "pcVar4 = "UNKNOWN: "" (identifier "pcVar4") (= "=") (string_literal ""UNKNOWN: "" (" """) (string_content "UNKNOWN: ") (" """))) (; ";")) (} "}")))) (expression_statement "pcVar4 = (char *)dcgettext(0,pcVar4,5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,pcVar4,5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0,pcVar4,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar4,5)" (identifier "dcgettext") (argument_list "(0,pcVar4,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar4") (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" (identifier "printf") (argument_list "(pcVar4)" (( "(") (identifier "pcVar4") () ")"))) (; ";")) (expression_statement "pcVar4 = (char *)dcgettext(0,"length %d [",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"length %d [",5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0,"length %d [",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"length %d [",5)" (identifier "dcgettext") (argument_list "(0,"length %d [",5)" (( "(") (number_literal "0") (, ",") (string_literal ""length %d ["" (" """) (string_content "length %d [") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar4,iVar8);" (call_expression "printf(pcVar4,iVar8)" (identifier "printf") (argument_list "(pcVar4,iVar8)" (( "(") (identifier "pcVar4") (, ",") (identifier "iVar8") () ")"))) (; ";")) (if_statement "if (iVar8 != 0) {\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);\n    }" ({ "{") (do_statement "do {\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      } while (pbVar6 + iVar8 + 1 != pbVar10);" (do "do") (compound_statement "{\n        pbVar10 = pbVar9 + 1;\n        printf(" %02x",(uint)*pbVar9);\n        pbVar9 = pbVar10;\n      }" ({ "{") (expression_statement "pbVar10 = pbVar9 + 1;" (assignment_expression "pbVar10 = pbVar9 + 1" (identifier "pbVar10") (= "=") (binary_expression "pbVar9 + 1" (identifier "pbVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "printf(" %02x",(uint)*pbVar9);" (call_expression "printf(" %02x",(uint)*pbVar9)" (identifier "printf") (argument_list "(" %02x",(uint)*pbVar9)" (( "(") (string_literal "" %02x"" (" """) (string_content " %02x") (" """)) (, ",") (binary_expression "(uint)*pbVar9" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar9")) () ")"))) (; ";")) (expression_statement "pbVar9 = pbVar10;" (assignment_expression "pbVar9 = pbVar10" (identifier "pbVar9") (= "=") (identifier "pbVar10")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar6 + iVar8 + 1 != pbVar10)" (( "(") (binary_expression "pbVar6 + iVar8 + 1 != pbVar10" (binary_expression "pbVar6 + iVar8 + 1" (binary_expression "pbVar6 + iVar8" (identifier "pbVar6") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "1")) (!= "!=") (identifier "pbVar10")) () ")")) (; ";")) (} "}"))) (expression_statement "puts("]");" (call_expression "puts("]")" (identifier "puts") (argument_list "("]")" (( "(") (string_literal ""]"" (" """) (string_content "]") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);\n    printf(pcVar4);\n    DAT_000b9d20 = 0;\n    uVar11 = 0;\n    DAT_000b9d08 = 0;\n    DAT_000b9d0c = 1;\n    DAT_000b9d10 = 1;\n    DAT_000b9d14 = 0;\n    DAT_000b9d1c = 0;\n    DAT_000b9d24 = 0;\n    DAT_000b9d18 = param_2;\n    break;" (case "case") (number_literal "1") (: ":") (expression_statement "pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0,"End of Sequence\n\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"End of Sequence\n\n",5)" (identifier "dcgettext") (argument_list "(0,"End of Sequence\n\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""End of Sequence\n\n"" (" """) (string_content "End of Sequence") (escape_sequence "\n") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" (identifier "printf") (argument_list "(pcVar4)" (( "(") (identifier "pcVar4") () ")"))) (; ";")) (expression_statement "DAT_000b9d20 = 0;" (assignment_expression "DAT_000b9d20 = 0" (identifier "DAT_000b9d20") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_000b9d08 = 0;" (assignment_expression "DAT_000b9d08 = 0" (identifier "DAT_000b9d08") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_000b9d0c = 1;" (assignment_expression "DAT_000b9d0c = 1" (identifier "DAT_000b9d0c") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_000b9d10 = 1;" (assignment_expression "DAT_000b9d10 = 1" (identifier "DAT_000b9d10") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_000b9d14 = 0;" (assignment_expression "DAT_000b9d14 = 0" (identifier "DAT_000b9d14") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_000b9d1c = 0;" (assignment_expression "DAT_000b9d1c = 0" (identifier "DAT_000b9d1c") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_000b9d24 = 0;" (assignment_expression "DAT_000b9d24 = 0" (identifier "DAT_000b9d24") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_000b9d18 = param_2;" (assignment_expression "DAT_000b9d18 = param_2" (identifier "DAT_000b9d18") (= "=") (identifier "param_2")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n    uVar7 = (uVar2 - local_20[0]) - 1;\n    if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }\ncode_r0x00052616:\n    uVar3 = FUN_0004cb50(0);\n    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);\n    printf(pcVar4,uVar3);\n    DAT_000b9d08 = 0;\n    DAT_000b9d20 = DAT_000b9d20 & 0xff00;\n    break;" (case "case") (number_literal "2") (: ":") (expression_statement "uVar7 = (uVar2 - local_20[0]) - 1;" (assignment_expression "uVar7 = (uVar2 - local_20[0]) - 1" (identifier "uVar7") (= "=") (binary_expression "(uVar2 - local_20[0]) - 1" (parenthesized_expression "(uVar2 - local_20[0])" (( "(") (binary_expression "uVar2 - local_20[0]" (identifier "uVar2") (- "-") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) () ")")) (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uVar7 < 9) {\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }\n    else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }" (if "if") (parenthesized_expression "(uVar7 < 9)" (( "(") (binary_expression "uVar7 < 9" (identifier "uVar7") (< "<") (number_literal "9")) () ")")) (compound_statement "{\n      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }\n      uVar11 = 0;\n      if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }\n    }" ({ "{") (if_statement "if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }" (if "if") (parenthesized_expression "(param_3 <= pbVar6 + (uVar2 - local_20[0]))" (( "(") (binary_expression "param_3 <= pbVar6 + (uVar2 - local_20[0])" (identifier "param_3") (<= "<=") (binary_expression "pbVar6 + (uVar2 - local_20[0])" (identifier "pbVar6") (+ "+") (parenthesized_expression "(uVar2 - local_20[0])" (( "(") (binary_expression "uVar2 - local_20[0]" (identifier "uVar2") (- "-") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) () ")")))) () ")")) (compound_statement "{\n        uVar11 = 0;\n        if (param_3 <= pbVar9) goto code_r0x00052616;\n        uVar7 = (int)param_3 - (int)pbVar9;\n      }" ({ "{") (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_3 <= pbVar9) goto code_r0x00052616;" (if "if") (parenthesized_expression "(param_3 <= pbVar9)" (( "(") (binary_expression "param_3 <= pbVar9" (identifier "param_3") (<= "<=") (identifier "pbVar9")) () ")")) (goto_statement "goto code_r0x00052616;" (goto "goto") (statement_identifier "code_r0x00052616") (; ";"))) (expression_statement "uVar7 = (int)param_3 - (int)pbVar9;" (assignment_expression "uVar7 = (int)param_3 - (int)pbVar9" (identifier "uVar7") (= "=") (binary_expression "(int)param_3 - (int)pbVar9" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (- "-") (cast_expression "(int)pbVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar9")))) (; ";")) (} "}"))) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar7 - 1 < 8) {\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }" (if "if") (parenthesized_expression "(uVar7 - 1 < 8)" (( "(") (binary_expression "uVar7 - 1 < 8" (binary_expression "uVar7 - 1" (identifier "uVar7") (- "-") (number_literal "1")) (< "<") (number_literal "8")) () ")")) (compound_statement "{\n        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);\n      }" ({ "{") (expression_statement "uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);" (assignment_expression "uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7)" (identifier "uVar11") (= "=") (call_expression "(*DAT_000b9dd8)(pbVar9,uVar7)" (parenthesized_expression "(*DAT_000b9dd8)" (( "(") (pointer_expression "*DAT_000b9dd8" (* "*") (identifier "DAT_000b9dd8")) () ")")) (argument_list "(pbVar9,uVar7)" (( "(") (identifier "pbVar9") (, ",") (identifier "uVar7") () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }" (else "else") (compound_statement "{\n      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);\n      warn(uVar3,uVar7);\n      uVar11 = 0;\n    }" ({ "{") (expression_statement "uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);" (assignment_expression "uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" (identifier "dcgettext") (argument_list "(0,"Length (%d) of DW_LNE_set_address op is too long\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Length (%d) of DW_LNE_set_address op is too long\n"" (" """) (string_content "Length (%d) of DW_LNE_set_address op is too long") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar3,uVar7);" (call_expression "warn(uVar3,uVar7)" (identifier "warn") (argument_list "(uVar3,uVar7)" (( "(") (identifier "uVar3") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (} "}")))) (labeled_statement "code_r0x00052616:\n    uVar3 = FUN_0004cb50(0);" (statement_identifier "code_r0x00052616") (: ":") (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" (identifier "uVar3") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";"))) (expression_statement "pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0,"set Address to 0x%s\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"set Address to 0x%s\n",5)" (identifier "dcgettext") (argument_list "(0,"set Address to 0x%s\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""set Address to 0x%s\n"" (" """) (string_content "set Address to 0x%s") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar4,uVar3);" (call_expression "printf(pcVar4,uVar3)" (identifier "printf") (argument_list "(pcVar4,uVar3)" (( "(") (identifier "pcVar4") (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "DAT_000b9d08 = 0;" (assignment_expression "DAT_000b9d08 = 0" (identifier "DAT_000b9d08") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_000b9d20 = DAT_000b9d20 & 0xff00;" (assignment_expression "DAT_000b9d20 = DAT_000b9d20 & 0xff00" (identifier "DAT_000b9d20") (= "=") (binary_expression "DAT_000b9d20 & 0xff00" (identifier "DAT_000b9d20") (& "&") (number_literal "0xff00"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);\n    printf(pcVar4);\n    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);\n    printf(pcVar4);\n    DAT_000b9d24 = DAT_000b9d24 + 1;\n    printf("   %d\t",DAT_000b9d24);\n    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);\n    pbVar6 = pbVar6 + uVar2 + 2;\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    pbVar6 = pbVar6 + local_20[0];\n    FUN_0004f990(pbVar6,local_20,0,param_3);\n    uVar3 = FUN_0004cb50(0);\n    printf("%s\t",uVar3);\n    printf("%.*s\n\n",sVar5,pbVar9);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }\n    break;" (case "case") (number_literal "3") (: ":") (expression_statement "pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0,"define new File Table entry\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"define new File Table entry\n",5)" (identifier "dcgettext") (argument_list "(0,"define new File Table entry\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""define new File Table entry\n"" (" """) (string_content "define new File Table entry") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" (identifier "printf") (argument_list "(pcVar4)" (( "(") (identifier "pcVar4") () ")"))) (; ";")) (expression_statement "pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5)" (identifier "dcgettext") (argument_list "(0,"  Entry\tDir\tTime\tSize\tName\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""  Entry\tDir\tTime\tSize\tName\n"" (" """) (string_content "  Entry") (escape_sequence "\t") (string_content "Dir") (escape_sequence "\t") (string_content "Time") (escape_sequence "\t") (string_content "Size") (escape_sequence "\t") (string_content "Name") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar4);" (call_expression "printf(pcVar4)" (identifier "printf") (argument_list "(pcVar4)" (( "(") (identifier "pcVar4") () ")"))) (; ";")) (expression_statement "DAT_000b9d24 = DAT_000b9d24 + 1;" (assignment_expression "DAT_000b9d24 = DAT_000b9d24 + 1" (identifier "DAT_000b9d24") (= "=") (binary_expression "DAT_000b9d24 + 1" (identifier "DAT_000b9d24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "printf("   %d\t",DAT_000b9d24);" (call_expression "printf("   %d\t",DAT_000b9d24)" (identifier "printf") (argument_list "("   %d\t",DAT_000b9d24)" (( "(") (string_literal ""   %d\t"" (" """) (string_content "   %d") (escape_sequence "\t") (" """)) (, ",") (identifier "DAT_000b9d24") () ")"))) (; ";")) (expression_statement "sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);" (assignment_expression "sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9)" (identifier "sVar5") (= "=") (call_expression "strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9)" (identifier "strnlen") (argument_list "((char *)pbVar9,(int)param_3 - (int)pbVar9)" (( "(") (cast_expression "(char *)pbVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar9")) (, ",") (binary_expression "(int)param_3 - (int)pbVar9" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (- "-") (cast_expression "(int)pbVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar9"))) () ")")))) (; ";")) (expression_statement "pbVar6 = pbVar6 + uVar2 + 2;" (assignment_expression "pbVar6 = pbVar6 + uVar2 + 2" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + uVar2 + 2" (binary_expression "pbVar6 + uVar2" (identifier "pbVar6") (+ "+") (identifier "uVar2")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "FUN_0004f990(pbVar6,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar6,local_20,0,param_3)" (identifier "FUN_0004f990") (argument_list "(pbVar6,local_20,0,param_3)" (( "(") (identifier "pbVar6") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" (identifier "uVar3") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "printf("%s\t",uVar3);" (call_expression "printf("%s\t",uVar3)" (identifier "printf") (argument_list "("%s\t",uVar3)" (( "(") (string_literal ""%s\t"" (" """) (string_content "%s") (escape_sequence "\t") (" """)) (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + local_20[0];" (assignment_expression "pbVar6 = pbVar6 + local_20[0]" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + local_20[0]" (identifier "pbVar6") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004f990(pbVar6,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar6,local_20,0,param_3)" (identifier "FUN_0004f990") (argument_list "(pbVar6,local_20,0,param_3)" (( "(") (identifier "pbVar6") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" (identifier "uVar3") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "printf("%s\t",uVar3);" (call_expression "printf("%s\t",uVar3)" (identifier "printf") (argument_list "("%s\t",uVar3)" (( "(") (string_literal ""%s\t"" (" """) (string_content "%s") (escape_sequence "\t") (" """)) (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + local_20[0];" (assignment_expression "pbVar6 = pbVar6 + local_20[0]" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + local_20[0]" (identifier "pbVar6") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004f990(pbVar6,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar6,local_20,0,param_3)" (identifier "FUN_0004f990") (argument_list "(pbVar6,local_20,0,param_3)" (( "(") (identifier "pbVar6") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" (identifier "uVar3") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "printf("%s\t",uVar3);" (call_expression "printf("%s\t",uVar3)" (identifier "printf") (argument_list "("%s\t",uVar3)" (( "(") (string_literal ""%s\t"" (" """) (string_content "%s") (escape_sequence "\t") (" """)) (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "printf("%.*s\n\n",sVar5,pbVar9);" (call_expression "printf("%.*s\n\n",sVar5,pbVar9)" (identifier "printf") (argument_list "("%.*s\n\n",sVar5,pbVar9)" (( "(") (string_literal ""%.*s\n\n"" (" """) (string_content "%.*s") (escape_sequence "\n") (escape_sequence "\n") (" """)) (, ",") (identifier "sVar5") (, ",") (identifier "pbVar9") () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (if_statement "if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" (if "if") (parenthesized_expression "(((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0]))" (( "(") (binary_expression "((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])" (parenthesized_expression "((int)(pbVar6 + local_20[0]) - param_1 != uVar2)" (( "(") (binary_expression "(int)(pbVar6 + local_20[0]) - param_1 != uVar2" (binary_expression "(int)(pbVar6 + local_20[0]) - param_1" (cast_expression "(int)(pbVar6 + local_20[0])" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pbVar6 + local_20[0])" (( "(") (binary_expression "pbVar6 + local_20[0]" (identifier "pbVar6") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) () ")"))) (- "-") (identifier "param_1")) (!= "!=") (identifier "uVar2")) () ")")) (|| "||") (parenthesized_expression "(param_3 == pbVar6 + local_20[0])" (( "(") (binary_expression "param_3 == pbVar6 + local_20[0]" (identifier "param_3") (== "==") (binary_expression "pbVar6 + local_20[0]" (identifier "pbVar6") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) () ")"))) () ")")) (compound_statement "{\n      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);\n      warn(uVar3);\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" ({ "{") (expression_statement "uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);" (assignment_expression "uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5)" (identifier "dcgettext") (argument_list "(0,"DW_LNE_define_file: Bad opcode length\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""DW_LNE_define_file: Bad opcode length\n"" (" """) (string_content "DW_LNE_define_file: Bad opcode length") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "warn(uVar3);" (call_expression "warn(uVar3)" (identifier "warn") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n    FUN_0004f990(pbVar9,local_20,0,param_3);\n    iVar8 = FUN_0004cb50(0);\n    pcVar4 = "set Discriminator to %s\n";\ncode_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);\n    printf(pcVar4,iVar8);\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (case "case") (number_literal "4") (: ":") (expression_statement "FUN_0004f990(pbVar9,local_20,0,param_3);" (call_expression "FUN_0004f990(pbVar9,local_20,0,param_3)" (identifier "FUN_0004f990") (argument_list "(pbVar9,local_20,0,param_3)" (( "(") (identifier "pbVar9") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "iVar8 = FUN_0004cb50(0);" (assignment_expression "iVar8 = FUN_0004cb50(0)" (identifier "iVar8") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "pcVar4 = "set Discriminator to %s\n";" (assignment_expression "pcVar4 = "set Discriminator to %s\n"" (identifier "pcVar4") (= "=") (string_literal ""set Discriminator to %s\n"" (" """) (string_content "set Discriminator to %s") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "code_r0x00052519:\n    pcVar4 = (char *)dcgettext(0,pcVar4,5);" (statement_identifier "code_r0x00052519") (: ":") (expression_statement "pcVar4 = (char *)dcgettext(0,pcVar4,5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,pcVar4,5)" (identifier "pcVar4") (= "=") (cast_expression "(char *)dcgettext(0,pcVar4,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar4,5)" (identifier "dcgettext") (argument_list "(0,pcVar4,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar4") (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar4,iVar8);" (call_expression "printf(pcVar4,iVar8)" (identifier "printf") (argument_list "(pcVar4,iVar8)" (( "(") (identifier "pcVar4") (, ",") (identifier "iVar8") () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x11:\n    puts("DW_LNE_HP_negate_is_UV_update");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (case "case") (number_literal "0x11") (: ":") (expression_statement "puts("DW_LNE_HP_negate_is_UV_update");" (call_expression "puts("DW_LNE_HP_negate_is_UV_update")" (identifier "puts") (argument_list "("DW_LNE_HP_negate_is_UV_update")" (( "(") (string_literal ""DW_LNE_HP_negate_is_UV_update"" (" """) (string_content "DW_LNE_HP_negate_is_UV_update") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x12:\n    puts("DW_LNE_HP_push_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (case "case") (number_literal "0x12") (: ":") (expression_statement "puts("DW_LNE_HP_push_context");" (call_expression "puts("DW_LNE_HP_push_context")" (identifier "puts") (argument_list "("DW_LNE_HP_push_context")" (( "(") (string_literal ""DW_LNE_HP_push_context"" (" """) (string_content "DW_LNE_HP_push_context") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x13:\n    puts("DW_LNE_HP_pop_context");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (case "case") (number_literal "0x13") (: ":") (expression_statement "puts("DW_LNE_HP_pop_context");" (call_expression "puts("DW_LNE_HP_pop_context")" (identifier "puts") (argument_list "("DW_LNE_HP_pop_context")" (( "(") (string_literal ""DW_LNE_HP_pop_context"" (" """) (string_content "DW_LNE_HP_pop_context") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x14:\n    puts("DW_LNE_HP_set_file_line_column");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (case "case") (number_literal "0x14") (: ":") (expression_statement "puts("DW_LNE_HP_set_file_line_column");" (call_expression "puts("DW_LNE_HP_set_file_line_column")" (identifier "puts") (argument_list "("DW_LNE_HP_set_file_line_column")" (( "(") (string_literal ""DW_LNE_HP_set_file_line_column"" (" """) (string_content "DW_LNE_HP_set_file_line_column") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x15:\n    puts("DW_LNE_HP_set_routine_name");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (case "case") (number_literal "0x15") (: ":") (expression_statement "puts("DW_LNE_HP_set_routine_name");" (call_expression "puts("DW_LNE_HP_set_routine_name")" (identifier "puts") (argument_list "("DW_LNE_HP_set_routine_name")" (( "(") (string_literal ""DW_LNE_HP_set_routine_name"" (" """) (string_content "DW_LNE_HP_set_routine_name") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x16:\n    puts("DW_LNE_HP_set_sequence");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (case "case") (number_literal "0x16") (: ":") (expression_statement "puts("DW_LNE_HP_set_sequence");" (call_expression "puts("DW_LNE_HP_set_sequence")" (identifier "puts") (argument_list "("DW_LNE_HP_set_sequence")" (( "(") (string_literal ""DW_LNE_HP_set_sequence"" (" """) (string_content "DW_LNE_HP_set_sequence") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x17:\n    puts("DW_LNE_HP_negate_post_semantics");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (case "case") (number_literal "0x17") (: ":") (expression_statement "puts("DW_LNE_HP_negate_post_semantics");" (call_expression "puts("DW_LNE_HP_negate_post_semantics")" (identifier "puts") (argument_list "("DW_LNE_HP_negate_post_semantics")" (( "(") (string_literal ""DW_LNE_HP_negate_post_semantics"" (" """) (string_content "DW_LNE_HP_negate_post_semantics") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x18:\n    puts("DW_LNE_HP_negate_function_exit");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (case "case") (number_literal "0x18") (: ":") (expression_statement "puts("DW_LNE_HP_negate_function_exit");" (call_expression "puts("DW_LNE_HP_negate_function_exit")" (identifier "puts") (argument_list "("DW_LNE_HP_negate_function_exit")" (( "(") (string_literal ""DW_LNE_HP_negate_function_exit"" (" """) (string_content "DW_LNE_HP_negate_function_exit") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x19:\n    puts("DW_LNE_HP_negate_front_end_logical");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (case "case") (number_literal "0x19") (: ":") (expression_statement "puts("DW_LNE_HP_negate_front_end_logical");" (call_expression "puts("DW_LNE_HP_negate_front_end_logical")" (identifier "puts") (argument_list "("DW_LNE_HP_negate_front_end_logical")" (( "(") (string_literal ""DW_LNE_HP_negate_front_end_logical"" (" """) (string_content "DW_LNE_HP_negate_front_end_logical") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x20:\n    puts("DW_LNE_HP_define_proc");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    break;" (case "case") (number_literal "0x20") (: ":") (expression_statement "puts("DW_LNE_HP_define_proc");" (call_expression "puts("DW_LNE_HP_define_proc")" (identifier "puts") (argument_list "("DW_LNE_HP_define_proc")" (( "(") (string_literal ""DW_LNE_HP_define_proc"" (" """) (string_content "DW_LNE_HP_define_proc") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x80:\n    pbVar6 = pbVar6 + (uVar2 - local_20[0]);\n    puts("DW_LNE_HP_source_file_correlation");\n    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" (case "case") (number_literal "0x80") (: ":") (expression_statement "pbVar6 = pbVar6 + (uVar2 - local_20[0]);" (assignment_expression "pbVar6 = pbVar6 + (uVar2 - local_20[0])" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + (uVar2 - local_20[0])" (identifier "pbVar6") (+ "+") (parenthesized_expression "(uVar2 - local_20[0])" (( "(") (binary_expression "uVar2 - local_20[0]" (identifier "uVar2") (- "-") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) () ")")))) (; ";")) (expression_statement "puts("DW_LNE_HP_source_file_correlation");" (call_expression "puts("DW_LNE_HP_source_file_correlation")" (identifier "puts") (argument_list "("DW_LNE_HP_source_file_correlation")" (( "(") (string_literal ""DW_LNE_HP_source_file_correlation"" (" """) (string_content "DW_LNE_HP_source_file_correlation") (" """)) () ")"))) (; ";")) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (while_statement "while (pbVar9 < pbVar6) {\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" (while "while") (parenthesized_expression "(pbVar9 < pbVar6)" (( "(") (binary_expression "pbVar9 < pbVar6" (identifier "pbVar9") (< "<") (identifier "pbVar6")) () ")")) (compound_statement "{\n      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);\n      pbVar9 = pbVar9 + local_20[0];\n      if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }\n      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);\n    }" ({ "{") (expression_statement "iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);" (assignment_expression "iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6)" (identifier "iVar8") (= "=") (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" (identifier "FUN_0004f990") (argument_list "(pbVar9,local_20,0,pbVar6)" (( "(") (identifier "pbVar9") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "pbVar6") () ")")))) (; ";")) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + local_20[0]" (identifier "pbVar9") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (if_statement "if (iVar8 == 2) {\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" (if "if") (parenthesized_expression "(iVar8 == 2)" (( "(") (binary_expression "iVar8 == 2" (identifier "iVar8") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }" ({ "{") (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" (identifier "FUN_0004f990") (argument_list "(pbVar9,local_20,0,pbVar6)" (( "(") (identifier "pbVar9") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "pbVar6") () ")"))) (; ";")) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" (identifier "uVar3") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);" (call_expression "printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3)" (identifier "printf") (argument_list "("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3)" (( "(") (string_literal ""    DW_LNE_HP_SFC_set_listing_line (%s)\n"" (" """) (string_content "    DW_LNE_HP_SFC_set_listing_line (%s)") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + local_20[0]" (identifier "pbVar9") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (} "}")) (else_clause "else if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" (else "else") (if_statement "if (iVar8 == 3) {\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }\n      else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" (if "if") (parenthesized_expression "(iVar8 == 3)" (( "(") (binary_expression "iVar8 == 3" (identifier "iVar8") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n        printf("    DW_LNE_HP_SFC_associate ");\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf("(%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n        FUN_0004f990(pbVar9,local_20,0,pbVar6);\n        uVar3 = FUN_0004cb50(0);\n        printf(",%s)\n",uVar3);\n        pbVar9 = pbVar9 + local_20[0];\n      }" ({ "{") (expression_statement "printf("    DW_LNE_HP_SFC_associate ");" (call_expression "printf("    DW_LNE_HP_SFC_associate ")" (identifier "printf") (argument_list "("    DW_LNE_HP_SFC_associate ")" (( "(") (string_literal ""    DW_LNE_HP_SFC_associate "" (" """) (string_content "    DW_LNE_HP_SFC_associate ") (" """)) () ")"))) (; ";")) (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" (identifier "FUN_0004f990") (argument_list "(pbVar9,local_20,0,pbVar6)" (( "(") (identifier "pbVar9") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "pbVar6") () ")"))) (; ";")) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" (identifier "uVar3") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "printf("(%s",uVar3);" (call_expression "printf("(%s",uVar3)" (identifier "printf") (argument_list "("(%s",uVar3)" (( "(") (string_literal ""(%s"" (" """) (string_content "(%s") (" """)) (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + local_20[0]" (identifier "pbVar9") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" (identifier "FUN_0004f990") (argument_list "(pbVar9,local_20,0,pbVar6)" (( "(") (identifier "pbVar9") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "pbVar6") () ")"))) (; ";")) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" (identifier "uVar3") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "printf(",%s",uVar3);" (call_expression "printf(",%s",uVar3)" (identifier "printf") (argument_list "(",%s",uVar3)" (( "(") (string_literal "",%s"" (" """) (string_content ",%s") (" """)) (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + local_20[0]" (identifier "pbVar9") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "FUN_0004f990(pbVar9,local_20,0,pbVar6);" (call_expression "FUN_0004f990(pbVar9,local_20,0,pbVar6)" (identifier "FUN_0004f990") (argument_list "(pbVar9,local_20,0,pbVar6)" (( "(") (identifier "pbVar9") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "pbVar6") () ")"))) (; ";")) (expression_statement "uVar3 = FUN_0004cb50(0);" (assignment_expression "uVar3 = FUN_0004cb50(0)" (identifier "uVar3") (= "=") (call_expression "FUN_0004cb50(0)" (identifier "FUN_0004cb50") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "printf(",%s)\n",uVar3);" (call_expression "printf(",%s)\n",uVar3)" (identifier "printf") (argument_list "(",%s)\n",uVar3)" (( "(") (string_literal "",%s)\n"" (" """) (string_content ",%s)") (escape_sequence "\n") (" """)) (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "pbVar9 = pbVar9 + local_20[0];" (assignment_expression "pbVar9 = pbVar9 + local_20[0]" (identifier "pbVar9") (= "=") (binary_expression "pbVar9 + local_20[0]" (identifier "pbVar9") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" (else "else") (compound_statement "{\n        if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }\n        puts("    DW_LNE_HP_SFC_formfeed");\n      }" ({ "{") (if_statement "if (iVar8 != 1) {\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }" (if "if") (parenthesized_expression "(iVar8 != 1)" (( "(") (binary_expression "iVar8 != 1" (identifier "iVar8") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";\n          goto code_r0x00052519;\n        }" ({ "{") (expression_statement "pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";" (assignment_expression "pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n"" (identifier "pcVar4") (= "=") (string_literal ""    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n"" (" """) (string_content "    UNKNOWN DW_LNE_HP_SFC opcode (%u)") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto code_r0x00052519;" (goto "goto") (statement_identifier "code_r0x00052519") (; ";")) (} "}"))) (expression_statement "puts("    DW_LNE_HP_SFC_formfeed");" (call_expression "puts("    DW_LNE_HP_SFC_formfeed")" (identifier "puts") (argument_list "("    DW_LNE_HP_SFC_formfeed")" (( "(") (string_literal ""    DW_LNE_HP_SFC_formfeed"" (" """) (string_content "    DW_LNE_HP_SFC_formfeed") (" """)) () ")"))) (; ";")) (} "}")))))) (expression_statement "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);" (assignment_expression "uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "uVar11") (= "=") (call_expression "CONCAT44(DAT_000b9d04,DAT_000b9d00)" (identifier "CONCAT44") (argument_list "(DAT_000b9d04,DAT_000b9d00)" (( "(") (identifier "DAT_000b9d04") (, ",") (identifier "DAT_000b9d00") () ")")))) (; ";")) (} "}")))) (} "}"))) (expression_statement "DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);" (assignment_expression "DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20)" (identifier "DAT_000b9d04") (= "=") (call_expression "(undefined4)((ulonglong)uVar11 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar11 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar11 >> 0x20" (cast_expression "(ulonglong)uVar11" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar11")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "DAT_000b9d00 = (undefined4)uVar11;" (assignment_expression "DAT_000b9d00 = (undefined4)uVar11" (identifier "DAT_000b9d00") (= "=") (cast_expression "(undefined4)uVar11" (( "(") (type_descriptor "undefined4" (type_identifier "undefined4")) () ")") (identifier "uVar11"))) (; ";")) (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}")))

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

int __regparm3 function_1(type_1 *var_2,int is_stmt,type_1 *var_5)

{
  type_2 bVar1;
  type_3 var_4;
  char *var_19;
  int var_10;
  char *pcVar5;
  size_t sVar6;
  type_2 *var_6;
  type_3 var_15;
  int var_11;
  type_2 *var_12;
  type_2 *var_13;
  type_4 dVar12;
  type_3 *puVar13;
  type_3 *length_return;
  type_3 var_3;
  type_5 uStack_14;
  
  uStack_14 = 0x523dd;
  length_return = &var_3;
  dVar12 = var_1(var_2,length_return,0,var_5);
  var_4 = (type_3)dVar12;
  var_6 = var_2 + var_3;
  if (((var_4 == 0) || (var_5 == var_6)) || ((type_3)((int)var_5 - (int)var_6) < var_4)) {
    var_19 = (char *)var_7(0,"Badly formed extended line op encountered!\n",5);
    var_8(var_19);
    return var_3;
  }
  var_10 = var_4 + var_3;
  var_12 = var_6 + 1;
  bVar1 = *var_6;
  var_19 = (char *)var_7(0,"  Extended opcode %d: ",5);
  var_4 = (type_3)bVar1;
  var_9(var_19);
  switch((type_3)bVar1) {
  default:
    var_11 = ~var_3 + var_10;
    if ((char)bVar1 < '\0') {
      var_19 = "user defined: ";
    }
    else {
      var_19 = "UNKNOWN: ";
    }
    var_19 = (char *)var_7(0,var_19,5);
    var_9(var_19);
    var_19 = (char *)var_7(0,"length %d [",5);
    var_9(var_19,var_11);
    if (var_11 != 0) {
      do {
        var_13 = var_12 + 1;
        var_9(" %02x",(type_3)*var_12);
        var_12 = var_13;
      } while (var_6 + var_11 + 1 != var_13);
    }
    var_14("]");
    break;
  case 1:
    var_19 = (char *)var_7(0,"End of Sequence\n\n",5);
    var_9(var_19);
    state_machine_regs.op_index = '\0';
    state_machine_regs.end_sequence = '\0';
    state_machine_regs.address = 0;
    state_machine_regs.view = 0;
    state_machine_regs.file = 1;
    state_machine_regs.line = 1;
    state_machine_regs.column = 0;
    state_machine_regs.basic_block = 0;
    state_machine_regs.last_file_entry = 0;
    state_machine_regs.is_stmt = is_stmt;
    break;
  case 2:
    var_15 = (var_10 - var_3) - 1;
    if (var_15 < 9) {
      if (var_5 <= var_6 + (var_10 - var_3)) {
        dVar12 = 0;
        if (var_5 <= var_12) goto LAB_00052616;
        var_15 = (int)var_5 - (int)var_12;
      }
      dVar12 = 0;
      if (var_15 - 1 < 8) {
        dVar12 = (*byte_get)(var_12,var_15);
        var_4 = var_15;
      }
    }
    else {
      var_19 = (char *)var_7(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);
      var_8(var_19);
      dVar12 = 0;
      var_4 = var_15;
    }
LAB_00052616:
    var_19 = var_16("x",(type_6)var_4 << 0x20,(type_3)dVar12);
    pcVar5 = (char *)var_7(0,"set Address to 0x%s\n",5);
    var_9(pcVar5,var_19);
    state_machine_regs.view = 0;
    state_machine_regs._32_2_ = state_machine_regs._32_2_ & 0xff00;
    state_machine_regs.address = dVar12;
    break;
  case 3:
    var_19 = (char *)var_7(0,"define new File Table entry\n",5);
    var_9(var_19);
    var_19 = (char *)var_7(0,"  Entry\tDir\tTime\tSize\tName\n",5);
    var_9(var_19);
    state_machine_regs.last_file_entry = state_machine_regs.last_file_entry + 1;
    var_9("   %d\t",state_machine_regs.last_file_entry);
    sVar6 = var_17((char *)var_12,(int)var_5 - (int)var_12);
    var_6 = var_6 + var_10 + 2;
    puVar13 = length_return;
    dVar12 = var_1(var_6,length_return,0,var_5);
    var_19 = var_16("u",var_18(puVar13) << 0x20,(type_3)dVar12);
    var_9("%s\t");
    var_6 = var_6 + var_3;
    dVar12 = var_1(var_6,length_return,0,var_5);
    var_19 = var_16("u",var_18(var_19) << 0x20,(type_3)dVar12);
    var_9("%s\t");
    var_6 = var_6 + var_3;
    dVar12 = var_1(var_6,length_return,0,var_5);
    var_19 = var_16("u",var_18(var_19) << 0x20,(type_3)dVar12);
    var_9("%s\t",var_19);
    var_9("%.*s\n\n",sVar6,var_12);
    if (((int)(var_6 + var_3) - (int)var_2 != var_10) || (var_5 == var_6 + var_3)) {
      var_19 = (char *)var_7(0,"DW_LNE_define_file: Bad opcode length\n",5);
      var_8(var_19);
    }
    break;
  case 4:
    dVar12 = var_1(var_12,length_return,0,var_5);
    var_19 = var_16("u",var_18(length_return) << 0x20,(type_3)dVar12);
    pcVar5 = "set Discriminator to %s\n";
LAB_00052519:
    pcVar5 = (char *)var_7(0,pcVar5,5);
    var_9(pcVar5,var_19);
    break;
  case 0x11:
    var_14("DW_LNE_HP_negate_is_UV_update");
    break;
  case 0x12:
    var_14("DW_LNE_HP_push_context");
    break;
  case 0x13:
    var_14("DW_LNE_HP_pop_context");
    break;
  case 0x14:
    var_14("DW_LNE_HP_set_file_line_column");
    break;
  case 0x15:
    var_14("DW_LNE_HP_set_routine_name");
    break;
  case 0x16:
    var_14("DW_LNE_HP_set_sequence");
    break;
  case 0x17:
    var_14("DW_LNE_HP_negate_post_semantics");
    break;
  case 0x18:
    var_14("DW_LNE_HP_negate_function_exit");
    break;
  case 0x19:
    var_14("DW_LNE_HP_negate_front_end_logical");
    break;
  case 0x20:
    var_14("DW_LNE_HP_define_proc");
    break;
  case 0x80:
    var_6 = var_6 + (var_10 - var_3);
    var_14("DW_LNE_HP_source_file_correlation");
    while (var_12 < var_6) {
      puVar13 = length_return;
      dVar12 = var_1(var_12,length_return,0,var_6);
      var_19 = (char *)dVar12;
      var_12 = var_12 + var_3;
      if (var_19 == (char *)0x2) {
        puVar13 = length_return;
        dVar12 = var_1(var_12,length_return,0,var_6);
        var_19 = var_16("u",var_18(puVar13) << 0x20,(type_3)dVar12);
        var_9("    DW_LNE_HP_SFC_set_listing_line (%s)\n",var_19);
        var_12 = var_12 + var_3;
      }
      else if (var_19 == (char *)0x3) {
        var_9("    DW_LNE_HP_SFC_associate ");
        dVar12 = var_1(var_12,length_return,0,var_6);
        var_19 = var_16("u",var_18(puVar13) << 0x20,(type_3)dVar12);
        var_9("(%s");
        var_12 = var_12 + var_3;
        dVar12 = var_1(var_12,length_return,0,var_6);
        var_19 = var_16("u",var_18(var_19) << 0x20,(type_3)dVar12);
        var_9(",%s");
        var_12 = var_12 + var_3;
        dVar12 = var_1(var_12,length_return,0,var_6);
        var_19 = var_16("u",var_18(var_19) << 0x20,(type_3)dVar12);
        var_9(",%s)\n",var_19);
        var_12 = var_12 + var_3;
      }
      else {
        if (var_19 != (char *)0x1) {
          pcVar5 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";
          goto LAB_00052519;
        }
        var_14("    DW_LNE_HP_SFC_formfeed");
      }
    }
  }
  return var_10;
}


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

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

uint __regparm3 MASKED(int param_1,undefined4 param_2,byte *param_3)

{
  byte bVar1;
  uint uVar2;
  undefined4 uVar3;
  char *pcVar4;
  size_t sVar5;
  byte *pbVar6;
  uint uVar7;
  int iVar8;
  byte *pbVar9;
  byte *pbVar10;
  undefined8 uVar11;
  uint local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x523dd;
  uVar2 = FUN_0004f990(param_1,local_20,0,param_3);
  pbVar6 = (byte *)(param_1 + local_20[0]);
  if (((uVar2 == 0) || (param_3 == pbVar6)) || ((uint)((int)param_3 - (int)pbVar6) < uVar2)) {
    uVar3 = dcgettext(0,"Badly formed extended line op encountered!\n",5);
    warn(uVar3);
    return local_20[0];
  }
  uVar2 = uVar2 + local_20[0];
  pbVar9 = pbVar6 + 1;
  bVar1 = *pbVar6;
  pcVar4 = (char *)dcgettext(0,"  Extended opcode %d: ",5);
  printf(pcVar4,(uint)bVar1);
  switch((uint)bVar1) {
  default:
    iVar8 = ~local_20[0] + uVar2;
    if ((char)bVar1 < '\0') {
      pcVar4 = "user defined: ";
    }
    else {
      pcVar4 = "UNKNOWN: ";
    }
    pcVar4 = (char *)dcgettext(0,pcVar4,5);
    printf(pcVar4);
    pcVar4 = (char *)dcgettext(0,"length %d [",5);
    printf(pcVar4,iVar8);
    if (iVar8 != 0) {
      do {
        pbVar10 = pbVar9 + 1;
        printf(" %02x",(uint)*pbVar9);
        pbVar9 = pbVar10;
      } while (pbVar6 + iVar8 + 1 != pbVar10);
    }
    puts("]");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 1:
    pcVar4 = (char *)dcgettext(0,"End of Sequence\n\n",5);
    printf(pcVar4);
    DAT_000b9d20 = 0;
    uVar11 = 0;
    DAT_000b9d08 = 0;
    DAT_000b9d0c = 1;
    DAT_000b9d10 = 1;
    DAT_000b9d14 = 0;
    DAT_000b9d1c = 0;
    DAT_000b9d24 = 0;
    DAT_000b9d18 = param_2;
    break;
  case 2:
    uVar7 = (uVar2 - local_20[0]) - 1;
    if (uVar7 < 9) {
      if (param_3 <= pbVar6 + (uVar2 - local_20[0])) {
        uVar11 = 0;
        if (param_3 <= pbVar9) goto code_r0x00052616;
        uVar7 = (int)param_3 - (int)pbVar9;
      }
      uVar11 = 0;
      if (uVar7 - 1 < 8) {
        uVar11 = (*DAT_000b9dd8)(pbVar9,uVar7);
      }
    }
    else {
      uVar3 = dcgettext(0,"Length (%d) of DW_LNE_set_address op is too long\n",5);
      warn(uVar3,uVar7);
      uVar11 = 0;
    }
code_r0x00052616:
    uVar3 = FUN_0004cb50(0);
    pcVar4 = (char *)dcgettext(0,"set Address to 0x%s\n",5);
    printf(pcVar4,uVar3);
    DAT_000b9d08 = 0;
    DAT_000b9d20 = DAT_000b9d20 & 0xff00;
    break;
  case 3:
    pcVar4 = (char *)dcgettext(0,"define new File Table entry\n",5);
    printf(pcVar4);
    pcVar4 = (char *)dcgettext(0,"  Entry\tDir\tTime\tSize\tName\n",5);
    printf(pcVar4);
    DAT_000b9d24 = DAT_000b9d24 + 1;
    printf("   %d\t",DAT_000b9d24);
    sVar5 = strnlen((char *)pbVar9,(int)param_3 - (int)pbVar9);
    pbVar6 = pbVar6 + uVar2 + 2;
    FUN_0004f990(pbVar6,local_20,0,param_3);
    uVar3 = FUN_0004cb50(0);
    printf("%s\t",uVar3);
    pbVar6 = pbVar6 + local_20[0];
    FUN_0004f990(pbVar6,local_20,0,param_3);
    uVar3 = FUN_0004cb50(0);
    printf("%s\t",uVar3);
    pbVar6 = pbVar6 + local_20[0];
    FUN_0004f990(pbVar6,local_20,0,param_3);
    uVar3 = FUN_0004cb50(0);
    printf("%s\t",uVar3);
    printf("%.*s\n\n",sVar5,pbVar9);
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    if (((int)(pbVar6 + local_20[0]) - param_1 != uVar2) || (param_3 == pbVar6 + local_20[0])) {
      uVar3 = dcgettext(0,"DW_LNE_define_file: Bad opcode length\n",5);
      warn(uVar3);
      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    }
    break;
  case 4:
    FUN_0004f990(pbVar9,local_20,0,param_3);
    iVar8 = FUN_0004cb50(0);
    pcVar4 = "set Discriminator to %s\n";
code_r0x00052519:
    pcVar4 = (char *)dcgettext(0,pcVar4,5);
    printf(pcVar4,iVar8);
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x11:
    puts("DW_LNE_HP_negate_is_UV_update");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x12:
    puts("DW_LNE_HP_push_context");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x13:
    puts("DW_LNE_HP_pop_context");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x14:
    puts("DW_LNE_HP_set_file_line_column");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x15:
    puts("DW_LNE_HP_set_routine_name");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x16:
    puts("DW_LNE_HP_set_sequence");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x17:
    puts("DW_LNE_HP_negate_post_semantics");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x18:
    puts("DW_LNE_HP_negate_function_exit");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x19:
    puts("DW_LNE_HP_negate_front_end_logical");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x20:
    puts("DW_LNE_HP_define_proc");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    break;
  case 0x80:
    pbVar6 = pbVar6 + (uVar2 - local_20[0]);
    puts("DW_LNE_HP_source_file_correlation");
    uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    while (pbVar9 < pbVar6) {
      iVar8 = FUN_0004f990(pbVar9,local_20,0,pbVar6);
      pbVar9 = pbVar9 + local_20[0];
      if (iVar8 == 2) {
        FUN_0004f990(pbVar9,local_20,0,pbVar6);
        uVar3 = FUN_0004cb50(0);
        printf("    DW_LNE_HP_SFC_set_listing_line (%s)\n",uVar3);
        pbVar9 = pbVar9 + local_20[0];
      }
      else if (iVar8 == 3) {
        printf("    DW_LNE_HP_SFC_associate ");
        FUN_0004f990(pbVar9,local_20,0,pbVar6);
        uVar3 = FUN_0004cb50(0);
        printf("(%s",uVar3);
        pbVar9 = pbVar9 + local_20[0];
        FUN_0004f990(pbVar9,local_20,0,pbVar6);
        uVar3 = FUN_0004cb50(0);
        printf(",%s",uVar3);
        pbVar9 = pbVar9 + local_20[0];
        FUN_0004f990(pbVar9,local_20,0,pbVar6);
        uVar3 = FUN_0004cb50(0);
        printf(",%s)\n",uVar3);
        pbVar9 = pbVar9 + local_20[0];
      }
      else {
        if (iVar8 != 1) {
          pcVar4 = "    UNKNOWN DW_LNE_HP_SFC opcode (%u)\n";
          goto code_r0x00052519;
        }
        puts("    DW_LNE_HP_SFC_formfeed");
      }
      uVar11 = CONCAT44(DAT_000b9d04,DAT_000b9d00);
    }
  }
  DAT_000b9d04 = (undefined4)((ulonglong)uVar11 >> 0x20);
  DAT_000b9d00 = (undefined4)uVar11;
  return uVar2;
}

