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

int display_debug_macinfo(dwarf_section *section,void *file)

{
  byte bVar1;
  size_t sVar2;
  char *pcVar3;
  dwarf_section *in_ECX;
  byte *pbVar4;
  byte *end;
  dwarf_vma dVar5;
  byte *local_38;
  undefined4 local_34;
  uint bytes_read;
  undefined4 uStack_14;
  
  uStack_14 = 0x52229;
  pbVar4 = section->start;
  end = pbVar4 + (int)section->size;
  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX);
  if (pbVar4 < end) {
    do {
      bVar1 = *pbVar4;
      pbVar4 = pbVar4 + 1;
      if (bVar1 == 3) {
        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);
        local_34 = (undefined4)dVar5;
        pbVar4 = pbVar4 + bytes_read;
        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);
        local_38 = (byte *)dVar5;
        pbVar4 = pbVar4 + bytes_read;
        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";
LAB_000522b5:
        pcVar3 = (char *)dcgettext(0,pcVar3,5);
        printf(pcVar3,local_34,local_38);
      }
      else {
        if (bVar1 < 4) {
          if (bVar1 == 1) {
            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);
            local_34 = (undefined4)dVar5;
            local_38 = pbVar4 + bytes_read;
            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);
            pbVar4 = local_38 + sVar2 + 1;
            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";
          }
          else {
            if (bVar1 != 2) goto LAB_000522d2;
            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);
            local_34 = (undefined4)dVar5;
            local_38 = pbVar4 + bytes_read;
            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);
            pbVar4 = local_38 + sVar2 + 1;
            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";
          }
          goto LAB_000522b5;
        }
        if (bVar1 == 4) {
          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);
          printf(pcVar3);
        }
        else if (bVar1 == 0xff) {
          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);
          local_34 = (undefined4)dVar5;
          local_38 = pbVar4 + bytes_read;
          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);
          pbVar4 = local_38 + sVar2 + 1;
          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";
          goto LAB_000522b5;
        }
      }
LAB_000522d2:
    } while (pbVar4 < end);
  }
  return 1;
}



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

undefined4 FUN_00052220(int param_1)

{
  byte bVar1;
  size_t sVar2;
  char *pcVar3;
  byte *pbVar4;
  byte *pbVar5;
  byte *local_38;
  undefined4 local_34;
  int local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x52229;
  pbVar4 = *(byte **)(param_1 + 0x10);
  pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);
  FUN_0004eb80();
  if (pbVar4 < pbVar5) {
    do {
      bVar1 = *pbVar4;
      pbVar4 = pbVar4 + 1;
      if (bVar1 == 3) {
        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);
        pbVar4 = pbVar4 + local_20[0];
        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);
        pbVar4 = pbVar4 + local_20[0];
        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";
LAB_000522b5:
        pcVar3 = (char *)dcgettext(0,pcVar3,5);
        printf(pcVar3,local_34,local_38);
      }
      else {
        if (bVar1 < 4) {
          if (bVar1 == 1) {
            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);
            local_38 = pbVar4 + local_20[0];
            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);
            pbVar4 = local_38 + sVar2 + 1;
            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";
          }
          else {
            if (bVar1 != 2) goto LAB_000522d2;
            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);
            local_38 = pbVar4 + local_20[0];
            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);
            pbVar4 = local_38 + sVar2 + 1;
            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";
          }
          goto LAB_000522b5;
        }
        if (bVar1 == 4) {
          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);
          printf(pcVar3);
        }
        else if (bVar1 == 0xff) {
          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);
          local_38 = pbVar4 + local_20[0];
          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);
          pbVar4 = local_38 + sVar2 + 1;
          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";
          goto LAB_000522b5;
        }
      }
LAB_000522d2:
    } while (pbVar4 < pbVar5);
  }
  return 1;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00013f70
ADD EBX,0x61dd7
SUB ESP,0x2c
MOV EAX,dword ptr [ESP + 0x40]
MOV ESI,dword ptr [EAX + 0x10]
MOV EDI,dword ptr [EAX + 0x1c]
LEA EDX,[EAX + 0xc]
MOV EAX,dword ptr [EAX + 0x8]
ADD EDI,ESI
CALL 0x0004eb80
CMP ESI,EDI
JNC 0x000522d6
LEA EAX,[EBX + 0xfffdb78c]
LEA EBP,[ESP + 0x1c]
MOV dword ptr [ESP + 0xc],EAX
NOP
MOVZX EAX,byte ptr [ESI]
ADD ESI,0x1
CMP AL,0x3
JZ 0x00052330
JA 0x000522e8
CMP AL,0x1
JZ 0x00052368
CMP AL,0x2
JNZ 0x000522d2
PUSH EDI
PUSH 0x0
PUSH EBP
PUSH ESI
CALL 0x0004f990
MOV EDX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x18],EAX
ADD EDX,ESI
POP ESI
POP EAX
MOV EAX,EDI
SUB EAX,EDX
PUSH EAX
PUSH EDX
MOV dword ptr [ESP + 0x14],EDX
CALL 0x00013310
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0x8]
PUSH 0x5
LEA ESI,[EDX + EAX*0x1 + 0x1]
LEA EAX,[EBX + 0xfffdb7f0]
PUSH EAX
PUSH 0x0
CALL 0x000130f0
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0x8]
PUSH EDX
MOV ECX,dword ptr [ESP + 0x10]
PUSH ECX
PUSH EAX
CALL 0x00013060
ADD ESP,0x10
CMP EDI,ESI
JA 0x00052260
ADD ESP,0x2c
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP AL,0x4
JZ 0x000523a8
CMP AL,0xff
JNZ 0x000522d2
PUSH EDI
PUSH 0x0
PUSH EBP
PUSH ESI
CALL 0x0004f990
ADD ESI,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x18],EAX
POP EAX
MOV EAX,EDI
SUB EAX,ESI
POP ECX
PUSH EAX
PUSH ESI
MOV dword ptr [ESP + 0x14],ESI
CALL 0x00013310
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0x8]
PUSH 0x5
LEA ESI,[EDX + EAX*0x1 + 0x1]
LEA EAX,[EBX + 0xfffdb81c]
JMP 0x000522b4
PUSH EDI
PUSH 0x0
PUSH EBP
PUSH ESI
CALL 0x0004f990
ADD ESI,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x18],EAX
PUSH EDI
PUSH 0x0
PUSH EBP
PUSH ESI
CALL 0x0004f990
ADD ESI,dword ptr [ESP + 0x3c]
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x1c
PUSH 0x5
PUSH dword ptr [ESP + 0x14]
JMP 0x000522b5
PUSH EDI
PUSH 0x0
PUSH EBP
PUSH ESI
CALL 0x0004f990
MOV EDX,dword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x18],EAX
POP EAX
MOV EAX,EDI
ADD EDX,ESI
POP ECX
SUB EAX,EDX
PUSH EAX
PUSH EDX
MOV dword ptr [ESP + 0x14],EDX
CALL 0x00013310
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0x8]
PUSH 0x5
LEA ESI,[EDX + EAX*0x1 + 0x1]
LEA EAX,[EBX + 0xfffdb7c0]
JMP 0x000522b4
SUB ESP,0x4
LEA EAX,[EBX + 0xfffded13]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000130f0
MOV dword ptr [ESP],EAX
CALL 0x00013060
ADD ESP,0x10
JMP 0x000522d2
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00052220(int param_1)\n\n{\n  byte bVar1;\n  size_t sVar2;\n  char *pcVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  byte *local_38;\n  undefined4 local_34;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x52229;\n  pbVar4 = *(byte **)(param_1 + 0x10);\n  pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);\n  FUN_0004eb80();\n  if (pbVar4 < pbVar5) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }\n  return 1;\n}\n\n" comment (function_definition "undefined4 FUN_00052220(int param_1)\n\n{\n  byte bVar1;\n  size_t sVar2;\n  char *pcVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  byte *local_38;\n  undefined4 local_34;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x52229;\n  pbVar4 = *(byte **)(param_1 + 0x10);\n  pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);\n  FUN_0004eb80();\n  if (pbVar4 < pbVar5) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }\n  return 1;\n}" type_identifier (function_declarator "FUN_00052220(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  size_t sVar2;\n  char *pcVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  byte *local_38;\n  undefined4 local_34;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x52229;\n  pbVar4 = *(byte **)(param_1 + 0x10);\n  pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);\n  FUN_0004eb80();\n  if (pbVar4 < pbVar5) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }\n  return 1;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_20 [3];" primitive_type (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x52229;" (assignment_expression "uStack_14 = 0x52229" identifier = number_literal) ;) (expression_statement "pbVar4 = *(byte **)(param_1 + 0x10);" (assignment_expression "pbVar4 = *(byte **)(param_1 + 0x10)" identifier = (pointer_expression "*(byte **)(param_1 + 0x10)" * (cast_expression "(byte **)(param_1 + 0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);" (assignment_expression "pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c)" identifier = (binary_expression "pbVar4 + *(int *)(param_1 + 0x1c)" identifier + (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "FUN_0004eb80();" (call_expression "FUN_0004eb80()" identifier (argument_list "()" ( ))) ;) (if_statement "if (pbVar4 < pbVar5) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }" if (parenthesized_expression "(pbVar4 < pbVar5)" ( (binary_expression "pbVar4 < pbVar5" identifier < identifier) )) (compound_statement "{\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }" { (do_statement "do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);" do (compound_statement "{\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    }" { (expression_statement "bVar1 = *pbVar4;" (assignment_expression "bVar1 = *pbVar4" identifier = (pointer_expression "*pbVar4" * identifier)) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (if_statement "if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" if (parenthesized_expression "(bVar1 == 3)" ( (binary_expression "bVar1 == 3" identifier == number_literal) )) (compound_statement "{\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }" { (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier = (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier (argument_list "(pbVar4,local_20,0,pbVar5)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pbVar4 = pbVar4 + local_20[0];" (assignment_expression "pbVar4 = pbVar4 + local_20[0]" identifier = (binary_expression "pbVar4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier = (cast_expression "(byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier (argument_list "(pbVar4,local_20,0,pbVar5)" ( identifier , identifier , number_literal , identifier ))))) ;) (expression_statement "pbVar4 = pbVar4 + local_20[0];" (assignment_expression "pbVar4 = pbVar4 + local_20[0]" identifier = (binary_expression "pbVar4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";" (assignment_expression "pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n"" identifier = (string_literal "" DW_MACINFO_start_file - lineno: %d filenum: %d\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);" statement_identifier : (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,local_34,local_38);" (call_expression "printf(pcVar3,local_34,local_38)" identifier (argument_list "(pcVar3,local_34,local_38)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" else (compound_statement "{\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" { (if_statement "if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }" if (parenthesized_expression "(bVar1 < 4)" ( (binary_expression "bVar1 < 4" identifier < number_literal) )) (compound_statement "{\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }" { (if_statement "if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" if (parenthesized_expression "(bVar1 == 1)" ( (binary_expression "bVar1 == 1" identifier == number_literal) )) (compound_statement "{\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }" { (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier = (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier (argument_list "(pbVar4,local_20,0,pbVar5)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_38 = pbVar4 + local_20[0];" (assignment_expression "local_38 = pbVar4 + local_20[0]" identifier = (binary_expression "pbVar4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier = (call_expression "strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier (argument_list "((char *)local_38,(int)pbVar5 - (int)local_38)" ( (cast_expression "(char *)local_38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)pbVar5 - (int)local_38" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" identifier = (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACINFO_define - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" else (compound_statement "{\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" { (if_statement "if (bVar1 != 2) goto LAB_000522d2;" if (parenthesized_expression "(bVar1 != 2)" ( (binary_expression "bVar1 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000522d2;" goto statement_identifier ;)) (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier = (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier (argument_list "(pbVar4,local_20,0,pbVar5)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_38 = pbVar4 + local_20[0];" (assignment_expression "local_38 = pbVar4 + local_20[0]" identifier = (binary_expression "pbVar4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier = (call_expression "strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier (argument_list "((char *)local_38,(int)pbVar5 - (int)local_38)" ( (cast_expression "(char *)local_38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)pbVar5 - (int)local_38" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" identifier = (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACINFO_undef - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) }))) (goto_statement "goto LAB_000522b5;" goto statement_identifier ;) })) (if_statement "if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" if (parenthesized_expression "(bVar1 == 4)" ( (binary_expression "bVar1 == 4" identifier == number_literal) )) (compound_statement "{\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }" { (expression_statement "pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACINFO_end_file\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACINFO_end_file\n",5)" identifier (argument_list "(0," DW_MACINFO_end_file\n",5)" ( number_literal , (string_literal "" DW_MACINFO_end_file\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) }) (else_clause "else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" else (if_statement "if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" if (parenthesized_expression "(bVar1 == 0xff)" ( (binary_expression "bVar1 == 0xff" identifier == number_literal) )) (compound_statement "{\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" { (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier = (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier (argument_list "(pbVar4,local_20,0,pbVar5)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_38 = pbVar4 + local_20[0];" (assignment_expression "local_38 = pbVar4 + local_20[0]" identifier = (binary_expression "pbVar4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier = (call_expression "strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier (argument_list "((char *)local_38,(int)pbVar5 - (int)local_38)" ( (cast_expression "(char *)local_38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)pbVar5 - (int)local_38" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" identifier = (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n"" identifier = (string_literal "" DW_MACINFO_vendor_ext - constant : %d string : %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_000522b5;" goto statement_identifier ;) })))) }))) (labeled_statement "LAB_000522d2:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(pbVar4 < pbVar5)" ( (binary_expression "pbVar4 < pbVar5" identifier < identifier) )) ;) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nint display_debug_macinfo(dwarf_section *section,void *file)\n\n{\n  byte bVar1;\n  size_t sVar2;\n  char *pcVar3;\n  dwarf_section *in_ECX;\n  byte *pbVar4;\n  byte *end;\n  dwarf_vma dVar5;\n  byte *local_38;\n  undefined4 local_34;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x52229;\n  pbVar4 = section->start;\n  end = pbVar4 + (int)section->size;\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX);\n  if (pbVar4 < end) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_34 = (undefined4)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_38 = (byte *)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < end);\n  }\n  return 1;\n}\n\n" comment comment (function_definition "int display_debug_macinfo(dwarf_section *section,void *file)\n\n{\n  byte bVar1;\n  size_t sVar2;\n  char *pcVar3;\n  dwarf_section *in_ECX;\n  byte *pbVar4;\n  byte *end;\n  dwarf_vma dVar5;\n  byte *local_38;\n  undefined4 local_34;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x52229;\n  pbVar4 = section->start;\n  end = pbVar4 + (int)section->size;\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX);\n  if (pbVar4 < end) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_34 = (undefined4)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_38 = (byte *)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < end);\n  }\n  return 1;\n}" primitive_type (function_declarator "display_debug_macinfo(dwarf_section *section,void *file)" identifier (parameter_list "(dwarf_section *section,void *file)" ( (parameter_declaration "dwarf_section *section" type_identifier (pointer_declarator "*section" * identifier)) , (parameter_declaration "void *file" primitive_type (pointer_declarator "*file" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  size_t sVar2;\n  char *pcVar3;\n  dwarf_section *in_ECX;\n  byte *pbVar4;\n  byte *end;\n  dwarf_vma dVar5;\n  byte *local_38;\n  undefined4 local_34;\n  uint bytes_read;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x52229;\n  pbVar4 = section->start;\n  end = pbVar4 + (int)section->size;\n  introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX);\n  if (pbVar4 < end) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_34 = (undefined4)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_38 = (byte *)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < end);\n  }\n  return 1;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "dwarf_section *in_ECX;" type_identifier (pointer_declarator "*in_ECX" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "byte *end;" type_identifier (pointer_declarator "*end" * identifier) ;) (declaration "dwarf_vma dVar5;" type_identifier identifier ;) (declaration "byte *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "uint bytes_read;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x52229;" (assignment_expression "uStack_14 = 0x52229" identifier = number_literal) ;) (expression_statement "pbVar4 = section->start;" (assignment_expression "pbVar4 = section->start" identifier = (field_expression "section->start" identifier -> field_identifier)) ;) (expression_statement "end = pbVar4 + (int)section->size;" (assignment_expression "end = pbVar4 + (int)section->size" identifier = (binary_expression "pbVar4 + (int)section->size" identifier + (cast_expression "(int)section->size" ( (type_descriptor "int" primitive_type) ) (field_expression "section->size" identifier -> field_identifier)))) ;) (expression_statement "introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX);" (call_expression "introduce((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX)" identifier (argument_list "((dwarf_section *)section->name,(bfd_boolean)&section->filename,in_ECX)" ( (cast_expression "(dwarf_section *)section->name" ( (type_descriptor "dwarf_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "section->name" identifier -> field_identifier)) , (binary_expression "(bfd_boolean)&section->filename" (parenthesized_expression "(bfd_boolean)" ( identifier )) & (field_expression "section->filename" identifier -> field_identifier)) , identifier ))) ;) (if_statement "if (pbVar4 < end) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_34 = (undefined4)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_38 = (byte *)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < end);\n  }" if (parenthesized_expression "(pbVar4 < end)" ( (binary_expression "pbVar4 < end" identifier < identifier) )) (compound_statement "{\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_34 = (undefined4)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_38 = (byte *)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < end);\n  }" { (do_statement "do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_34 = (undefined4)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_38 = (byte *)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < end);" do (compound_statement "{\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_34 = (undefined4)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_38 = (byte *)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    }" { (expression_statement "bVar1 = *pbVar4;" (assignment_expression "bVar1 = *pbVar4" identifier = (pointer_expression "*pbVar4" * identifier)) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (if_statement "if (bVar1 == 3) {\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_34 = (undefined4)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_38 = (byte *)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" if (parenthesized_expression "(bVar1 == 3)" ( (binary_expression "bVar1 == 3" identifier == number_literal) )) (compound_statement "{\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_34 = (undefined4)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n        local_38 = (byte *)dVar5;\n        pbVar4 = pbVar4 + bytes_read;\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }" { (expression_statement "dVar5 = read_leb128(pbVar4,&bytes_read,0,end);" (assignment_expression "dVar5 = read_leb128(pbVar4,&bytes_read,0,end)" identifier = (call_expression "read_leb128(pbVar4,&bytes_read,0,end)" identifier (argument_list "(pbVar4,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "local_34 = (undefined4)dVar5;" (assignment_expression "local_34 = (undefined4)dVar5" identifier = (cast_expression "(undefined4)dVar5" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "pbVar4 = pbVar4 + bytes_read;" (assignment_expression "pbVar4 = pbVar4 + bytes_read" identifier = (binary_expression "pbVar4 + bytes_read" identifier + identifier)) ;) (expression_statement "dVar5 = read_leb128(pbVar4,&bytes_read,0,end);" (assignment_expression "dVar5 = read_leb128(pbVar4,&bytes_read,0,end)" identifier = (call_expression "read_leb128(pbVar4,&bytes_read,0,end)" identifier (argument_list "(pbVar4,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "local_38 = (byte *)dVar5;" (assignment_expression "local_38 = (byte *)dVar5" identifier = (cast_expression "(byte *)dVar5" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar4 = pbVar4 + bytes_read;" (assignment_expression "pbVar4 = pbVar4 + bytes_read" identifier = (binary_expression "pbVar4 + bytes_read" identifier + identifier)) ;) (expression_statement "pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";" (assignment_expression "pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n"" identifier = (string_literal "" DW_MACINFO_start_file - lineno: %d filenum: %d\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);" statement_identifier : (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,local_34,local_38);" (call_expression "printf(pcVar3,local_34,local_38)" identifier (argument_list "(pcVar3,local_34,local_38)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" else (compound_statement "{\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" { (if_statement "if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }" if (parenthesized_expression "(bVar1 < 4)" ( (binary_expression "bVar1 < 4" identifier < number_literal) )) (compound_statement "{\n          if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }" { (if_statement "if (bVar1 == 1) {\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" if (parenthesized_expression "(bVar1 == 1)" ( (binary_expression "bVar1 == 1" identifier == number_literal) )) (compound_statement "{\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }" { (expression_statement "dVar5 = read_leb128(pbVar4,&bytes_read,0,end);" (assignment_expression "dVar5 = read_leb128(pbVar4,&bytes_read,0,end)" identifier = (call_expression "read_leb128(pbVar4,&bytes_read,0,end)" identifier (argument_list "(pbVar4,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "local_34 = (undefined4)dVar5;" (assignment_expression "local_34 = (undefined4)dVar5" identifier = (cast_expression "(undefined4)dVar5" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "local_38 = pbVar4 + bytes_read;" (assignment_expression "local_38 = pbVar4 + bytes_read" identifier = (binary_expression "pbVar4 + bytes_read" identifier + identifier)) ;) (expression_statement "sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)end - (int)local_38)" identifier = (call_expression "strnlen((char *)local_38,(int)end - (int)local_38)" identifier (argument_list "((char *)local_38,(int)end - (int)local_38)" ( (cast_expression "(char *)local_38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)end - (int)local_38" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" identifier = (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACINFO_define - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" else (compound_statement "{\n            if (bVar1 != 2) goto LAB_000522d2;\n            dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n            local_34 = (undefined4)dVar5;\n            local_38 = pbVar4 + bytes_read;\n            sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" { (if_statement "if (bVar1 != 2) goto LAB_000522d2;" if (parenthesized_expression "(bVar1 != 2)" ( (binary_expression "bVar1 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000522d2;" goto statement_identifier ;)) (expression_statement "dVar5 = read_leb128(pbVar4,&bytes_read,0,end);" (assignment_expression "dVar5 = read_leb128(pbVar4,&bytes_read,0,end)" identifier = (call_expression "read_leb128(pbVar4,&bytes_read,0,end)" identifier (argument_list "(pbVar4,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "local_34 = (undefined4)dVar5;" (assignment_expression "local_34 = (undefined4)dVar5" identifier = (cast_expression "(undefined4)dVar5" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "local_38 = pbVar4 + bytes_read;" (assignment_expression "local_38 = pbVar4 + bytes_read" identifier = (binary_expression "pbVar4 + bytes_read" identifier + identifier)) ;) (expression_statement "sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)end - (int)local_38)" identifier = (call_expression "strnlen((char *)local_38,(int)end - (int)local_38)" identifier (argument_list "((char *)local_38,(int)end - (int)local_38)" ( (cast_expression "(char *)local_38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)end - (int)local_38" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" identifier = (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACINFO_undef - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) }))) (goto_statement "goto LAB_000522b5;" goto statement_identifier ;) })) (if_statement "if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" if (parenthesized_expression "(bVar1 == 4)" ( (binary_expression "bVar1 == 4" identifier == number_literal) )) (compound_statement "{\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }" { (expression_statement "pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACINFO_end_file\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACINFO_end_file\n",5)" identifier (argument_list "(0," DW_MACINFO_end_file\n",5)" ( number_literal , (string_literal "" DW_MACINFO_end_file\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) }) (else_clause "else if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" else (if_statement "if (bVar1 == 0xff) {\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" if (parenthesized_expression "(bVar1 == 0xff)" ( (binary_expression "bVar1 == 0xff" identifier == number_literal) )) (compound_statement "{\n          dVar5 = read_leb128(pbVar4,&bytes_read,0,end);\n          local_34 = (undefined4)dVar5;\n          local_38 = pbVar4 + bytes_read;\n          sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" { (expression_statement "dVar5 = read_leb128(pbVar4,&bytes_read,0,end);" (assignment_expression "dVar5 = read_leb128(pbVar4,&bytes_read,0,end)" identifier = (call_expression "read_leb128(pbVar4,&bytes_read,0,end)" identifier (argument_list "(pbVar4,&bytes_read,0,end)" ( identifier , (pointer_expression "&bytes_read" & identifier) , number_literal , identifier )))) ;) (expression_statement "local_34 = (undefined4)dVar5;" (assignment_expression "local_34 = (undefined4)dVar5" identifier = (cast_expression "(undefined4)dVar5" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "local_38 = pbVar4 + bytes_read;" (assignment_expression "local_38 = pbVar4 + bytes_read" identifier = (binary_expression "pbVar4 + bytes_read" identifier + identifier)) ;) (expression_statement "sVar2 = strnlen((char *)local_38,(int)end - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)end - (int)local_38)" identifier = (call_expression "strnlen((char *)local_38,(int)end - (int)local_38)" identifier (argument_list "((char *)local_38,(int)end - (int)local_38)" ( (cast_expression "(char *)local_38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)end - (int)local_38" (cast_expression "(int)end" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" identifier = (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n"" identifier = (string_literal "" DW_MACINFO_vendor_ext - constant : %d string : %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_000522b5;" goto statement_identifier ;) })))) }))) (labeled_statement "LAB_000522d2:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(pbVar4 < end)" ( (binary_expression "pbVar4 < end" identifier < identifier) )) ;) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "undefined4 FUN_00052220(int param_1)\n\n{\n  byte bVar1;\n  size_t sVar2;\n  char *pcVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  byte *local_38;\n  undefined4 local_34;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x52229;\n  pbVar4 = *(byte **)(param_1 + 0x10);\n  pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);\n  FUN_0004eb80();\n  if (pbVar4 < pbVar5) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }\n  return 1;\n}\n\n" (function_definition "undefined4 FUN_00052220(int param_1)\n\n{\n  byte bVar1;\n  size_t sVar2;\n  char *pcVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  byte *local_38;\n  undefined4 local_34;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x52229;\n  pbVar4 = *(byte **)(param_1 + 0x10);\n  pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);\n  FUN_0004eb80();\n  if (pbVar4 < pbVar5) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }\n  return 1;\n}" type_identifier (function_declarator "FUN_00052220(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  size_t sVar2;\n  char *pcVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  byte *local_38;\n  undefined4 local_34;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x52229;\n  pbVar4 = *(byte **)(param_1 + 0x10);\n  pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);\n  FUN_0004eb80();\n  if (pbVar4 < pbVar5) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }\n  return 1;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "byte *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "int local_20 [3];" primitive_type (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x52229;" (assignment_expression "uStack_14 = 0x52229" identifier = number_literal) ;) (expression_statement "pbVar4 = *(byte **)(param_1 + 0x10);" (assignment_expression "pbVar4 = *(byte **)(param_1 + 0x10)" identifier = (pointer_expression "*(byte **)(param_1 + 0x10)" * (cast_expression "(byte **)(param_1 + 0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);" (assignment_expression "pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c)" identifier = (binary_expression "pbVar4 + *(int *)(param_1 + 0x1c)" identifier + (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))))) ;) (expression_statement "FUN_0004eb80();" (call_expression "FUN_0004eb80()" identifier (argument_list "()" ( ))) ;) (if_statement "if (pbVar4 < pbVar5) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }" if (parenthesized_expression "(pbVar4 < pbVar5)" ( (binary_expression "pbVar4 < pbVar5" identifier < identifier) )) (compound_statement "{\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }" { (do_statement "do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);" do (compound_statement "{\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    }" { (expression_statement "bVar1 = *pbVar4;" (assignment_expression "bVar1 = *pbVar4" identifier = (pointer_expression "*pbVar4" * identifier)) ;) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" identifier = (binary_expression "pbVar4 + 1" identifier + number_literal)) ;) (if_statement "if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" if (parenthesized_expression "(bVar1 == 3)" ( (binary_expression "bVar1 == 3" identifier == number_literal) )) (compound_statement "{\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }" { (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier = (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier (argument_list "(pbVar4,local_20,0,pbVar5)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "pbVar4 = pbVar4 + local_20[0];" (assignment_expression "pbVar4 = pbVar4 + local_20[0]" identifier = (binary_expression "pbVar4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier = (cast_expression "(byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier (argument_list "(pbVar4,local_20,0,pbVar5)" ( identifier , identifier , number_literal , identifier ))))) ;) (expression_statement "pbVar4 = pbVar4 + local_20[0];" (assignment_expression "pbVar4 = pbVar4 + local_20[0]" identifier = (binary_expression "pbVar4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";" (assignment_expression "pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n"" identifier = (string_literal "" DW_MACINFO_start_file - lineno: %d filenum: %d\n"" " string_content escape_sequence ")) ;) (labeled_statement "LAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);" statement_identifier : (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,local_34,local_38);" (call_expression "printf(pcVar3,local_34,local_38)" identifier (argument_list "(pcVar3,local_34,local_38)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" else (compound_statement "{\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" { (if_statement "if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }" if (parenthesized_expression "(bVar1 < 4)" ( (binary_expression "bVar1 < 4" identifier < number_literal) )) (compound_statement "{\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }" { (if_statement "if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" if (parenthesized_expression "(bVar1 == 1)" ( (binary_expression "bVar1 == 1" identifier == number_literal) )) (compound_statement "{\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }" { (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier = (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier (argument_list "(pbVar4,local_20,0,pbVar5)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_38 = pbVar4 + local_20[0];" (assignment_expression "local_38 = pbVar4 + local_20[0]" identifier = (binary_expression "pbVar4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier = (call_expression "strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier (argument_list "((char *)local_38,(int)pbVar5 - (int)local_38)" ( (cast_expression "(char *)local_38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)pbVar5 - (int)local_38" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" identifier = (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACINFO_define - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) }) (else_clause "else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" else (compound_statement "{\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" { (if_statement "if (bVar1 != 2) goto LAB_000522d2;" if (parenthesized_expression "(bVar1 != 2)" ( (binary_expression "bVar1 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000522d2;" goto statement_identifier ;)) (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier = (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier (argument_list "(pbVar4,local_20,0,pbVar5)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_38 = pbVar4 + local_20[0];" (assignment_expression "local_38 = pbVar4 + local_20[0]" identifier = (binary_expression "pbVar4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier = (call_expression "strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier (argument_list "((char *)local_38,(int)pbVar5 - (int)local_38)" ( (cast_expression "(char *)local_38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)pbVar5 - (int)local_38" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" identifier = (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n"" identifier = (string_literal "" DW_MACINFO_undef - lineno : %d macro : %s\n"" " string_content escape_sequence ")) ;) }))) (goto_statement "goto LAB_000522b5;" goto statement_identifier ;) })) (if_statement "if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" if (parenthesized_expression "(bVar1 == 4)" ( (binary_expression "bVar1 == 4" identifier == number_literal) )) (compound_statement "{\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }" { (expression_statement "pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5)" identifier = (cast_expression "(char *)dcgettext(0," DW_MACINFO_end_file\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0," DW_MACINFO_end_file\n",5)" identifier (argument_list "(0," DW_MACINFO_end_file\n",5)" ( number_literal , (string_literal "" DW_MACINFO_end_file\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" identifier (argument_list "(pcVar3)" ( identifier ))) ;) }) (else_clause "else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" else (if_statement "if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" if (parenthesized_expression "(bVar1 == 0xff)" ( (binary_expression "bVar1 == 0xff" identifier == number_literal) )) (compound_statement "{\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" { (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier = (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" identifier (argument_list "(pbVar4,local_20,0,pbVar5)" ( identifier , identifier , number_literal , identifier )))) ;) (expression_statement "local_38 = pbVar4 + local_20[0];" (assignment_expression "local_38 = pbVar4 + local_20[0]" identifier = (binary_expression "pbVar4 + local_20[0]" identifier + (subscript_expression "local_20[0]" identifier [ number_literal ]))) ;) (expression_statement "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier = (call_expression "strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" identifier (argument_list "((char *)local_38,(int)pbVar5 - (int)local_38)" ( (cast_expression "(char *)local_38" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(int)pbVar5 - (int)local_38" (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" identifier = (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n"" identifier = (string_literal "" DW_MACINFO_vendor_ext - constant : %d string : %s\n"" " string_content escape_sequence ")) ;) (goto_statement "goto LAB_000522b5;" goto statement_identifier ;) })))) }))) (labeled_statement "LAB_000522d2:" statement_identifier : (expression_statement "" ;)) }) while (parenthesized_expression "(pbVar4 < pbVar5)" ( (binary_expression "pbVar4 < pbVar5" identifier < identifier) )) ;) })) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (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 , IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 ]))) ;) (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 (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (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 (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 ]))) ;) (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 (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (goto_statement goto statement_identifier ;) })))) }))) (labeled_statement statement_identifier : (expression_statement ;)) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_00052220(int param_1)\n\n{\n  byte bVar1;\n  size_t sVar2;\n  char *pcVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  byte *local_38;\n  undefined4 local_34;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x52229;\n  pbVar4 = *(byte **)(param_1 + 0x10);\n  pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);\n  FUN_0004eb80();\n  if (pbVar4 < pbVar5) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }\n  return 1;\n}" (type_identifier "undefined4") (function_declarator "FUN_00052220(int param_1)" (identifier "FUN_00052220") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  byte bVar1;\n  size_t sVar2;\n  char *pcVar3;\n  byte *pbVar4;\n  byte *pbVar5;\n  byte *local_38;\n  undefined4 local_34;\n  int local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x52229;\n  pbVar4 = *(byte **)(param_1 + 0x10);\n  pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);\n  FUN_0004eb80();\n  if (pbVar4 < pbVar5) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }\n  return 1;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "size_t sVar2;" (primitive_type "size_t") (identifier "sVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "byte *pbVar4;" (type_identifier "byte") (pointer_declarator "*pbVar4" (* "*") (identifier "pbVar4")) (; ";")) (declaration "byte *pbVar5;" (type_identifier "byte") (pointer_declarator "*pbVar5" (* "*") (identifier "pbVar5")) (; ";")) (declaration "byte *local_38;" (type_identifier "byte") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "int local_20 [3];" (primitive_type "int") (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 = 0x52229;" (assignment_expression "uStack_14 = 0x52229" (identifier "uStack_14") (= "=") (number_literal "0x52229")) (; ";")) (expression_statement "pbVar4 = *(byte **)(param_1 + 0x10);" (assignment_expression "pbVar4 = *(byte **)(param_1 + 0x10)" (identifier "pbVar4") (= "=") (pointer_expression "*(byte **)(param_1 + 0x10)" (* "*") (cast_expression "(byte **)(param_1 + 0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);" (assignment_expression "pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c)" (identifier "pbVar5") (= "=") (binary_expression "pbVar4 + *(int *)(param_1 + 0x1c)" (identifier "pbVar4") (+ "+") (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))))) (; ";")) (expression_statement "FUN_0004eb80();" (call_expression "FUN_0004eb80()" (identifier "FUN_0004eb80") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (pbVar4 < pbVar5) {\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }" (if "if") (parenthesized_expression "(pbVar4 < pbVar5)" (( "(") (binary_expression "pbVar4 < pbVar5" (identifier "pbVar4") (< "<") (identifier "pbVar5")) () ")")) (compound_statement "{\n    do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);\n  }" ({ "{") (do_statement "do {\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    } while (pbVar4 < pbVar5);" (do "do") (compound_statement "{\n      bVar1 = *pbVar4;\n      pbVar4 = pbVar4 + 1;\n      if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }\nLAB_000522d2:\n    }" ({ "{") (expression_statement "bVar1 = *pbVar4;" (assignment_expression "bVar1 = *pbVar4" (identifier "bVar1") (= "=") (pointer_expression "*pbVar4" (* "*") (identifier "pbVar4"))) (; ";")) (expression_statement "pbVar4 = pbVar4 + 1;" (assignment_expression "pbVar4 = pbVar4 + 1" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + 1" (identifier "pbVar4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar1 == 3) {\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }\n      else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" (if "if") (parenthesized_expression "(bVar1 == 3)" (( "(") (binary_expression "bVar1 == 3" (identifier "bVar1") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);\n        pbVar4 = pbVar4 + local_20[0];\n        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";\nLAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);\n        printf(pcVar3,local_34,local_38);\n      }" ({ "{") (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" (identifier "local_34") (= "=") (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" (identifier "FUN_0004f990") (argument_list "(pbVar4,local_20,0,pbVar5)" (( "(") (identifier "pbVar4") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "pbVar5") () ")")))) (; ";")) (expression_statement "pbVar4 = pbVar4 + local_20[0];" (assignment_expression "pbVar4 = pbVar4 + local_20[0]" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + local_20[0]" (identifier "pbVar4") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5)" (identifier "local_38") (= "=") (cast_expression "(byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" (identifier "FUN_0004f990") (argument_list "(pbVar4,local_20,0,pbVar5)" (( "(") (identifier "pbVar4") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "pbVar5") () ")"))))) (; ";")) (expression_statement "pbVar4 = pbVar4 + local_20[0];" (assignment_expression "pbVar4 = pbVar4 + local_20[0]" (identifier "pbVar4") (= "=") (binary_expression "pbVar4 + local_20[0]" (identifier "pbVar4") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";" (assignment_expression "pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n"" (identifier "pcVar3") (= "=") (string_literal "" DW_MACINFO_start_file - lineno: %d filenum: %d\n"" (" """) (string_content " DW_MACINFO_start_file - lineno: %d filenum: %d") (escape_sequence "\n") (" """))) (; ";")) (labeled_statement "LAB_000522b5:\n        pcVar3 = (char *)dcgettext(0,pcVar3,5);" (statement_identifier "LAB_000522b5") (: ":") (expression_statement "pcVar3 = (char *)dcgettext(0,pcVar3,5);" (assignment_expression "pcVar3 = (char *)dcgettext(0,pcVar3,5)" (identifier "pcVar3") (= "=") (cast_expression "(char *)dcgettext(0,pcVar3,5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0,pcVar3,5)" (identifier "dcgettext") (argument_list "(0,pcVar3,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar3") (, ",") (number_literal "5") () ")"))))) (; ";"))) (expression_statement "printf(pcVar3,local_34,local_38);" (call_expression "printf(pcVar3,local_34,local_38)" (identifier "printf") (argument_list "(pcVar3,local_34,local_38)" (( "(") (identifier "pcVar3") (, ",") (identifier "local_34") (, ",") (identifier "local_38") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" (else "else") (compound_statement "{\n        if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }\n        if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }\n      }" ({ "{") (if_statement "if (bVar1 < 4) {\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }" (if "if") (parenthesized_expression "(bVar1 < 4)" (( "(") (binary_expression "bVar1 < 4" (identifier "bVar1") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n          if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }\n          goto LAB_000522b5;\n        }" ({ "{") (if_statement "if (bVar1 == 1) {\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }\n          else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" (if "if") (parenthesized_expression "(bVar1 == 1)" (( "(") (binary_expression "bVar1 == 1" (identifier "bVar1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";\n          }" ({ "{") (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" (identifier "local_34") (= "=") (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" (identifier "FUN_0004f990") (argument_list "(pbVar4,local_20,0,pbVar5)" (( "(") (identifier "pbVar4") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "pbVar5") () ")")))) (; ";")) (expression_statement "local_38 = pbVar4 + local_20[0];" (assignment_expression "local_38 = pbVar4 + local_20[0]" (identifier "local_38") (= "=") (binary_expression "pbVar4 + local_20[0]" (identifier "pbVar4") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" (identifier "sVar2") (= "=") (call_expression "strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" (identifier "strnlen") (argument_list "((char *)local_38,(int)pbVar5 - (int)local_38)" (( "(") (cast_expression "(char *)local_38" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_38")) (, ",") (binary_expression "(int)pbVar5 - (int)local_38" (cast_expression "(int)pbVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar5")) (- "-") (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38"))) () ")")))) (; ";")) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" (identifier "pbVar4") (= "=") (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" (identifier "local_38") (+ "+") (identifier "sVar2")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n"" (identifier "pcVar3") (= "=") (string_literal "" DW_MACINFO_define - lineno : %d macro : %s\n"" (" """) (string_content " DW_MACINFO_define - lineno : %d macro : %s") (escape_sequence "\n") (" """))) (; ";")) (} "}")) (else_clause "else {\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" (else "else") (compound_statement "{\n            if (bVar1 != 2) goto LAB_000522d2;\n            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n            local_38 = pbVar4 + local_20[0];\n            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n            pbVar4 = local_38 + sVar2 + 1;\n            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";\n          }" ({ "{") (if_statement "if (bVar1 != 2) goto LAB_000522d2;" (if "if") (parenthesized_expression "(bVar1 != 2)" (( "(") (binary_expression "bVar1 != 2" (identifier "bVar1") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_000522d2;" (goto "goto") (statement_identifier "LAB_000522d2") (; ";"))) (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" (identifier "local_34") (= "=") (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" (identifier "FUN_0004f990") (argument_list "(pbVar4,local_20,0,pbVar5)" (( "(") (identifier "pbVar4") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "pbVar5") () ")")))) (; ";")) (expression_statement "local_38 = pbVar4 + local_20[0];" (assignment_expression "local_38 = pbVar4 + local_20[0]" (identifier "local_38") (= "=") (binary_expression "pbVar4 + local_20[0]" (identifier "pbVar4") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" (identifier "sVar2") (= "=") (call_expression "strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" (identifier "strnlen") (argument_list "((char *)local_38,(int)pbVar5 - (int)local_38)" (( "(") (cast_expression "(char *)local_38" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_38")) (, ",") (binary_expression "(int)pbVar5 - (int)local_38" (cast_expression "(int)pbVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar5")) (- "-") (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38"))) () ")")))) (; ";")) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" (identifier "pbVar4") (= "=") (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" (identifier "local_38") (+ "+") (identifier "sVar2")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n"" (identifier "pcVar3") (= "=") (string_literal "" DW_MACINFO_undef - lineno : %d macro : %s\n"" (" """) (string_content " DW_MACINFO_undef - lineno : %d macro : %s") (escape_sequence "\n") (" """))) (; ";")) (} "}")))) (goto_statement "goto LAB_000522b5;" (goto "goto") (statement_identifier "LAB_000522b5") (; ";")) (} "}"))) (if_statement "if (bVar1 == 4) {\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }\n        else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" (if "if") (parenthesized_expression "(bVar1 == 4)" (( "(") (binary_expression "bVar1 == 4" (identifier "bVar1") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);\n          printf(pcVar3);\n        }" ({ "{") (expression_statement "pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);" (assignment_expression "pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5)" (identifier "pcVar3") (= "=") (cast_expression "(char *)dcgettext(0," DW_MACINFO_end_file\n",5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "dcgettext(0," DW_MACINFO_end_file\n",5)" (identifier "dcgettext") (argument_list "(0," DW_MACINFO_end_file\n",5)" (( "(") (number_literal "0") (, ",") (string_literal "" DW_MACINFO_end_file\n"" (" """) (string_content " DW_MACINFO_end_file") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")"))))) (; ";")) (expression_statement "printf(pcVar3);" (call_expression "printf(pcVar3)" (identifier "printf") (argument_list "(pcVar3)" (( "(") (identifier "pcVar3") () ")"))) (; ";")) (} "}")) (else_clause "else if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" (else "else") (if_statement "if (bVar1 == 0xff) {\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" (if "if") (parenthesized_expression "(bVar1 == 0xff)" (( "(") (binary_expression "bVar1 == 0xff" (identifier "bVar1") (== "==") (number_literal "0xff")) () ")")) (compound_statement "{\n          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);\n          local_38 = pbVar4 + local_20[0];\n          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);\n          pbVar4 = local_38 + sVar2 + 1;\n          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";\n          goto LAB_000522b5;\n        }" ({ "{") (expression_statement "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);" (assignment_expression "local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5)" (identifier "local_34") (= "=") (call_expression "FUN_0004f990(pbVar4,local_20,0,pbVar5)" (identifier "FUN_0004f990") (argument_list "(pbVar4,local_20,0,pbVar5)" (( "(") (identifier "pbVar4") (, ",") (identifier "local_20") (, ",") (number_literal "0") (, ",") (identifier "pbVar5") () ")")))) (; ";")) (expression_statement "local_38 = pbVar4 + local_20[0];" (assignment_expression "local_38 = pbVar4 + local_20[0]" (identifier "local_38") (= "=") (binary_expression "pbVar4 + local_20[0]" (identifier "pbVar4") (+ "+") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);" (assignment_expression "sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" (identifier "sVar2") (= "=") (call_expression "strnlen((char *)local_38,(int)pbVar5 - (int)local_38)" (identifier "strnlen") (argument_list "((char *)local_38,(int)pbVar5 - (int)local_38)" (( "(") (cast_expression "(char *)local_38" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_38")) (, ",") (binary_expression "(int)pbVar5 - (int)local_38" (cast_expression "(int)pbVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar5")) (- "-") (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38"))) () ")")))) (; ";")) (expression_statement "pbVar4 = local_38 + sVar2 + 1;" (assignment_expression "pbVar4 = local_38 + sVar2 + 1" (identifier "pbVar4") (= "=") (binary_expression "local_38 + sVar2 + 1" (binary_expression "local_38 + sVar2" (identifier "local_38") (+ "+") (identifier "sVar2")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";" (assignment_expression "pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n"" (identifier "pcVar3") (= "=") (string_literal "" DW_MACINFO_vendor_ext - constant : %d string : %s\n"" (" """) (string_content " DW_MACINFO_vendor_ext - constant : %d string : %s") (escape_sequence "\n") (" """))) (; ";")) (goto_statement "goto LAB_000522b5;" (goto "goto") (statement_identifier "LAB_000522b5") (; ";")) (} "}"))))) (} "}")))) (labeled_statement "LAB_000522d2:" (statement_identifier "LAB_000522d2") (: ":") (expression_statement "" (; ""))) (} "}")) (while "while") (parenthesized_expression "(pbVar4 < pbVar5)" (( "(") (binary_expression "pbVar4 < pbVar5" (identifier "pbVar4") (< "<") (identifier "pbVar5")) () ")")) (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

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

int function_1(type_1 *section,void *file)

{
  type_2 var_4;
  size_t var_11;
  char *pcVar3;
  type_1 *in_ECX;
  type_2 *var_1;
  type_2 *var_3;
  type_3 dVar5;
  type_2 *var_10;
  type_4 local_34;
  type_5 var_6;
  type_4 uStack_14;
  
  uStack_14 = 0x52229;
  var_1 = section->start;
  var_3 = var_1 + (int)section->size;
  var_2((type_1 *)section->name,(bfd_boolean)&section->filename,in_ECX);
  if (var_1 < var_3) {
    do {
      var_4 = *var_1;
      var_1 = var_1 + 1;
      if (var_4 == 3) {
        dVar5 = var_5(var_1,&var_6,0,var_3);
        local_34 = (type_4)dVar5;
        var_1 = var_1 + var_6;
        dVar5 = var_5(var_1,&var_6,0,var_3);
        var_10 = (type_2 *)dVar5;
        var_1 = var_1 + var_6;
        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";
LAB_000522b5:
        pcVar3 = (char *)var_7(0,pcVar3,5);
        var_8(pcVar3,local_34,var_10);
      }
      else {
        if (var_4 < 4) {
          if (var_4 == 1) {
            dVar5 = var_5(var_1,&var_6,0,var_3);
            local_34 = (type_4)dVar5;
            var_10 = var_1 + var_6;
            var_11 = var_9((char *)var_10,(int)var_3 - (int)var_10);
            var_1 = var_10 + var_11 + 1;
            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";
          }
          else {
            if (var_4 != 2) goto LAB_000522d2;
            dVar5 = var_5(var_1,&var_6,0,var_3);
            local_34 = (type_4)dVar5;
            var_10 = var_1 + var_6;
            var_11 = var_9((char *)var_10,(int)var_3 - (int)var_10);
            var_1 = var_10 + var_11 + 1;
            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";
          }
          goto LAB_000522b5;
        }
        if (var_4 == 4) {
          pcVar3 = (char *)var_7(0," DW_MACINFO_end_file\n",5);
          var_8(pcVar3);
        }
        else if (var_4 == 0xff) {
          dVar5 = var_5(var_1,&var_6,0,var_3);
          local_34 = (type_4)dVar5;
          var_10 = var_1 + var_6;
          var_11 = var_9((char *)var_10,(int)var_3 - (int)var_10);
          var_1 = var_10 + var_11 + 1;
          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";
          goto LAB_000522b5;
        }
      }
LAB_000522d2:
    } while (var_1 < var_3);
  }
  return 1;
}


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

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

undefined4 MASKED(int param_1)

{
  byte bVar1;
  size_t sVar2;
  char *pcVar3;
  byte *pbVar4;
  byte *pbVar5;
  byte *local_38;
  undefined4 local_34;
  int local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x52229;
  pbVar4 = *(byte **)(param_1 + 0x10);
  pbVar5 = pbVar4 + *(int *)(param_1 + 0x1c);
  FUN_0004eb80();
  if (pbVar4 < pbVar5) {
    do {
      bVar1 = *pbVar4;
      pbVar4 = pbVar4 + 1;
      if (bVar1 == 3) {
        local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);
        pbVar4 = pbVar4 + local_20[0];
        local_38 = (byte *)FUN_0004f990(pbVar4,local_20,0,pbVar5);
        pbVar4 = pbVar4 + local_20[0];
        pcVar3 = " DW_MACINFO_start_file - lineno: %d filenum: %d\n";
LAB_000522b5:
        pcVar3 = (char *)dcgettext(0,pcVar3,5);
        printf(pcVar3,local_34,local_38);
      }
      else {
        if (bVar1 < 4) {
          if (bVar1 == 1) {
            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);
            local_38 = pbVar4 + local_20[0];
            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);
            pbVar4 = local_38 + sVar2 + 1;
            pcVar3 = " DW_MACINFO_define - lineno : %d macro : %s\n";
          }
          else {
            if (bVar1 != 2) goto LAB_000522d2;
            local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);
            local_38 = pbVar4 + local_20[0];
            sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);
            pbVar4 = local_38 + sVar2 + 1;
            pcVar3 = " DW_MACINFO_undef - lineno : %d macro : %s\n";
          }
          goto LAB_000522b5;
        }
        if (bVar1 == 4) {
          pcVar3 = (char *)dcgettext(0," DW_MACINFO_end_file\n",5);
          printf(pcVar3);
        }
        else if (bVar1 == 0xff) {
          local_34 = FUN_0004f990(pbVar4,local_20,0,pbVar5);
          local_38 = pbVar4 + local_20[0];
          sVar2 = strnlen((char *)local_38,(int)pbVar5 - (int)local_38);
          pbVar4 = local_38 + sVar2 + 1;
          pcVar3 = " DW_MACINFO_vendor_ext - constant : %d string : %s\n";
          goto LAB_000522b5;
        }
      }
LAB_000522d2:
    } while (pbVar4 < pbVar5);
  }
  return 1;
}

